From 406eb332586782a535e9b1d98ab9e84c19bb0306 Mon Sep 17 00:00:00 2001 From: Johan Steffner Date: Wed, 18 Nov 2020 17:34:07 +0100 Subject: [PATCH] Fix default value issue when last part of part of path is undefined --- index.js | 2 +- test.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index b8d9f29..aa9c5bb 100644 --- a/index.js +++ b/index.js @@ -59,7 +59,7 @@ module.exports = { } } - return object; + return object === undefined ? value : object; }, set(object, path, value) { diff --git a/test.js b/test.js index d9731b7..9a3f6e9 100644 --- a/test.js +++ b/test.js @@ -16,6 +16,7 @@ test('get', t => { t.is(dotProp.get({foo: {bar: 'a'}}, 'foo.fake'), undefined); t.is(dotProp.get({foo: {bar: 'a'}}, 'foo.fake.fake2'), undefined); t.is(dotProp.get({foo: {bar: 'a'}}, 'foo.fake.fake2', 'some value'), 'some value'); + t.is(dotProp.get({foo: {}}, 'foo.fake', 'some value'), 'some value'); t.is(dotProp.get({'\\': true}, '\\'), true); t.is(dotProp.get({'\\foo': true}, '\\foo'), true); t.is(dotProp.get({'bar\\': true}, 'bar\\'), true);