imuty
Simple and lightweight library allowing you to immutably update object (or part of the object).
API
Table of Contents
isValidPath
Returns true if the argument is a valid path. (Path must be an array of string or numbers).
Parameters
-
path
any
Returns boolean
setIn
Sets a value on a given path in the object. If one of the arguments is invalid an error is thrown.
Parameters
-
object
Object object in which the value should be set -
path
Array<(number | string)> path in the object where to set the value -
value
any value to be set
Returns Object with the value set
getIn
Returns a value found in an object on a given path. If there is no value on the path returns defaultValue instead. If the path is not a valid path object, an error is thrown.
Parameters
-
object
Object object from which to get the value -
path
Array<(number | string)> path to the value in the object -
defaultValue
any value to be returned if the path is not part of the object
Returns any value on the path or defaultValue
multiSetIn
Allows you to specify multiple object transformations at once. Each transformation must be a two element array, where the first element is the path of the transformation and the second is the value of the transformation.
Transformations are applied from left to right.
Parameters
-
object
Object object in which the transformation should be applied -
transforms
...[Array<(number | string)>, any] transformations to be applied
Returns Object with all transformations applied
pathExists
Returns true if the path exists in given object.
Parameters
Returns boolean
filterObject
Filters an object by the paths provided.
Parameters
Returns Object with filtered properties from the object
mergeIn
Merges the path of the object found on a given path with the properties of value object.
Parameters
Returns Object that is merged with the value on a given path