@convur/utils-composite v0.9.1
@jumpn/utils-composite
Composite utilities (immutability, fp helpers)
NOTE: All the functions described in API are curried
Installation
Using npm
$ npm install --save @jumpn/utils-compositeUsing yarn
$ yarn add @jumpn/utils-compositeTypes
type Composite = Array<*> | Object;
type Key = number | string;
type Path = Array<Key>;API
get
Get property value of given key.
Parameters
keyKeycompositeComposite
Returns any
getIn
Returns value located at the given path or undefined otherwise.
Parameters
pathPathcompositeComposite
Returns any
getKeys
Get own enumerable keys.
Parameters
compositeComposite
Returns Array<Key>
hasIn
Returns true if value located at given path is deeply equal to the one specified.
Parameters
pathPathvalueanycompositeComposite
Returns boolean
hasKey
Returns true if key is included in composite's own enumerable ones, or false otherwise.
Parameters
keyKeycompositeComposite
Returns boolean
haveSameProps
Returns true if both composites have the same props or false otherwise.
Parameters
c1Compositec2Composite
Returns boolean
is
Returns true if parameter is a Composite or false otherwise
Parameters
thingany
isEmpty
Returns true if composite has no own enumerable keys (is empty) or false otherwise
Parameters
compositeComposite
Returns boolean
map
Maps values of the given composite using mapper
Parameters
mapperfunction (value: any, key: Key, composite: $Supertype<C>): anycompositeC
Returns $Supertype<C>
remove
Returns a new composite with the result of having removed the property with the given key.
Parameters
keyKeycompositeComposite
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
pathPathcompositeComposite
Returns Composite
set
Returns a new composite with the result of having updated the property with the given key with the specified value.
Parameters
keyKeyvalueanycompositeComposite
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
pathPathvalueanycompositeComposite
Returns Composite
shallowCopy
Returns a new composite with the same own enumerable props of the one given.
Parameters
compositeC
Returns C
shallowEqual
Returns true if both composites are of the same type (Array or Object) and their properties are strictly equal.
Parameters
c1Compositec2Composite
Returns boolean
toUndefinedIfEmpty
Returns given composite if it has any own enumerable keys (is not empty) or undefined otherwise
Parameters
compositeComposite
Returns Composite
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
pathPathupdaterfunction (prev: any): anycompositeComposite
Returns Composite
License
MIT :copyright: Jumpn Limited / Mauro Titimoli (mauro@jumpn.com)
4 years ago