TypeScript maybe monad for reaching child fields inside complicated objects.
- Usage
- Documentation
- maybe function
- MaybeInstance class
npm install ts-maybe-monad
import { maybe } from 'ts-maybe-monad';
const variable: number = 1;
maybe(variable, 0); //=> 1
const variable: number | undefined = undefined;
maybe(variable, 0); //=> 0
const instance = {
numberField: 1,
undefinedField: undefined,
};
maybe(instance, x => x.numberField, 0); //=> 1
maybe(instance, x => x.undefinedField, 0); //=> 0
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
Overwrites:
instance
: instance to dive in
Returns MaybeInstance object
instance
: instance to dive indefaultValue
: default value returns if instance isnull
orundefined
Returns existed value or default one
instance
: instance to dive inaccessors
: array of accessors to dive into child field of parent instancedefaultValue
: default value returns if last accessor returnsnull
orundefined
Returns existed value or default one
Wrapper over instance in order to return it's value or child fild's value through accessor.
Methods:
Dives in child field
accessor
: array of accessor to dive into child field of parent instance
Returns MaybeInstance object
defaultValue
: default value returns if instance isnull
orundefined
Returns existed value or default one
accessors
: an accessors to dive into child field from wrapped instance
Returns existed value or undefined
accessor
: an accessor to dive into child field from wrapped instancedefaultValue
: default value returns if instance isnull
orundefined
Returns existed value or default one
Do anything with child item if it's reachable
accessor
: an accessor to dive into child field from wrapped instance
Returns none