@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.
@@ -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;SACvC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,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
- worker[p] = Object.assign(worker[p], cloneObject(value));
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;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE;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,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1D;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"}
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;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAuB,EAAE,GAAQ,EAAE,GAAQ;IACjE,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,CAAC,CAAC;AAC1B,CAAC"}
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;SACvC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,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
- worker[p] = Object.assign(worker[p], util_1.cloneObject(value));
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;;;;;GAKG;AACH,SAAgB,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE;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,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1D;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;AAzBD,0BAyBC"}
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;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,IAAuB,EAAE,GAAQ,EAAE,GAAQ;IACjE,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,CAAC,CAAC;AAC1B,CAAC;AALD,0BAKC"}
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.27.1",
3
+ "version": "12.28.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",