@jumpn/utils-composite
Composite utilities (immutability, fp helpers)
NOTE: All the functions described in API are curried
Installation
$ npm install --save @jumpn/utils-composite
$ yarn add @jumpn/utils-composite
Types
type Composite = Array<*> | Object;
type Key = number | string;
type Path = Array<Key>;
API
get
Get property value of given key.
Parameters
key
Keycomposite
Composite
Returns any
getIn
Returns value located at the given path or undefined otherwise.
Parameters
path
Pathcomposite
Composite
Returns any
getKeys
Get own enumerable keys.
Parameters
Returns Array<Key>
hasIn
Returns true if value located at given path is strictly equal to the one
specified.
Parameters
path
Pathvalue
anycomposite
Composite
Returns boolean
hasKey
Returns true if key is included in composite's own enumerable ones,
or false otherwise.
Parameters
key
Keycomposite
Composite
Returns boolean
haveSameProps
Returns true if both composites have the same props or false otherwise.
Parameters
Returns boolean
remove
Returns a new composite with the result of having removed the property with
the given key.
Parameters
key
Keycomposite
Composite
Returns Composite
removeIn
Returns a new composite with the result of having removed the property
located at the given path.
(This does the same as calling updateIn with updater:
() => updateIn.remove
)
Parameters
path
Pathcomposite
Composite
Returns Composite
set
Returns a new composite with the result of having updated the property with
the given key with the specified value.
Parameters
key
Keyvalue
anycomposite
Composite
Returns Composite
setIn
Returns a new composite with the result of having updated the property
located at the given path with the specified value.
(This does the same as calling updateIn with updater: () => value
)
Parameters
path
Pathvalue
anycomposite
Composite
Returns Composite
shallowCopy
Returns a new composite with the same own enumerable props of the one given.
Parameters
Returns C
shallowEqual
Returns true if both composites are of the same type (Array or Object) and
their properties are strictly equal.
Parameters
Returns boolean
updateIn
Returns a new composite with the result of having updated the property value
at the given path with the result of the call to updater function.
Entry removal is supported by returning updateIn.remove
symbol on updater
function.
Parameters
path
Pathupdater
function (prev: any): anycomposite
Composite
Returns Composite
License
MIT :copyright: Jumpn Limited / Mauro Titimoli (mauro@jumpn.com)