just-safe-set
Part of a library of zero-dependency npm modules that do just do one thing.
Guilt-free utilities for every occasion.
🍦 Try it
npm install just-safe-set
yarn add just-safe-set
Set value at property, create intermediate properties if necessary
import set from 'just-safe-set';
const obj1 = {};
set(obj1, 'a.aa.aaa', 4);
obj1;
const obj2 = {};
set(obj2, ['a', 'aa', 'aaa'], 4);
obj2;
const obj3 = {a: {aa: {aaa: 2}}};
set(obj3, 'a.aa.aaa', 3);
obj3;
const obj4 = {a: {aa: {aaa: 2}}};
set(obj4, 'a.aa', {bbb: 7});
const obj5 = {a: {}};
const sym = Symbol();
set(obj5.a, sym, 7);
obj5;