object-hierarchy-access
Version:
Get/Set value from/to JS object hierarchy properties
17 lines (13 loc) • 596 B
JavaScript
const assert = require('assert').strict;
const {assignIfUndef} = require('../../');
const obj1 = {};
const result1a = assignIfUndef(obj1, 'a', 'b', 'c', 100);
assert.deepEqual(obj1, {a: {b: {c: 100}}});
assert.deepEqual(result1a, {c: 100});
const result1b = assignIfUndef(obj1, 'a', 'b', 'c1', 101);
assert.deepEqual(obj1, {a: {b: {c: 100, c1: 101}}});
assert.deepEqual(result1b, {c: 100, c1: 101});
assert.ok(result1a === result1b);
const result1c = assignIfUndef(obj1, 'a', 'b', 'c1', 111);
assert.deepEqual(obj1, {a: {b: {c: 100, c1: 101}}});
assert.deepEqual(result1c, {c: 100, c1: 101});