Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Optional<ValueT>

Type Parameters

  • ValueT

Hierarchy

Index

Constructors

  • new Optional<ValueT>(_success: boolean, _value: undefined | null | ValueT): Optional<ValueT>

Properties

_success: boolean
_value: undefined | null | ValueT

Methods

  • catch<NewErrorT>(mapping: (() => ValueT)): Optional<ValueT>
  • If None() replace it with a value

    Type Parameters

    • NewErrorT

    Parameters

    • mapping: (() => ValueT)
        • (): ValueT
        • Returns ValueT

    Returns Optional<ValueT>

  • map<B>(mapping: ((value: ValueT) => B)): Optional<B>
  • If a value is held, this uses the mapping function to transform it, and returns Optional otherwise, it returns None()

    Type Parameters

    • B

    Parameters

    • mapping: ((value: ValueT) => B)
        • (value: ValueT): B
        • Parameters

          • value: ValueT

          Returns B

    Returns Optional<B>

  • or<B>(defaultValue: B): ValueT | B
  • Returns the value is defined, otherwise it returns defaultValue

    Type Parameters

    • B

    Parameters

    • defaultValue: B

    Returns ValueT | B

  • If a value is held the mapping is preformed on it, otherwise None() is returned. If you want to just transform ValueT to a new Value, use .map

    Type Parameters

    • B

    Parameters

    Returns Optional<B>

  • unwrap(): ValueT
  • Returns the value if Some(), otherwise it throws a reference error. This is the nuclear option, .or(default) should be preferred.

    Returns ValueT

  • liftToApplicative<A, B, C, App>(fn: ((value: A) => ((value: B) => C))): ((a: CallHKT<App, A>) => ((b: CallHKT<App, B>) => CallHKT<App, C>))
  • wrap<FnT>(fn: FnT): ((...args: Parameters<FnT>) => Optional<NonNullable<ReturnType<FnT>>>)
  • Used to wrap a function that can potentially return null or undefined in a safe wrapper

    const safeQuerySelector = Optional.wrap(document.querySelector)
    

    Type Parameters

    • FnT extends ((...args: any[]) => any)

    Parameters

    • fn: FnT

    Returns ((...args: Parameters<FnT>) => Optional<NonNullable<ReturnType<FnT>>>)

      • (...args: Parameters<FnT>): Optional<NonNullable<ReturnType<FnT>>>
      • Parameters

        • Rest ...args: Parameters<FnT>

        Returns Optional<NonNullable<ReturnType<FnT>>>

Generated using TypeDoc