es-toolkit 1.13.1-dev.297 → 1.13.1-dev.299

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/browser.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  compat_exports
3
- } from "./chunk-BJWAMCFH.mjs";
3
+ } from "./chunk-NTFAWMZV.mjs";
4
4
  import "./chunk-NKLIE2OI.mjs";
5
5
  import "./chunk-XT74R35S.mjs";
6
6
  import "./chunk-EYYZQFOP.mjs";
@@ -25,7 +25,7 @@ import "./chunk-54TK5BIS.mjs";
25
25
  import "./chunk-BCTYOXT7.mjs";
26
26
  import "./chunk-HPFDYUGP.mjs";
27
27
  import "./chunk-6CLH5YZ2.mjs";
28
- import "./chunk-U4JGKZ56.mjs";
28
+ import "./chunk-VRUTBJYS.mjs";
29
29
  import "./chunk-XGQWTHW6.mjs";
30
30
  import "./chunk-MIGAC7F4.mjs";
31
31
  import "./chunk-OLX53VEF.mjs";
@@ -97,11 +97,11 @@ import "./chunk-F47GLYUU.mjs";
97
97
  import "./chunk-DXB7EZUQ.mjs";
98
98
  import "./chunk-KIOYQRMQ.mjs";
99
99
  import "./chunk-236H5JZJ.mjs";
100
- import "./chunk-BOOQBJN2.mjs";
101
100
  import "./chunk-LKXCOLNY.mjs";
102
101
  import "./chunk-CMBC4MXG.mjs";
103
102
  import "./chunk-QOJGMVVR.mjs";
104
103
  import "./chunk-3IP4JVLL.mjs";
104
+ import "./chunk-BOOQBJN2.mjs";
105
105
  import "./chunk-24FKGR6U.mjs";
106
106
 
107
107
  // src/browser.ts
@@ -51,7 +51,7 @@ import {
51
51
  } from "./chunk-6CLH5YZ2.mjs";
52
52
  import {
53
53
  clone
54
- } from "./chunk-U4JGKZ56.mjs";
54
+ } from "./chunk-VRUTBJYS.mjs";
55
55
  import {
56
56
  flattenObject
57
57
  } from "./chunk-XGQWTHW6.mjs";
@@ -250,9 +250,6 @@ import {
250
250
  import {
251
251
  TimeoutError
252
252
  } from "./chunk-KIOYQRMQ.mjs";
253
- import {
254
- negate
255
- } from "./chunk-BOOQBJN2.mjs";
256
253
  import {
257
254
  noop
258
255
  } from "./chunk-LKXCOLNY.mjs";
@@ -265,6 +262,9 @@ import {
265
262
  import {
266
263
  debounce
267
264
  } from "./chunk-3IP4JVLL.mjs";
265
+ import {
266
+ negate
267
+ } from "./chunk-BOOQBJN2.mjs";
268
268
  import {
269
269
  __export
270
270
  } from "./chunk-24FKGR6U.mjs";
@@ -595,4 +595,4 @@ export {
595
595
  min,
596
596
  compat_exports
597
597
  };
598
- //# sourceMappingURL=chunk-BJWAMCFH.mjs.map
598
+ //# sourceMappingURL=chunk-NTFAWMZV.mjs.map
@@ -27,7 +27,9 @@ function clone(obj) {
27
27
  return result;
28
28
  }
29
29
  if (typeof obj === "object") {
30
- return Object.assign({}, obj);
30
+ const prototype = Object.getPrototypeOf(obj);
31
+ const result = Object.create(prototype);
32
+ return Object.assign(result, obj);
31
33
  }
32
34
  return obj;
33
35
  }
@@ -38,4 +40,4 @@ function isPrimitive(value) {
38
40
  export {
39
41
  clone
40
42
  };
41
- //# sourceMappingURL=chunk-U4JGKZ56.mjs.map
43
+ //# sourceMappingURL=chunk-VRUTBJYS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/object/clone.ts"],"sourcesContent":["/**\n * Creates a shallow clone of the given object.\n *\n * @template T - The type of the object.\n * @param {T} obj - The object to clone.\n * @returns {T} - A shallow clone of the given object.\n *\n * @example\n * // Clone a primitive values\n * const num = 29;\n * const clonedNum = clone(num);\n * console.log(clonedNum); // 29\n * console.log(clonedNum === num) ; // true\n *\n * @example\n * // Clone an array\n * const arr = [1, 2, 3];\n * const clonedArr = clone(arr);\n * console.log(clonedArr); // [1, 2, 3]\n * console.log(clonedArr === arr); // false\n *\n * @example\n * // Clone an object\n * const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] };\n * const clonedObj = clone(obj);\n * console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] }\n * console.log(clonedObj === obj); // false\n */\nexport function clone<T>(obj: T): T {\n if (isPrimitive(obj)) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.slice() as T;\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as T;\n }\n\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags) as T;\n }\n\n if (obj instanceof Map) {\n const result = new Map();\n for (const [key, value] of obj) {\n result.set(key, value);\n }\n return result as T;\n }\n\n if (obj instanceof Set) {\n const result = new Set();\n for (const value of obj) {\n result.add(value);\n }\n return result as T;\n }\n\n if (typeof obj === \"object\") {\n return Object.assign({}, obj) as T;\n }\n return obj;\n}\n\ntype Primitive = null | undefined | string | number | boolean | symbol | bigint;\n\nfunction isPrimitive(value: unknown): value is Primitive {\n return value == null ||\n (typeof value !== \"object\" && typeof value !== \"function\");\n}\n"],"mappings":";AA4BO,SAAS,MAAS,KAAW;AAClC,MAAI,YAAY,GAAG,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,MAAM;AAAA,EACnB;AAEA,MAAI,eAAe,MAAM;AACvB,WAAO,IAAI,KAAK,IAAI,QAAQ,CAAC;AAAA,EAC/B;AAEA,MAAI,eAAe,QAAQ;AACzB,WAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,KAAK;AAAA,EACzC;AAEA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAI;AACvB,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK;AAC9B,aAAO,IAAI,KAAK,KAAK;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAI;AACvB,eAAW,SAAS,KAAK;AACvB,aAAO,IAAI,KAAK;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,OAAO,OAAO,CAAC,GAAG,GAAG;AAAA,EAC9B;AACA,SAAO;AACT;AAIA,SAAS,YAAY,OAAoC;AACvD,SAAO,SAAS,QACb,OAAO,UAAU,YAAY,OAAO,UAAU;AACnD;","names":[]}
1
+ {"version":3,"sources":["../src/object/clone.ts"],"sourcesContent":["/**\n * Creates a shallow clone of the given object.\n *\n * @template T - The type of the object.\n * @param {T} obj - The object to clone.\n * @returns {T} - A shallow clone of the given object.\n *\n * @example\n * // Clone a primitive values\n * const num = 29;\n * const clonedNum = clone(num);\n * console.log(clonedNum); // 29\n * console.log(clonedNum === num) ; // true\n *\n * @example\n * // Clone an array\n * const arr = [1, 2, 3];\n * const clonedArr = clone(arr);\n * console.log(clonedArr); // [1, 2, 3]\n * console.log(clonedArr === arr); // false\n *\n * @example\n * // Clone an object\n * const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] };\n * const clonedObj = clone(obj);\n * console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] }\n * console.log(clonedObj === obj); // false\n */\nexport function clone<T>(obj: T): T {\n if (isPrimitive(obj)) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.slice() as T;\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as T;\n }\n\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags) as T;\n }\n\n if (obj instanceof Map) {\n const result = new Map();\n for (const [key, value] of obj) {\n result.set(key, value);\n }\n return result as T;\n }\n\n if (obj instanceof Set) {\n const result = new Set();\n for (const value of obj) {\n result.add(value);\n }\n return result as T;\n }\n\n if (typeof obj === 'object') {\n const prototype = Object.getPrototypeOf(obj);\n const result = Object.create(prototype)\n return Object.assign(result, obj);\n }\n return obj;\n}\n\ntype Primitive = null | undefined | string | number | boolean | symbol | bigint;\n\nfunction isPrimitive(value: unknown): value is Primitive {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n"],"mappings":";AA4BO,SAAS,MAAS,KAAW;AAClC,MAAI,YAAY,GAAG,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,MAAM;AAAA,EACnB;AAEA,MAAI,eAAe,MAAM;AACvB,WAAO,IAAI,KAAK,IAAI,QAAQ,CAAC;AAAA,EAC/B;AAEA,MAAI,eAAe,QAAQ;AACzB,WAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,KAAK;AAAA,EACzC;AAEA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAI;AACvB,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK;AAC9B,aAAO,IAAI,KAAK,KAAK;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAI;AACvB,eAAW,SAAS,KAAK;AACvB,aAAO,IAAI,KAAK;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ,UAAU;AAC3B,UAAM,YAAY,OAAO,eAAe,GAAG;AAC3C,UAAM,SAAS,OAAO,OAAO,SAAS;AACtC,WAAO,OAAO,OAAO,QAAQ,GAAG;AAAA,EAClC;AACA,SAAO;AACT;AAIA,SAAS,YAAY,OAAoC;AACvD,SAAO,SAAS,QAAS,OAAO,UAAU,YAAY,OAAO,UAAU;AACzE;","names":[]}
@@ -921,7 +921,9 @@ function clone(obj) {
921
921
  return result;
922
922
  }
923
923
  if (typeof obj === "object") {
924
- return Object.assign({}, obj);
924
+ const prototype = Object.getPrototypeOf(obj);
925
+ const result = Object.create(prototype);
926
+ return Object.assign(result, obj);
925
927
  }
926
928
  return obj;
927
929
  }