mona-dish
    Preparing search index...

    Class Optional<T>

    optional implementation, an optional is basically an implementation of a Monad with additional syntactic sugar on top (Side - effect free, since value assignment is not allowed)

    Type Parameters

    • T

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    absent: Optional<any> = ...

    Accessors

    Methods

    • convenience function to flatmap the internal value and replace it with a default in case of being absent

      Type Parameters

      • R

      Parameters

      • defaultVal: any = Optional.absent

      Returns Optional<R>

    • additional syntactic sugar which is not part of the usual optional implementation but makes life easier, if you want to sacrifice typesafety and refactoring capabilities in typescript

      Type Parameters

      • R

      Parameters

      • key: string

      Returns Optional<R>

    • any value present

      Parameters

      • OptionalpresentRunnable: (val?: Optional<T>) => void

      Returns boolean

    • Type Parameters

      • R

      Parameters

      • Optionalfn: (data: T | null | undefined) => R

      Returns Monad<R>

    • simple match, if the first order function call returns true then there is a match, if the value is not present it never matches

      Parameters

      • fn: (item: T) => boolean

        the first order function performing the match

      Returns boolean

    • lazy, passes a function which then is lazily evaluated instead of a direct value

      Parameters

      • func: () => any

      Returns Optional<any>

    • elvis like typesafe functional save resolver a typesafe option for getIfPresent

      usage myOptional.resolve(value => value.subAttr.subAttr2).orElseLazy(....) if this is resolvable without any errors an Optional with the value is returned if not, then an Optional absent is returned, also if you return Optional absent it is flatmapped into absent

      Type Parameters

      • V

      Parameters

      • resolver: (item: T) => V

        the resolver function, can throw any arbitrary errors, int the error case the resolution goes towards absent

      Returns Optional<V>