Skip to content

jumpn/utils-composite

Repository files navigation

@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-composite

Using yarn

$ 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 ©️ Jumpn Limited / Mauro Titimoli ([email protected])