Updates the value at given path of given object. It mutates the object. If path is not found then objects are created
"on the way". If non-objects are found, they are replaced with new plain objects. If primitives are used as source
they are ignored and returned value is empty object with updated value at given path.
This is still too dynamic in nature to get full TypeScript support. Properties are not typed, return type is unknown.
If you are okay with NOT mutating the object but get new one instead it is recommended to use immutable-assign
package instead.
Example
set(object, "deep.property", value)
Example
set(object, ["deep", "property"], value)
Example
set({}, "deep[0].property", value) // will create this structure: { "deep[0]": { "property":value }}
Example
set({}, "items.0", value) // will create object, not array { "items": { "0":value }}
Updates the value at given path of given object. It mutates the object. If path is not found then objects are created "on the way". If non-objects are found, they are replaced with new plain objects. If primitives are used as source they are ignored and returned value is empty object with updated value at given path.
This is still too dynamic in nature to get full TypeScript support. Properties are not typed, return type is unknown. If you are okay with NOT mutating the object but get new one instead it is recommended to use
immutable-assign
package instead.Example
Example
Example
Example