ts-maybe-monad
v1.2.2
Published
TypeScript maybe monad for reaching child fields inside complicated objects.
Downloads
15
Maintainers
Readme
ts-maybe-monad
TypeScript maybe monad for reaching child fields inside complicated objects.
Glossary
- Usage
- Documentation
- maybe function
- MaybeInstance class
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 indefaultValue
: default value returns if instance isnull
orundefined
Returns existed value or default one
maybe(instance, ...accessors[], defaultValue)
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
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 isnull
orundefined
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 instancedefaultValue
: default value returns if instance isnull
orundefined
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