@blazingedge/update
Advanced tools
Comparing version 1.1.1 to 1.1.2
@@ -108,3 +108,3 @@ 'use strict'; | ||
var ret = data || {}; | ||
var ret = data; | ||
@@ -194,3 +194,3 @@ var dataIsArray = isArray(ret); | ||
} else if (partIsArray || isFunc(part)) { | ||
if (!data) return data; | ||
if (!data && !partIsArray) return data; | ||
@@ -213,5 +213,4 @@ var f = pathIndex + 1 === pathParts.length && isFunc(update) ? update : function (it) { | ||
var ret = data || {}; | ||
var val = updatePath(ret[part], pathParts, pathIndex + 1, update); | ||
return change(part, val, ret, data, isArray(ret), false); | ||
var val = updatePath(data[part], pathParts, pathIndex + 1, update); | ||
return change(part, val, data, data, isArray(data), false); | ||
} | ||
@@ -218,0 +217,0 @@ |
{ | ||
"name": "@blazingedge/update", | ||
"version": "1.1.1", | ||
"version": "1.1.2", | ||
"description": "Utility for immutable deep updates of objects.", | ||
@@ -5,0 +5,0 @@ "main": "lib", |
@@ -94,3 +94,3 @@ const { isArray } = Array | ||
let ret = data || {} | ||
let ret = data | ||
@@ -168,3 +168,3 @@ const dataIsArray = isArray(ret) | ||
} else if (partIsArray || isFunc(part)) { | ||
if (!data) return data | ||
if (!data && !partIsArray) return data | ||
@@ -186,5 +186,4 @@ const f = (pathIndex + 1 === pathParts.length && isFunc(update)) | ||
const ret = data || {} | ||
const val = updatePath(ret[part], pathParts, pathIndex + 1, update) | ||
return change(part, val, ret, data, isArray(ret), false) | ||
const val = updatePath(data[part], pathParts, pathIndex + 1, update) | ||
return change(part, val, data, data, isArray(data), false) | ||
} | ||
@@ -191,0 +190,0 @@ |
@@ -42,3 +42,2 @@ const test = require('tape') | ||
removed: REMOVE, | ||
added: { new: true }, | ||
}, | ||
@@ -58,3 +57,2 @@ instance, | ||
arrayChanged: [49, -4, 94], | ||
added: { new: true }, | ||
}, | ||
@@ -82,8 +80,2 @@ instance, | ||
t.same( | ||
update({ a: { b: {} } }, 'a.b.c[d]', 2), | ||
{ a: { b: { c: { d: 2 } } } }, | ||
'set value creating missing objects' | ||
) | ||
t.same( | ||
update(data, 'a.b', { c: { d: 2 } }), | ||
@@ -90,0 +82,0 @@ { a: { b: { c: { d: 2 } } } }, |
19891
502