@mongez/reinforcements 2.3.10 → 2.3.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/mixed/clone/clone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAkC5C"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/mixed/clone/clone.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAiC5C"}
@@ -14,25 +14,23 @@
14
14
  else if (value instanceof Map) {
15
15
  return new Map(Array.from(value, ([key, val]) => [key, clone(val)]));
16
16
  }
17
- else {
18
- const cloned = new value.constructor();
17
+ else if (typeof value === "object") {
18
+ const proto = Object.getPrototypeOf(value);
19
+ const isPlainObject = proto === Object.prototype || proto === null;
20
+ if (!isPlainObject) {
21
+ return value; // skip cloning non-plain objects
22
+ }
23
+ const cloned = Object.create(proto);
19
24
  for (const prop in value) {
20
- // eslint-disable-next-line no-prototype-builtins
21
- if (value.hasOwnProperty(prop)) {
25
+ if (Object.prototype.hasOwnProperty.call(value, prop)) {
22
26
  cloned[prop] = clone(value[prop]);
23
27
  }
24
28
  }
25
29
  return cloned;
26
- // const clonedObject = Object.create(Object.getPrototypeOf(value));
27
- // return Object.assign(
28
- // clonedObject,
29
- // ...Object.keys(value).map(key => ({
30
- // [key]: clone((value as any)[key]),
31
- // })),
32
- // ) as T;
33
30
  }
34
31
  }
35
32
  else {
36
33
  return value;
37
34
  }
35
+ return value;
38
36
  }module.exports=clone;//# sourceMappingURL=clone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sources":["../../../src/mixed/clone/clone.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAwB,SAAA,KAAK,CAAI,KAAQ,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAQ,CAAC;AAC9C,SAAA;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAQ,CAAC;AACzC,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAQ,CAAC;AACjD,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;AACV,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,MAAM,GAAQ,IAAK,KAAa,CAAC,WAAW,EAAE,CAAC;AACrD,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;;AAExB,gBAAA,IAAK,KAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,MAAW,CAAC;;;;;;;;AASpB,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH"}
1
+ {"version":3,"file":"clone.js","sources":["../../../src/mixed/clone/clone.ts"],"sourcesContent":[null],"names":[],"mappings":"aACwB,SAAA,KAAK,CAAI,KAAQ,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAQ,CAAC;AAC9C,SAAA;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAQ,CAAC;AACzC,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAQ,CAAC;AACjD,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;AACV,SAAA;AAAM,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;YAEnE,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,KAAU,CAAC;AACnB,aAAA;YAED,MAAM,MAAM,GAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAE,KAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,MAAW,CAAC;AACpB,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/mixed/clone/clone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAkC5C"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/mixed/clone/clone.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAiC5C"}
@@ -14,25 +14,23 @@ function clone(value) {
14
14
  else if (value instanceof Map) {
15
15
  return new Map(Array.from(value, ([key, val]) => [key, clone(val)]));
16
16
  }
17
- else {
18
- const cloned = new value.constructor();
17
+ else if (typeof value === "object") {
18
+ const proto = Object.getPrototypeOf(value);
19
+ const isPlainObject = proto === Object.prototype || proto === null;
20
+ if (!isPlainObject) {
21
+ return value; // skip cloning non-plain objects
22
+ }
23
+ const cloned = Object.create(proto);
19
24
  for (const prop in value) {
20
- // eslint-disable-next-line no-prototype-builtins
21
- if (value.hasOwnProperty(prop)) {
25
+ if (Object.prototype.hasOwnProperty.call(value, prop)) {
22
26
  cloned[prop] = clone(value[prop]);
23
27
  }
24
28
  }
25
29
  return cloned;
26
- // const clonedObject = Object.create(Object.getPrototypeOf(value));
27
- // return Object.assign(
28
- // clonedObject,
29
- // ...Object.keys(value).map(key => ({
30
- // [key]: clone((value as any)[key]),
31
- // })),
32
- // ) as T;
33
30
  }
34
31
  }
35
32
  else {
36
33
  return value;
37
34
  }
35
+ return value;
38
36
  }export{clone as default};//# sourceMappingURL=clone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sources":["../../../src/mixed/clone/clone.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAwB,SAAA,KAAK,CAAI,KAAQ,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAQ,CAAC;AAC9C,SAAA;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAQ,CAAC;AACzC,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAQ,CAAC;AACjD,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;AACV,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,MAAM,GAAQ,IAAK,KAAa,CAAC,WAAW,EAAE,CAAC;AACrD,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;;AAExB,gBAAA,IAAK,KAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,MAAW,CAAC;;;;;;;;AASpB,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH"}
1
+ {"version":3,"file":"clone.js","sources":["../../../src/mixed/clone/clone.ts"],"sourcesContent":[null],"names":[],"mappings":"AACwB,SAAA,KAAK,CAAI,KAAQ,EAAA;AACvC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAQ,CAAC;AAC9C,SAAA;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAQ,CAAC;AACzC,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAQ,CAAC;AACjD,SAAA;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;AAC/B,YAAA,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;AACV,SAAA;AAAM,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;YAEnE,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,KAAU,CAAC;AACnB,aAAA;YAED,MAAM,MAAM,GAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAE,KAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,MAAW,CAAC;AACpB,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongez/reinforcements",
3
- "version": "2.3.10",
3
+ "version": "2.3.12",
4
4
  "description": "A lightweight package to give a massive reinforcements to variant types of data in Nodejs/Javascript",
5
5
  "main": "./cjs/index.js",
6
6
  "scripts": {