@strikeentco/set
v1.0.2
Published
Set nested values on an object using a dot path or custom separator
Downloads
16,054
Maintainers
Readme
set
One of the smallest (31 sloc) and most effective implementations of setting a nested value on an object.
Usage
$ npm install @strikeentco/set --save
const set = require('@strikeentco/set');
set({ a: { b: 'c' } }, 'a.b', 'd');
//=> { a: { b: 'd' } }
set({ a: { b: ['c', 'd'] } }, 'a.b.1', 'e');
//=> { a: { b: ['c', 'e'] } }
set({ a: { b: ['c', 'd'] } }, ['a', 'b'], 'c');
//=> { a: { b: 'c' } }
set({ a: { b: 'c' } }, 'a.b.c.d', 'e');
//=> { a: { b: { c: { d: 'e' } } } }
set({ a: { b: 'c' } }, 'a:b', 'd', ':');
//=> { a: { b: 'd' } }
API
set(obj, path, val, [separator])
Params:
- obj (Object) - Source object.
- path (String|Array) - String or array with path.
- val (Any) - Value to set.
- [separator] (String) -
.
by default.
License
The MIT License (MIT) Copyright (c) 2018-present Alexey Bystrov