Wondering what’s next for npm?Check out our public roadmap! »

    ts-maybe-monad
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.2 • Public • Published

    ts-maybe-monad

    TypeScript maybe monad for reaching child fields inside complicated objects.

    Glossary

    Usage

    Installation:

    npm install ts-maybe-monad
    

    Import

    import { maybe } from 'ts-maybe-monad';

    Simple variable

    const variable: number = 1;
    maybe(variable, 0); //=> 1
     
    const variable: number | undefined = undefined;
    maybe(variable, 0); //=> 0

    Depth 1: get inner field

    const instance = {
        numberField: 1,
        undefinedField: undefined,
    };
     
    maybe(instance, x => x.numberField, 0); //=> 1
    maybe(instance, x => x.undefinedField, 0); //=> 0

    Depth 2: get inner field

    const instance = {
        child: {
            numberField: 1,
            undefinedField: undefined,
        },
    };
     
    maybe(instance, x => x.child, x => x.numberField, 0); //=> 1
    maybe(instance, x => x.child, x => x.undefinedField, 0); //=> 0

    Documantation

    maybe function

    Overwrites:

    maybe(instance): MaybeInstance

    • instance: instance to dive in

    Returns MaybeInstance object

    maybe(instance, defaultValue)

    • instance: instance to dive in
    • defaultValue: default value returns if instance is null or undefined

    Returns existed value or default one

    maybe(instance, ...accessors[], defaultValue)

    • instance: instance to dive in
    • accessors: array of accessors to dive into child field of parent instance
    • defaultValue: default value returns if last accessor returns null or undefined

    Returns existed value or default one

    MaybeInstance class

    Wrapper over instance in order to return it's value or child fild's value through accessor.

    Methods:

    with(accessor): MaybeInstance

    Dives in child field

    • accessor: array of accessor to dive into child field of parent instance

    Returns MaybeInstance object

    return(defaultValue)

    • defaultValue: default value returns if instance is null or undefined

    Returns existed value or default one

    return(accessor)

    • accessors: an accessors to dive into child field from wrapped instance

    Returns existed value or undefined

    return(accessor, defaultValue)

    • accessor: an accessor to dive into child field from wrapped instance
    • defaultValue: default value returns if instance is null or undefined

    Returns existed value or default one

    do(accessor)

    Do anything with child item if it's reachable

    • accessor: an accessor to dive into child field from wrapped instance

    Returns none

    Install

    npm i ts-maybe-monad

    DownloadsWeekly Downloads

    72

    Version

    1.2.2

    License

    MIT

    Unpacked Size

    17.9 kB

    Total Files

    15

    Last publish

    Collaborators

    • avatar