@jumpn/utils-composite
Composite utilities (immutability, fp helpers)
NOTE: All the functions described in API are curried
- Installation
- Types
- API
- License
Installation
npm
Using$ npm install --save @jumpn/utils-composite
yarn
Using$ 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
Key -
composite
Composite
Returns any
getIn
Returns value located at the given path or undefined otherwise.
Parameters
-
path
Path -
composite
Composite
Returns any
getKeys
Get own enumerable keys.
Parameters
-
composite
Composite
Returns Array<Key>
hasIn
Returns true if value located at given path is deeply equal to the one specified.
Parameters
-
path
Path -
value
any -
composite
Composite
Returns boolean
hasKey
Returns true if key is included in composite's own enumerable ones, or false otherwise.
Parameters
-
key
Key -
composite
Composite
Returns boolean
haveSameProps
Returns true if both composites have the same props or false otherwise.
Parameters
-
c1
Composite -
c2
Composite
Returns boolean
is
Returns true if parameter is a Composite or false otherwise
Parameters
-
thing
any
isEmpty
Returns true if composite has no own enumerable keys (is empty) or false otherwise
Parameters
-
composite
Composite
Returns boolean
map
Maps values of the given composite using mapper
Parameters
-
mapper
function (value: any, key: Key, composite: $Supertype<C>): any -
composite
C
Returns $Supertype<C>
remove
Returns a new composite with the result of having removed the property with the given key.
Parameters
-
key
Key -
composite
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
Path -
composite
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
Key -
value
any -
composite
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
Path -
value
any -
composite
Composite
Returns Composite
shallowCopy
Returns a new composite with the same own enumerable props of the one given.
Parameters
-
composite
C
Returns C
shallowEqual
Returns true if both composites are of the same type (Array or Object) and their properties are strictly equal.
Parameters
-
c1
Composite -
c2
Composite
Returns boolean
toUndefinedIfEmpty
Returns given composite if it has any own enumerable keys (is not empty) or undefined otherwise
Parameters
-
composite
Composite
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
-
path
Path -
updater
function (prev: any): any -
composite
Composite
Returns Composite
License
MIT