UNPKG

deep-access

Version:

Access nested object properties via strings

37 lines (31 loc) 573 B
var test = require('tape'); var deep = require('./'); test('deep access', function (t) { var obj = { foo: 'bar', bar: { baz: { beep: 'boop' } } }; t.equal(deep(obj, 'foo'), 'bar'); t.equal(deep(obj, 'bar.baz.beep'), 'boop'); t.end(); }); test('existential', function (t) { var obj = { foo: 'bar', bar: { baz: { beep: 'boop' } } }; t.throws(function(){ deep(obj, 'foo.bar.baz'); }); t.notOk(deep(obj, 'foo.bar?.baz')); t.equal(deep(obj, 'bar.baz?.beep'), 'boop'); t.end(); });