@esri/hub-common 12.27.1 → 12.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/core/_internal/PropertyMapper.js +1 -1
- package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/esm/objects/deep-set.js +10 -2
- package/dist/esm/objects/deep-set.js.map +1 -1
- package/dist/esm/objects/set-prop.js +3 -2
- package/dist/esm/objects/set-prop.js.map +1 -1
- package/dist/node/core/_internal/PropertyMapper.js +1 -1
- package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/node/objects/deep-set.js +10 -2
- package/dist/node/objects/deep-set.js.map +1 -1
- package/dist/node/objects/set-prop.js +3 -2
- package/dist/node/objects/set-prop.js.map +1 -1
- package/dist/types/objects/deep-set.d.ts +2 -1
- package/dist/types/objects/set-prop.d.ts +2 -1
- package/package.json +1 -1
|
@@ -97,7 +97,7 @@ function mapProps(source, sourceKey, target, targetKey, mappings) {
|
|
|
97
97
|
// if it's not null or undefined
|
|
98
98
|
if (sourceVal !== null && sourceVal !== undefined) {
|
|
99
99
|
// set it
|
|
100
|
-
deepSet(clone, targetPath, sourceVal);
|
|
100
|
+
deepSet(clone, targetPath, sourceVal, true);
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
103
|
return clone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,OAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAeD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,OAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAeD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -4,8 +4,9 @@ import { cloneObject } from "../util";
|
|
|
4
4
|
* @param {Object} target Object we want to set the property on
|
|
5
5
|
* @param {String} path Dotted path to the property we want to set
|
|
6
6
|
* @param {Any} value Value we want to assign to the property
|
|
7
|
+
* @param {Boolean} replace If true, replace the value at the path with the new value instead of merging
|
|
7
8
|
*/
|
|
8
|
-
export function deepSet(target, path, value = {}) {
|
|
9
|
+
export function deepSet(target, path, value = {}, replace = false) {
|
|
9
10
|
const parts = path.split(".");
|
|
10
11
|
let worker = target;
|
|
11
12
|
const lastIdx = parts.length - 1;
|
|
@@ -21,7 +22,14 @@ export function deepSet(target, path, value = {}) {
|
|
|
21
22
|
}
|
|
22
23
|
else if (idx === lastIdx) {
|
|
23
24
|
if (typeof worker[p] === "object" && !Array.isArray(worker[p])) {
|
|
24
|
-
|
|
25
|
+
if (replace) {
|
|
26
|
+
// We do this to replace the value wholesale, rather than merge the two
|
|
27
|
+
// This is for times where value is an object
|
|
28
|
+
worker[p] = cloneObject(value);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
worker[p] = Object.assign(worker[p], cloneObject(value));
|
|
32
|
+
}
|
|
25
33
|
}
|
|
26
34
|
else {
|
|
27
35
|
worker[p] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE,EACf,OAAO,GAAG,KAAK;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClD,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;iBAAM;gBACL,yBAAyB;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aAChB;SACF;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9D,IAAI,OAAO,EAAE;oBACX,uEAAuE;oBACvE,6CAA6C;oBAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;iBAChC;qBAAM;oBACL,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1D;aACF;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;SACF;QACD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,11 +5,12 @@ import { deepSet } from "./deep-set";
|
|
|
5
5
|
* @param path - the path to the property we want to set
|
|
6
6
|
* @param val - the value we want to set it to
|
|
7
7
|
* @param obj - the target object
|
|
8
|
+
* @param replace - if true, replace the value at the path with the new value instead of merging
|
|
8
9
|
*/
|
|
9
|
-
export function setProp(path, val, obj) {
|
|
10
|
+
export function setProp(path, val, obj, replace = false) {
|
|
10
11
|
if (Array.isArray(path)) {
|
|
11
12
|
path = path.join(".");
|
|
12
13
|
}
|
|
13
|
-
deepSet(obj, path, val);
|
|
14
|
+
deepSet(obj, path, val, replace);
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=set-prop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-prop.js","sourceRoot":"","sources":["../../../src/objects/set-prop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"set-prop.js","sourceRoot":"","sources":["../../../src/objects/set-prop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CACrB,IAAuB,EACvB,GAAQ,EACR,GAAQ,EACR,OAAO,GAAG,KAAK;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvB;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -103,7 +103,7 @@ function mapProps(source, sourceKey, target, targetKey, mappings) {
|
|
|
103
103
|
// if it's not null or undefined
|
|
104
104
|
if (sourceVal !== null && sourceVal !== undefined) {
|
|
105
105
|
// set it
|
|
106
|
-
objects_1.deepSet(clone, targetPath, sourceVal);
|
|
106
|
+
objects_1.deepSet(clone, targetPath, sourceVal, true);
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
return clone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D,qCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,iBAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,iBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AApDD,wCAoDC;AAeD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,iBAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D,qCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,iBAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,iBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AApDD,wCAoDC;AAeD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,iBAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -7,8 +7,9 @@ const util_1 = require("../util");
|
|
|
7
7
|
* @param {Object} target Object we want to set the property on
|
|
8
8
|
* @param {String} path Dotted path to the property we want to set
|
|
9
9
|
* @param {Any} value Value we want to assign to the property
|
|
10
|
+
* @param {Boolean} replace If true, replace the value at the path with the new value instead of merging
|
|
10
11
|
*/
|
|
11
|
-
function deepSet(target, path, value = {}) {
|
|
12
|
+
function deepSet(target, path, value = {}, replace = false) {
|
|
12
13
|
const parts = path.split(".");
|
|
13
14
|
let worker = target;
|
|
14
15
|
const lastIdx = parts.length - 1;
|
|
@@ -24,7 +25,14 @@ function deepSet(target, path, value = {}) {
|
|
|
24
25
|
}
|
|
25
26
|
else if (idx === lastIdx) {
|
|
26
27
|
if (typeof worker[p] === "object" && !Array.isArray(worker[p])) {
|
|
27
|
-
|
|
28
|
+
if (replace) {
|
|
29
|
+
// We do this to replace the value wholesale, rather than merge the two
|
|
30
|
+
// This is for times where value is an object
|
|
31
|
+
worker[p] = util_1.cloneObject(value);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
worker[p] = Object.assign(worker[p], util_1.cloneObject(value));
|
|
35
|
+
}
|
|
28
36
|
}
|
|
29
37
|
else {
|
|
30
38
|
worker[p] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":";;;AAAA,kCAAsC;AAEtC
|
|
1
|
+
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":";;;AAAA,kCAAsC;AAEtC;;;;;;GAMG;AACH,SAAgB,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE,EACf,OAAO,GAAG,KAAK;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClD,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;iBAAM;gBACL,yBAAyB;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aAChB;SACF;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9D,IAAI,OAAO,EAAE;oBACX,uEAAuE;oBACvE,6CAA6C;oBAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,CAAC;iBAChC;qBAAM;oBACL,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1D;aACF;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;SACF;QACD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAhCD,0BAgCC"}
|
|
@@ -8,12 +8,13 @@ const deep_set_1 = require("./deep-set");
|
|
|
8
8
|
* @param path - the path to the property we want to set
|
|
9
9
|
* @param val - the value we want to set it to
|
|
10
10
|
* @param obj - the target object
|
|
11
|
+
* @param replace - if true, replace the value at the path with the new value instead of merging
|
|
11
12
|
*/
|
|
12
|
-
function setProp(path, val, obj) {
|
|
13
|
+
function setProp(path, val, obj, replace = false) {
|
|
13
14
|
if (Array.isArray(path)) {
|
|
14
15
|
path = path.join(".");
|
|
15
16
|
}
|
|
16
|
-
deep_set_1.deepSet(obj, path, val);
|
|
17
|
+
deep_set_1.deepSet(obj, path, val, replace);
|
|
17
18
|
}
|
|
18
19
|
exports.setProp = setProp;
|
|
19
20
|
//# sourceMappingURL=set-prop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-prop.js","sourceRoot":"","sources":["../../../src/objects/set-prop.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC
|
|
1
|
+
{"version":3,"file":"set-prop.js","sourceRoot":"","sources":["../../../src/objects/set-prop.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC;;;;;;;GAOG;AACH,SAAgB,OAAO,CACrB,IAAuB,EACvB,GAAQ,EACR,GAAQ,EACR,OAAO,GAAG,KAAK;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvB;IACD,kBAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAVD,0BAUC"}
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
* @param {Object} target Object we want to set the property on
|
|
4
4
|
* @param {String} path Dotted path to the property we want to set
|
|
5
5
|
* @param {Any} value Value we want to assign to the property
|
|
6
|
+
* @param {Boolean} replace If true, replace the value at the path with the new value instead of merging
|
|
6
7
|
*/
|
|
7
|
-
export declare function deepSet(target: Record<string, any>, path: string, value?: any): void;
|
|
8
|
+
export declare function deepSet(target: Record<string, any>, path: string, value?: any, replace?: boolean): void;
|
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* @param path - the path to the property we want to set
|
|
5
5
|
* @param val - the value we want to set it to
|
|
6
6
|
* @param obj - the target object
|
|
7
|
+
* @param replace - if true, replace the value at the path with the new value instead of merging
|
|
7
8
|
*/
|
|
8
|
-
export declare function setProp(path: string | string[], val: any, obj: any): void;
|
|
9
|
+
export declare function setProp(path: string | string[], val: any, obj: any, replace?: boolean): void;
|