UNPKG

deep-get-set

Version:

Set and get values on objects via dot-notation strings.

33 lines (24 loc) 714 B
var test = require('tape'); var deep = require('./index.cjs'); test('deep sets, strict', function (t) { var obj = {}; t.throws(function () { deep(obj, 'yep.nope', 'p'); }); deep.p = true; deep(obj, 'yep.nope', 'p'); t.equal(obj.yep.nope, 'p'); t.end(); }); test.skip('no prototype pollution', function (t) { const obj = {}; deep(obj, ['__proto__', 'a'], 1); deep(obj, [['__proto__'], 'b'], 2); deep(obj, 'constructor.prototype.c', 3); t.equal(globalThis.a, undefined); t.equal(globalThis.b, undefined); t.equal(globalThis.c, undefined); t.equal(deep(obj, '__proto__.toString'), undefined); t.equal(deep(obj, 'constructor.prototype.toString'), undefined); t.end(); });