One of the smallest (31 sloc) and most effective implementations of setting a nested value on an object.
$ npm install @strikeentco/set --saveconstset=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' }}- obj (Object) - Source object.
- path (String|Array) - String or array with path.
- val (Any) - Value to set.
- [separator] (String) -
.by default.
The MIT License (MIT)
Copyright (c) 2018-present Alexey Bystrov