Simple and lightweight library allowing you to immutably update object (or part of the object).
Returns true if the argument is a valid path. (Path must be an array of string or numbers).
path
any
Returns boolean
Sets a value on a given path in the object. If one of the arguments is invalid an error is thrown.
object
Object object in which the value should be setpath
Array<(number | string)> path in the object where to set the valuevalue
any value to be set
Returns Object with the value set
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.
object
Object object from which to get the valuepath
Array<(number | string)> path to the value in the objectdefaultValue
any value to be returned if the path is not part of the object
Returns any value on the path or defaultValue
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.
object
Object object in which the transformation should be appliedtransforms
...[Array<(number | string)>, any] transformations to be applied
Returns Object with all transformations applied
Returns true if the path exists in given object.
Returns boolean
Filters an object by the paths provided.
Returns Object with filtered properties from the object
Merges the path of the object found on a given path with the properties of value object.
Returns Object that is merged with the value on a given path