@visulima/deep-clone 2.1.6 → 2.1.8

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/LICENSE.md +6 -0
  3. package/README.md +73 -73
  4. package/dist/handler.cjs +32 -1
  5. package/dist/handler.mjs +10 -1
  6. package/dist/index.cjs +121 -1
  7. package/dist/index.mjs +117 -1
  8. package/dist/packem_shared/copyArrayBuffer-ClXU6N_V.mjs +34 -0
  9. package/dist/packem_shared/copyArrayBuffer-RMfO5nNu.cjs +36 -0
  10. package/dist/packem_shared/copyArrayLoose-DutO2eEt.mjs +19 -0
  11. package/dist/packem_shared/copyArrayLoose-jv5B0O8W.cjs +24 -0
  12. package/dist/packem_shared/copyBlob-B8SnIatQ.cjs +7 -0
  13. package/dist/packem_shared/copyBlob-ChzBsdC1.mjs +5 -0
  14. package/dist/packem_shared/copyDataView-BfhmLiTi.cjs +9 -0
  15. package/dist/packem_shared/copyDataView-xL-RicuC.mjs +7 -0
  16. package/dist/packem_shared/copyDate-Bgbm3mwe.mjs +5 -0
  17. package/dist/packem_shared/copyDate-CSIVko_l.cjs +7 -0
  18. package/dist/packem_shared/copyError-8k5J3dj4.mjs +22 -0
  19. package/dist/packem_shared/copyError-C1oK1eBT.cjs +24 -0
  20. package/dist/packem_shared/copyMapLoose-6OISt6H6.mjs +15 -0
  21. package/dist/packem_shared/copyMapLoose-DpoR0LmV.cjs +20 -0
  22. package/dist/packem_shared/copyObjectLoose-C0Xe4P0E.mjs +47 -0
  23. package/dist/packem_shared/copyObjectLoose-PHaYRVaE.cjs +52 -0
  24. package/dist/packem_shared/copyOwnProperties-FDDRgAnK.mjs +30 -0
  25. package/dist/packem_shared/copyOwnProperties-NdANNH2P.cjs +32 -0
  26. package/dist/packem_shared/copyRegExpLoose-455kIpwH.cjs +20 -0
  27. package/dist/packem_shared/copyRegExpLoose-CPAMvOoY.mjs +15 -0
  28. package/dist/packem_shared/copySetLoose-BBgAFOdx.cjs +20 -0
  29. package/dist/packem_shared/copySetLoose-BIxHjmWz.mjs +15 -0
  30. package/dist/packem_shared/getCleanClone-BhfRMqgx.cjs +22 -0
  31. package/dist/packem_shared/getCleanClone-Ch3gqIzM.mjs +20 -0
  32. package/dist/utils.cjs +11 -1
  33. package/dist/utils.mjs +2 -1
  34. package/package.json +17 -17
  35. package/dist/packem_shared/copyArrayBuffer-CErFt6r1.cjs +0 -1
  36. package/dist/packem_shared/copyArrayBuffer-hX6Bv2Yc.mjs +0 -1
  37. package/dist/packem_shared/copyArrayLoose-B2xEXxZi.mjs +0 -1
  38. package/dist/packem_shared/copyArrayLoose-ukX__AC4.cjs +0 -1
  39. package/dist/packem_shared/copyBlob-CCIQ88PB.cjs +0 -1
  40. package/dist/packem_shared/copyBlob-zWtjc8BU.mjs +0 -1
  41. package/dist/packem_shared/copyDataView-C9SuIdXo.cjs +0 -1
  42. package/dist/packem_shared/copyDataView-CHZxqd6h.mjs +0 -1
  43. package/dist/packem_shared/copyDate-CSebYDy0.mjs +0 -1
  44. package/dist/packem_shared/copyDate-CfZZ3WAO.cjs +0 -1
  45. package/dist/packem_shared/copyError-BzQAysGw.mjs +0 -1
  46. package/dist/packem_shared/copyError-DGbUXsSU.cjs +0 -1
  47. package/dist/packem_shared/copyMapLoose-CorlUnMI.mjs +0 -1
  48. package/dist/packem_shared/copyMapLoose-CuTK-fBO.cjs +0 -1
  49. package/dist/packem_shared/copyObjectLoose-CbVJDz5e.cjs +0 -1
  50. package/dist/packem_shared/copyObjectLoose-DrrTtApt.mjs +0 -1
  51. package/dist/packem_shared/copyOwnProperties-QEhjt2x8.mjs +0 -1
  52. package/dist/packem_shared/copyOwnProperties-Zk6Vg6Oe.cjs +0 -1
  53. package/dist/packem_shared/copyRegExpLoose-BvCnMoGQ.mjs +0 -1
  54. package/dist/packem_shared/copyRegExpLoose-DzJvEX_n.cjs +0 -1
  55. package/dist/packem_shared/copySetLoose-FGAEcE9e.mjs +0 -1
  56. package/dist/packem_shared/copySetLoose-v1Cjaq91.cjs +0 -1
  57. package/dist/packem_shared/getCleanClone-D0FN9QGR.mjs +0 -1
  58. package/dist/packem_shared/getCleanClone-DLZ_E9xd.cjs +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ ## @visulima/deep-clone [2.1.8](https://github.com/visulima/visulima/compare/@visulima/deep-clone@2.1.7...@visulima/deep-clone@2.1.8) (2025-01-12)
2
+
3
+ ### Bug Fixes
4
+
5
+ * updated @visulima/packem, and all other dev dependencies ([7797a1c](https://github.com/visulima/visulima/commit/7797a1c3e6f1fc532895247bd88285a8a9883c40))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * updated dev dependencies ([9de2eab](https://github.com/visulima/visulima/commit/9de2eab91e95c8b9289d12f863a5167218770650))
10
+
11
+ ## @visulima/deep-clone [2.1.7](https://github.com/visulima/visulima/compare/@visulima/deep-clone@2.1.6...@visulima/deep-clone@2.1.7) (2024-12-12)
12
+
13
+ ### Bug Fixes
14
+
15
+ * added missing placeholder variables into LICENSE.md file ([cef32c6](https://github.com/visulima/visulima/commit/cef32c6eb19dc3215a835e848ef12223a8fa05e0))
16
+ * allow node v23 ([8ca929a](https://github.com/visulima/visulima/commit/8ca929af311ce8036cbbfde68b6db05381b860a5))
17
+ * allowed node 23, updated dev dependencies ([f99d34e](https://github.com/visulima/visulima/commit/f99d34e01f6b13be8586a1b5d37dc8b8df0a5817))
18
+ * updated packem to v1.8.2 ([23f869b](https://github.com/visulima/visulima/commit/23f869b4120856cc97e2bffa6d508e2ae30420ea))
19
+ * updated packem to v1.9.2 ([47bdc2d](https://github.com/visulima/visulima/commit/47bdc2dfaeca4e7014dbe7772eae2fdf8c8b35bb))
20
+
21
+ ### Styles
22
+
23
+ * cs fixes ([46d31e0](https://github.com/visulima/visulima/commit/46d31e082e1865262bf380859c14fabd28ff456d))
24
+
25
+ ### Miscellaneous Chores
26
+
27
+ * updated dev dependencies ([a916944](https://github.com/visulima/visulima/commit/a916944b888bb34c34b0c54328b38d29e4399857))
28
+
1
29
  ## @visulima/deep-clone [2.1.6](https://github.com/visulima/visulima/compare/@visulima/deep-clone@2.1.5...@visulima/deep-clone@2.1.6) (2024-10-05)
2
30
 
3
31
  ### Bug Fixes
package/LICENSE.md CHANGED
@@ -19,3 +19,9 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
+
23
+ <!-- DEPENDENCIES -->
24
+ <!-- /DEPENDENCIES -->
25
+
26
+ <!-- TYPE_DEPENDENCIES -->
27
+ <!-- /TYPE_DEPENDENCIES -->
package/README.md CHANGED
@@ -79,24 +79,24 @@ Type: `object`
79
79
 
80
80
  A set of custom handlers for specific type of value. Each handler is a function that takes the original value and returns a new value or throws an error if the value is not supported.
81
81
 
82
- - Array: InternalHandler<unknown[]>;
83
- - ArrayBuffer: InternalHandler<ArrayBuffer>;
84
- - Blob: InternalHandler<Blob>;
85
- - DataView: InternalHandler<DataView>;
86
- - Date: InternalHandler<Date>;
87
- - Error: InternalHandler<Error>;
88
- - Float32Array: InternalHandler<Float32Array>;
89
- - Float64Array: InternalHandler<Float64Array>;
90
- - Int8Array: InternalHandler<Int8Array>;
91
- - Int16Array: InternalHandler<Int16Array>;
92
- - Int32Array: InternalHandler<Int32Array>;
93
- - Map: InternalHandler<Map<unknown, unknown>>;
94
- - Object: InternalHandler<Record<string, unknown>>;
95
- - Promise: InternalHandler<Promise<unknown>>;
96
- - RegExp: InternalHandler<RegExp>;
97
- - Set: InternalHandler<Set<unknown>>;
98
- - WeakMap: InternalHandler<WeakMap<any, unknown>>;
99
- - WeakSet: InternalHandler<WeakSet<any>>;
82
+ - Array: InternalHandler<unknown[]>;
83
+ - ArrayBuffer: InternalHandler<ArrayBuffer>;
84
+ - Blob: InternalHandler<Blob>;
85
+ - DataView: InternalHandler<DataView>;
86
+ - Date: InternalHandler<Date>;
87
+ - Error: InternalHandler<Error>;
88
+ - Float32Array: InternalHandler<Float32Array>;
89
+ - Float64Array: InternalHandler<Float64Array>;
90
+ - Int8Array: InternalHandler<Int8Array>;
91
+ - Int16Array: InternalHandler<Int16Array>;
92
+ - Int32Array: InternalHandler<Int32Array>;
93
+ - Map: InternalHandler<Map<unknown, unknown>>;
94
+ - Object: InternalHandler<Record<string, unknown>>;
95
+ - Promise: InternalHandler<Promise<unknown>>;
96
+ - RegExp: InternalHandler<RegExp>;
97
+ - Set: InternalHandler<Set<unknown>>;
98
+ - WeakMap: InternalHandler<WeakMap<any, unknown>>;
99
+ - WeakSet: InternalHandler<WeakSet<any>>;
100
100
 
101
101
  ## Utils
102
102
 
@@ -130,59 +130,59 @@ console.log(clean); // => {}
130
130
 
131
131
  ## Notes
132
132
 
133
- - List of **supported** values/types:
134
-
135
- - `undefined` (original value is returned)
136
- - `null` (original value is returned)
137
- - `boolean`/`Boolean` (original value is returned)
138
- - `string`/`String` (original value is returned)
139
- - `number`/`Number` (original value is returned)
140
- - `function`
141
- - `Object`
142
- - `Date`
143
- - `RegExp`
144
- - `Set`
145
- - `Map`
146
- - [`Error`][mdn-error]
147
- - [`URIError`][mdn-uri-error]
148
- - [`ReferenceError`][mdn-reference-error]
149
- - [`SyntaxError`][mdn-syntax-error]
150
- - [`RangeError`][mdn-range-error]
151
- - [`EvalError`][mdn-eval-error]
152
- - [`TypeError`][mdn-type-error]
153
- - [`System Error`][node-system-error] (Node.js)
154
- - `Array`
155
- - `Int8Array`
156
- - `Uint8Array`
157
- - `Uint8ClampedArray`
158
- - `Init16Array`
159
- - `Uint16Array`
160
- - `Int32Array`
161
- - `Uint32Array`
162
- - `Float32Array`
163
- - `Float64Array`
164
- - `Buffer` ([Node.js][node-buffer])
165
- - `DataView`
166
- - `Blob`
167
-
168
- - List of **unsupported** values/types:
169
-
170
- - `DOMElement`: to copy DOM elements, use `element.cloneNode()`.
171
- - `Symbol`
172
- - `WeakMap`
173
- - `WeakSet`
174
- - `File`
175
- - `FileList`
176
- - `ImageData`
177
- - `ImageBitmap`
178
- - `Promise`
179
- - `SharedArrayBuffer`
180
-
181
- - The implementation **can** handle circular references.
182
- - If a `Number`, `String`, or `Boolean` object is encountered, the value is cloned as a **primitive**. This behavior is intentional. The implementation is opinionated in wanting to **avoid** creating `numbers`, `strings`, and `booleans` via the `new` operator and a constructor.
183
- - The implementation **only** checks whether basic `Objects`, `Arrays`, and class instances are `extensible`, `sealed`, and/or `frozen`.
184
- - `functions` are **not** cloned; their reference is copied.
185
- - The implementation supports custom [`error`][mdn-error] types which are [`Error`][mdn-error] instances (e.g., ES2015 subclasses).
133
+ - List of **supported** values/types:
134
+
135
+ - `undefined` (original value is returned)
136
+ - `null` (original value is returned)
137
+ - `boolean`/`Boolean` (original value is returned)
138
+ - `string`/`String` (original value is returned)
139
+ - `number`/`Number` (original value is returned)
140
+ - `function`
141
+ - `Object`
142
+ - `Date`
143
+ - `RegExp`
144
+ - `Set`
145
+ - `Map`
146
+ - [`Error`][mdn-error]
147
+ - [`URIError`][mdn-uri-error]
148
+ - [`ReferenceError`][mdn-reference-error]
149
+ - [`SyntaxError`][mdn-syntax-error]
150
+ - [`RangeError`][mdn-range-error]
151
+ - [`EvalError`][mdn-eval-error]
152
+ - [`TypeError`][mdn-type-error]
153
+ - [`System Error`][node-system-error] (Node.js)
154
+ - `Array`
155
+ - `Int8Array`
156
+ - `Uint8Array`
157
+ - `Uint8ClampedArray`
158
+ - `Init16Array`
159
+ - `Uint16Array`
160
+ - `Int32Array`
161
+ - `Uint32Array`
162
+ - `Float32Array`
163
+ - `Float64Array`
164
+ - `Buffer` ([Node.js][node-buffer])
165
+ - `DataView`
166
+ - `Blob`
167
+
168
+ - List of **unsupported** values/types:
169
+
170
+ - `DOMElement`: to copy DOM elements, use `element.cloneNode()`.
171
+ - `Symbol`
172
+ - `WeakMap`
173
+ - `WeakSet`
174
+ - `File`
175
+ - `FileList`
176
+ - `ImageData`
177
+ - `ImageBitmap`
178
+ - `Promise`
179
+ - `SharedArrayBuffer`
180
+
181
+ - The implementation **can** handle circular references.
182
+ - If a `Number`, `String`, or `Boolean` object is encountered, the value is cloned as a **primitive**. This behavior is intentional. The implementation is opinionated in wanting to **avoid** creating `numbers`, `strings`, and `booleans` via the `new` operator and a constructor.
183
+ - The implementation **only** checks whether basic `Objects`, `Arrays`, and class instances are `extensible`, `sealed`, and/or `frozen`.
184
+ - `functions` are **not** cloned; their reference is copied.
185
+ - The implementation supports custom [`error`][mdn-error] types which are [`Error`][mdn-error] instances (e.g., ES2015 subclasses).
186
186
 
187
187
  ## Benchmarks
188
188
 
@@ -207,8 +207,8 @@ If you would like to help take a look at the [list of issues](https://github.com
207
207
 
208
208
  ## Credits
209
209
 
210
- - [Daniel Bannert](https://github.com/prisis)
211
- - [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
210
+ - [Daniel Bannert](https://github.com/prisis)
211
+ - [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
212
212
 
213
213
  ## License
214
214
 
package/dist/handler.cjs CHANGED
@@ -1 +1,32 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./packem_shared/copyArrayLoose-ukX__AC4.cjs"),p=require("./packem_shared/copyArrayBuffer-CErFt6r1.cjs"),y=require("./packem_shared/copyBlob-CCIQ88PB.cjs"),s=require("./packem_shared/copyDataView-C9SuIdXo.cjs"),i=require("./packem_shared/copyDate-CfZZ3WAO.cjs"),a=require("./packem_shared/copyError-DGbUXsSU.cjs"),e=require("./packem_shared/copyMapLoose-CuTK-fBO.cjs"),c=require("./packem_shared/copyObjectLoose-CbVJDz5e.cjs"),r=require("./packem_shared/copyRegExpLoose-DzJvEX_n.cjs"),t=require("./packem_shared/copySetLoose-v1Cjaq91.cjs");exports.copyArrayLoose=o.copyArrayLoose;exports.copyArrayStrict=o.copyArrayStrict;exports.copyArrayBuffer=p;exports.copyBlob=y;exports.copyDataView=s;exports.copyDate=i;exports.copyError=a;exports.copyMapLoose=e.copyMapLoose;exports.copyMapStrict=e.copyMapStrict;exports.copyObjectLoose=c.copyObjectLoose;exports.copyObjectStrict=c.copyObjectStrict;exports.copyRegExpLoose=r.copyRegExpLoose;exports.copyRegExpStrict=r.copyRegExpStrict;exports.copySetLoose=t.copySetLoose;exports.copySetStrict=t.copySetStrict;
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const copyArrayLoose = require('./packem_shared/copyArrayLoose-jv5B0O8W.cjs');
6
+ const copyArrayBuffer = require('./packem_shared/copyArrayBuffer-RMfO5nNu.cjs');
7
+ const copyBlob = require('./packem_shared/copyBlob-B8SnIatQ.cjs');
8
+ const copyDataView = require('./packem_shared/copyDataView-BfhmLiTi.cjs');
9
+ const copyDate = require('./packem_shared/copyDate-CSIVko_l.cjs');
10
+ const copyError = require('./packem_shared/copyError-C1oK1eBT.cjs');
11
+ const copyMapLoose = require('./packem_shared/copyMapLoose-DpoR0LmV.cjs');
12
+ const copyObjectLoose = require('./packem_shared/copyObjectLoose-PHaYRVaE.cjs');
13
+ const copyRegExpLoose = require('./packem_shared/copyRegExpLoose-455kIpwH.cjs');
14
+ const copySetLoose = require('./packem_shared/copySetLoose-BBgAFOdx.cjs');
15
+
16
+
17
+
18
+ exports.copyArrayLoose = copyArrayLoose.copyArrayLoose;
19
+ exports.copyArrayStrict = copyArrayLoose.copyArrayStrict;
20
+ exports.copyArrayBuffer = copyArrayBuffer;
21
+ exports.copyBlob = copyBlob;
22
+ exports.copyDataView = copyDataView;
23
+ exports.copyDate = copyDate;
24
+ exports.copyError = copyError;
25
+ exports.copyMapLoose = copyMapLoose.copyMapLoose;
26
+ exports.copyMapStrict = copyMapLoose.copyMapStrict;
27
+ exports.copyObjectLoose = copyObjectLoose.copyObjectLoose;
28
+ exports.copyObjectStrict = copyObjectLoose.copyObjectStrict;
29
+ exports.copyRegExpLoose = copyRegExpLoose.copyRegExpLoose;
30
+ exports.copyRegExpStrict = copyRegExpLoose.copyRegExpStrict;
31
+ exports.copySetLoose = copySetLoose.copySetLoose;
32
+ exports.copySetStrict = copySetLoose.copySetStrict;
package/dist/handler.mjs CHANGED
@@ -1 +1,10 @@
1
- import{copyArrayLoose as t,copyArrayStrict as e}from"./packem_shared/copyArrayLoose-B2xEXxZi.mjs";import{default as c}from"./packem_shared/copyArrayBuffer-hX6Bv2Yc.mjs";import{default as y}from"./packem_shared/copyBlob-zWtjc8BU.mjs";import{default as x}from"./packem_shared/copyDataView-CHZxqd6h.mjs";import{default as s}from"./packem_shared/copyDate-CSebYDy0.mjs";import{default as i}from"./packem_shared/copyError-BzQAysGw.mjs";import{copyMapLoose as u,copyMapStrict as d}from"./packem_shared/copyMapLoose-CorlUnMI.mjs";import{copyObjectLoose as b,copyObjectStrict as A}from"./packem_shared/copyObjectLoose-DrrTtApt.mjs";import{copyRegExpLoose as g,copyRegExpStrict as j}from"./packem_shared/copyRegExpLoose-BvCnMoGQ.mjs";import{copySetLoose as D,copySetStrict as M}from"./packem_shared/copySetLoose-FGAEcE9e.mjs";export{c as copyArrayBuffer,t as copyArrayLoose,e as copyArrayStrict,y as copyBlob,x as copyDataView,s as copyDate,i as copyError,u as copyMapLoose,d as copyMapStrict,b as copyObjectLoose,A as copyObjectStrict,g as copyRegExpLoose,j as copyRegExpStrict,D as copySetLoose,M as copySetStrict};
1
+ export { copyArrayLoose, copyArrayStrict } from './packem_shared/copyArrayLoose-DutO2eEt.mjs';
2
+ export { default as copyArrayBuffer } from './packem_shared/copyArrayBuffer-ClXU6N_V.mjs';
3
+ export { default as copyBlob } from './packem_shared/copyBlob-ChzBsdC1.mjs';
4
+ export { default as copyDataView } from './packem_shared/copyDataView-xL-RicuC.mjs';
5
+ export { default as copyDate } from './packem_shared/copyDate-Bgbm3mwe.mjs';
6
+ export { default as copyError } from './packem_shared/copyError-8k5J3dj4.mjs';
7
+ export { copyMapLoose, copyMapStrict } from './packem_shared/copyMapLoose-6OISt6H6.mjs';
8
+ export { copyObjectLoose, copyObjectStrict } from './packem_shared/copyObjectLoose-C0Xe4P0E.mjs';
9
+ export { copyRegExpLoose, copyRegExpStrict } from './packem_shared/copyRegExpLoose-CPAMvOoY.mjs';
10
+ export { copySetLoose, copySetStrict } from './packem_shared/copySetLoose-BIxHjmWz.mjs';
package/dist/index.cjs CHANGED
@@ -1 +1,121 @@
1
- "use strict";var d=Object.defineProperty;var f=(t,r)=>d(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./packem_shared/copyArrayLoose-ukX__AC4.cjs"),S=require("./packem_shared/copyArrayBuffer-CErFt6r1.cjs"),j=require("./packem_shared/copyBlob-CCIQ88PB.cjs"),E=require("./packem_shared/copyDataView-C9SuIdXo.cjs"),w=require("./packem_shared/copyDate-CfZZ3WAO.cjs"),h=require("./packem_shared/copyError-DGbUXsSU.cjs"),p=require("./packem_shared/copyMapLoose-CuTK-fBO.cjs"),u=require("./packem_shared/copyObjectLoose-CbVJDz5e.cjs"),l=require("./packem_shared/copyRegExpLoose-DzJvEX_n.cjs"),b=require("./packem_shared/copySetLoose-v1Cjaq91.cjs");var M=Object.defineProperty,c=f((t,r)=>M(t,"name",{value:r,configurable:!0}),"t");const s=c(t=>typeof t=="object"&&t!==null||typeof t=="function","canValueHaveProperties"),B={Array:y.copyArrayLoose,ArrayBuffer:S,Blob:j,DataView:E,Date:w,Error:h,Function:c((t,r)=>t,"Function"),Map:p.copyMapLoose,Object:u.copyObjectLoose,Promise:c(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"Promise"),RegExp:l.copyRegExpLoose,Set:b.copySetLoose,SharedArrayBuffer:c((t,r)=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"SharedArrayBuffer"),WeakMap:c(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"WeakMap"),WeakSet:c(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"WeakSet")},g=c((t,r)=>{if(!s(t))return t;const n={...B,...r?.strict?{Array:y.copyArrayStrict,Map:p.copyMapStrict,Object:u.copyObjectStrict,RegExp:l.copyRegExpStrict,Set:b.copySetStrict}:{},...r?.handler};let a=new WeakMap;const i=c((e,o)=>{if(!s(e))return e;if(o.cache.has(e))return o.cache.get(e);if(Array.isArray(e))return n.Array(e,o);if(typeof e=="object"&&e.constructor===Object&&e.nodeType===void 0)return n.Object(e,o);if(e.nodeType!==void 0&&e.cloneNode!==void 0)return e.cloneNode(!0);if(e instanceof Date)return n.Date(e,o);if(e instanceof RegExp)return n.RegExp(e,o);if(e instanceof Map)return n.Map(e,o);if(e instanceof Set)return n.Set(e,o);if(e instanceof Error)return n.Error(e,o);if(e instanceof ArrayBuffer||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Uint32Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array)return n.ArrayBuffer(e,o);if(e instanceof Blob)return n.Blob(e,o);if(e instanceof DataView)return n.DataView(e,o);if(e instanceof SharedArrayBuffer)return n.SharedArrayBuffer(e,o);if(e instanceof Promise)return n.Promise(e,o);if(e instanceof WeakMap)return n.WeakMap(e,o);if(e instanceof WeakSet)return n.WeakSet(e,o);if(e instanceof Function)return n.Function(e,o);if(typeof e=="object")return n.Object(e,o);throw new TypeError(`Type of ${typeof e} cannot be cloned`,e)},"clone"),A=i(t,{cache:a,clone:i});return a=null,A},"deepClone");exports.deepClone=g;
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const copyArrayLoose = require('./packem_shared/copyArrayLoose-jv5B0O8W.cjs');
6
+ const copyArrayBuffer = require('./packem_shared/copyArrayBuffer-RMfO5nNu.cjs');
7
+ const copyBlob = require('./packem_shared/copyBlob-B8SnIatQ.cjs');
8
+ const copyDataView = require('./packem_shared/copyDataView-BfhmLiTi.cjs');
9
+ const copyDate = require('./packem_shared/copyDate-CSIVko_l.cjs');
10
+ const copyError = require('./packem_shared/copyError-C1oK1eBT.cjs');
11
+ const copyMapLoose = require('./packem_shared/copyMapLoose-DpoR0LmV.cjs');
12
+ const copyObjectLoose = require('./packem_shared/copyObjectLoose-PHaYRVaE.cjs');
13
+ const copyRegExpLoose = require('./packem_shared/copyRegExpLoose-455kIpwH.cjs');
14
+ const copySetLoose = require('./packem_shared/copySetLoose-BBgAFOdx.cjs');
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
18
+ const canValueHaveProperties = /* @__PURE__ */ __name((value) => typeof value === "object" && value !== null || typeof value === "function", "canValueHaveProperties");
19
+ const handlers = {
20
+ Array: copyArrayLoose.copyArrayLoose,
21
+ ArrayBuffer: copyArrayBuffer,
22
+ Blob: copyBlob,
23
+ DataView: copyDataView,
24
+ Date: copyDate,
25
+ Error: copyError,
26
+ // eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-unused-vars
27
+ Function: /* @__PURE__ */ __name((object, _state) => object, "Function"),
28
+ Map: copyMapLoose.copyMapLoose,
29
+ Object: copyObjectLoose.copyObjectLoose,
30
+ Promise: /* @__PURE__ */ __name((object) => {
31
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
32
+ }, "Promise"),
33
+ RegExp: copyRegExpLoose.copyRegExpLoose,
34
+ Set: copySetLoose.copySetLoose,
35
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
+ SharedArrayBuffer: /* @__PURE__ */ __name((object, _state) => {
37
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
38
+ }, "SharedArrayBuffer"),
39
+ WeakMap: /* @__PURE__ */ __name((object) => {
40
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
41
+ }, "WeakMap"),
42
+ WeakSet: /* @__PURE__ */ __name((object) => {
43
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
44
+ }, "WeakSet")
45
+ };
46
+ const deepClone = /* @__PURE__ */ __name((originalData, options) => {
47
+ if (!canValueHaveProperties(originalData)) {
48
+ return originalData;
49
+ }
50
+ const cloner = {
51
+ ...handlers,
52
+ ...options?.strict ? { Array: copyArrayLoose.copyArrayStrict, Map: copyMapLoose.copyMapStrict, Object: copyObjectLoose.copyObjectStrict, RegExp: copyRegExpLoose.copyRegExpStrict, Set: copySetLoose.copySetStrict } : {},
53
+ ...options?.handler
54
+ };
55
+ let cache = /* @__PURE__ */ new WeakMap();
56
+ const clone = /* @__PURE__ */ __name((value, state) => {
57
+ if (!canValueHaveProperties(value)) {
58
+ return value;
59
+ }
60
+ if (state.cache.has(value)) {
61
+ return state.cache.get(value);
62
+ }
63
+ if (Array.isArray(value)) {
64
+ return cloner.Array(value, state);
65
+ }
66
+ if (typeof value === "object" && value.constructor === Object && value.nodeType === undefined) {
67
+ return cloner.Object(value, state);
68
+ }
69
+ if (value.nodeType !== undefined && value.cloneNode !== undefined) {
70
+ return value.cloneNode(true);
71
+ }
72
+ if (value instanceof Date) {
73
+ return cloner.Date(value, state);
74
+ }
75
+ if (value instanceof RegExp) {
76
+ return cloner.RegExp(value, state);
77
+ }
78
+ if (value instanceof Map) {
79
+ return cloner.Map(value, state);
80
+ }
81
+ if (value instanceof Set) {
82
+ return cloner.Set(value, state);
83
+ }
84
+ if (value instanceof Error) {
85
+ return cloner.Error(value, state);
86
+ }
87
+ if (value instanceof ArrayBuffer || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Uint32Array || value instanceof Int32Array || value instanceof Float32Array || value instanceof Float64Array) {
88
+ return cloner.ArrayBuffer(value, state);
89
+ }
90
+ if (value instanceof Blob) {
91
+ return cloner.Blob(value, state);
92
+ }
93
+ if (value instanceof DataView) {
94
+ return cloner.DataView(value, state);
95
+ }
96
+ if (value instanceof SharedArrayBuffer) {
97
+ return cloner.SharedArrayBuffer(value, state);
98
+ }
99
+ if (value instanceof Promise) {
100
+ return cloner.Promise(value, state);
101
+ }
102
+ if (value instanceof WeakMap) {
103
+ return cloner.WeakMap(value, state);
104
+ }
105
+ if (value instanceof WeakSet) {
106
+ return cloner.WeakSet(value, state);
107
+ }
108
+ if (value instanceof Function) {
109
+ return cloner.Function(value, state);
110
+ }
111
+ if (typeof value === "object") {
112
+ return cloner.Object(value, state);
113
+ }
114
+ throw new TypeError(`Type of ${typeof value} cannot be cloned`, value);
115
+ }, "clone");
116
+ const cloned = clone(originalData, { cache, clone });
117
+ cache = null;
118
+ return cloned;
119
+ }, "deepClone");
120
+
121
+ exports.deepClone = deepClone;
package/dist/index.mjs CHANGED
@@ -1 +1,117 @@
1
- var y=Object.defineProperty;var f=(t,r)=>y(t,"name",{value:r,configurable:!0});import{copyArrayLoose as u,copyArrayStrict as m}from"./packem_shared/copyArrayLoose-B2xEXxZi.mjs";import l from"./packem_shared/copyArrayBuffer-hX6Bv2Yc.mjs";import b from"./packem_shared/copyBlob-zWtjc8BU.mjs";import A from"./packem_shared/copyDataView-CHZxqd6h.mjs";import d from"./packem_shared/copyDate-CSebYDy0.mjs";import S from"./packem_shared/copyError-BzQAysGw.mjs";import{copyMapLoose as j,copyMapStrict as h}from"./packem_shared/copyMapLoose-CorlUnMI.mjs";import{copyObjectLoose as w,copyObjectStrict as E}from"./packem_shared/copyObjectLoose-DrrTtApt.mjs";import{copyRegExpLoose as M,copyRegExpStrict as B}from"./packem_shared/copyRegExpLoose-BvCnMoGQ.mjs";import{copySetLoose as k,copySetStrict as W}from"./packem_shared/copySetLoose-FGAEcE9e.mjs";var g=Object.defineProperty,a=f((t,r)=>g(t,"name",{value:r,configurable:!0}),"t");const p=a(t=>typeof t=="object"&&t!==null||typeof t=="function","canValueHaveProperties"),O={Array:u,ArrayBuffer:l,Blob:b,DataView:A,Date:d,Error:S,Function:a((t,r)=>t,"Function"),Map:j,Object:w,Promise:a(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"Promise"),RegExp:M,Set:k,SharedArrayBuffer:a((t,r)=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"SharedArrayBuffer"),WeakMap:a(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"WeakMap"),WeakSet:a(t=>{throw new TypeError(`${t.constructor.name} objects cannot be cloned`)},"WeakSet")},C=a((t,r)=>{if(!p(t))return t;const o={...O,...r?.strict?{Array:m,Map:h,Object:E,RegExp:B,Set:W}:{},...r?.handler};let c=new WeakMap;const i=a((e,n)=>{if(!p(e))return e;if(n.cache.has(e))return n.cache.get(e);if(Array.isArray(e))return o.Array(e,n);if(typeof e=="object"&&e.constructor===Object&&e.nodeType===void 0)return o.Object(e,n);if(e.nodeType!==void 0&&e.cloneNode!==void 0)return e.cloneNode(!0);if(e instanceof Date)return o.Date(e,n);if(e instanceof RegExp)return o.RegExp(e,n);if(e instanceof Map)return o.Map(e,n);if(e instanceof Set)return o.Set(e,n);if(e instanceof Error)return o.Error(e,n);if(e instanceof ArrayBuffer||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Uint32Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array)return o.ArrayBuffer(e,n);if(e instanceof Blob)return o.Blob(e,n);if(e instanceof DataView)return o.DataView(e,n);if(e instanceof SharedArrayBuffer)return o.SharedArrayBuffer(e,n);if(e instanceof Promise)return o.Promise(e,n);if(e instanceof WeakMap)return o.WeakMap(e,n);if(e instanceof WeakSet)return o.WeakSet(e,n);if(e instanceof Function)return o.Function(e,n);if(typeof e=="object")return o.Object(e,n);throw new TypeError(`Type of ${typeof e} cannot be cloned`,e)},"clone"),s=i(t,{cache:c,clone:i});return c=null,s},"deepClone");export{C as deepClone};
1
+ import { copyArrayStrict, copyArrayLoose } from './packem_shared/copyArrayLoose-DutO2eEt.mjs';
2
+ import copyArrayBuffer from './packem_shared/copyArrayBuffer-ClXU6N_V.mjs';
3
+ import copyBlob from './packem_shared/copyBlob-ChzBsdC1.mjs';
4
+ import copyDataView from './packem_shared/copyDataView-xL-RicuC.mjs';
5
+ import copyDate from './packem_shared/copyDate-Bgbm3mwe.mjs';
6
+ import copyError from './packem_shared/copyError-8k5J3dj4.mjs';
7
+ import { copyMapStrict, copyMapLoose } from './packem_shared/copyMapLoose-6OISt6H6.mjs';
8
+ import { copyObjectStrict, copyObjectLoose } from './packem_shared/copyObjectLoose-C0Xe4P0E.mjs';
9
+ import { copyRegExpStrict, copyRegExpLoose } from './packem_shared/copyRegExpLoose-CPAMvOoY.mjs';
10
+ import { copySetStrict, copySetLoose } from './packem_shared/copySetLoose-BIxHjmWz.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ const canValueHaveProperties = /* @__PURE__ */ __name((value) => typeof value === "object" && value !== null || typeof value === "function", "canValueHaveProperties");
15
+ const handlers = {
16
+ Array: copyArrayLoose,
17
+ ArrayBuffer: copyArrayBuffer,
18
+ Blob: copyBlob,
19
+ DataView: copyDataView,
20
+ Date: copyDate,
21
+ Error: copyError,
22
+ // eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-unused-vars
23
+ Function: /* @__PURE__ */ __name((object, _state) => object, "Function"),
24
+ Map: copyMapLoose,
25
+ Object: copyObjectLoose,
26
+ Promise: /* @__PURE__ */ __name((object) => {
27
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
28
+ }, "Promise"),
29
+ RegExp: copyRegExpLoose,
30
+ Set: copySetLoose,
31
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
+ SharedArrayBuffer: /* @__PURE__ */ __name((object, _state) => {
33
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
34
+ }, "SharedArrayBuffer"),
35
+ WeakMap: /* @__PURE__ */ __name((object) => {
36
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
37
+ }, "WeakMap"),
38
+ WeakSet: /* @__PURE__ */ __name((object) => {
39
+ throw new TypeError(`${object.constructor.name} objects cannot be cloned`);
40
+ }, "WeakSet")
41
+ };
42
+ const deepClone = /* @__PURE__ */ __name((originalData, options) => {
43
+ if (!canValueHaveProperties(originalData)) {
44
+ return originalData;
45
+ }
46
+ const cloner = {
47
+ ...handlers,
48
+ ...options?.strict ? { Array: copyArrayStrict, Map: copyMapStrict, Object: copyObjectStrict, RegExp: copyRegExpStrict, Set: copySetStrict } : {},
49
+ ...options?.handler
50
+ };
51
+ let cache = /* @__PURE__ */ new WeakMap();
52
+ const clone = /* @__PURE__ */ __name((value, state) => {
53
+ if (!canValueHaveProperties(value)) {
54
+ return value;
55
+ }
56
+ if (state.cache.has(value)) {
57
+ return state.cache.get(value);
58
+ }
59
+ if (Array.isArray(value)) {
60
+ return cloner.Array(value, state);
61
+ }
62
+ if (typeof value === "object" && value.constructor === Object && value.nodeType === undefined) {
63
+ return cloner.Object(value, state);
64
+ }
65
+ if (value.nodeType !== undefined && value.cloneNode !== undefined) {
66
+ return value.cloneNode(true);
67
+ }
68
+ if (value instanceof Date) {
69
+ return cloner.Date(value, state);
70
+ }
71
+ if (value instanceof RegExp) {
72
+ return cloner.RegExp(value, state);
73
+ }
74
+ if (value instanceof Map) {
75
+ return cloner.Map(value, state);
76
+ }
77
+ if (value instanceof Set) {
78
+ return cloner.Set(value, state);
79
+ }
80
+ if (value instanceof Error) {
81
+ return cloner.Error(value, state);
82
+ }
83
+ if (value instanceof ArrayBuffer || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Uint32Array || value instanceof Int32Array || value instanceof Float32Array || value instanceof Float64Array) {
84
+ return cloner.ArrayBuffer(value, state);
85
+ }
86
+ if (value instanceof Blob) {
87
+ return cloner.Blob(value, state);
88
+ }
89
+ if (value instanceof DataView) {
90
+ return cloner.DataView(value, state);
91
+ }
92
+ if (value instanceof SharedArrayBuffer) {
93
+ return cloner.SharedArrayBuffer(value, state);
94
+ }
95
+ if (value instanceof Promise) {
96
+ return cloner.Promise(value, state);
97
+ }
98
+ if (value instanceof WeakMap) {
99
+ return cloner.WeakMap(value, state);
100
+ }
101
+ if (value instanceof WeakSet) {
102
+ return cloner.WeakSet(value, state);
103
+ }
104
+ if (value instanceof Function) {
105
+ return cloner.Function(value, state);
106
+ }
107
+ if (typeof value === "object") {
108
+ return cloner.Object(value, state);
109
+ }
110
+ throw new TypeError(`Type of ${typeof value} cannot be cloned`, value);
111
+ }, "clone");
112
+ const cloned = clone(originalData, { cache, clone });
113
+ cache = null;
114
+ return cloned;
115
+ }, "deepClone");
116
+
117
+ export { deepClone };
@@ -0,0 +1,34 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const copyArrayBuffer = /* @__PURE__ */ __name((arrayBuffer) => {
4
+ const typeHandlers = {
5
+ BigInt64Array,
6
+ BigUint64Array,
7
+ // @ts-expect-error - Buffer has no constructor
8
+ // eslint-disable-next-line @typescript-eslint/unbound-method
9
+ Buffer: Buffer.from,
10
+ Float32Array,
11
+ Float64Array,
12
+ Int8Array,
13
+ Int16Array,
14
+ Int32Array,
15
+ Uint8Array,
16
+ Uint8ClampedArray,
17
+ Uint16Array,
18
+ Uint32Array
19
+ };
20
+ if (arrayBuffer instanceof ArrayBuffer) {
21
+ const newBuffer = new ArrayBuffer(arrayBuffer.byteLength);
22
+ const origView = new Uint8Array(arrayBuffer);
23
+ const newView = new Uint8Array(newBuffer);
24
+ newView.set(origView);
25
+ return newBuffer;
26
+ }
27
+ const Ctor = typeHandlers[arrayBuffer.constructor.name] ?? undefined;
28
+ if (Ctor) {
29
+ return new Ctor(arrayBuffer);
30
+ }
31
+ return new arrayBuffer.constructor([...arrayBuffer.buffer], arrayBuffer.byteOffset, arrayBuffer.length);
32
+ }, "copyArrayBuffer");
33
+
34
+ export { copyArrayBuffer as default };
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ const copyArrayBuffer = /* @__PURE__ */ __name((arrayBuffer) => {
6
+ const typeHandlers = {
7
+ BigInt64Array,
8
+ BigUint64Array,
9
+ // @ts-expect-error - Buffer has no constructor
10
+ // eslint-disable-next-line @typescript-eslint/unbound-method
11
+ Buffer: Buffer.from,
12
+ Float32Array,
13
+ Float64Array,
14
+ Int8Array,
15
+ Int16Array,
16
+ Int32Array,
17
+ Uint8Array,
18
+ Uint8ClampedArray,
19
+ Uint16Array,
20
+ Uint32Array
21
+ };
22
+ if (arrayBuffer instanceof ArrayBuffer) {
23
+ const newBuffer = new ArrayBuffer(arrayBuffer.byteLength);
24
+ const origView = new Uint8Array(arrayBuffer);
25
+ const newView = new Uint8Array(newBuffer);
26
+ newView.set(origView);
27
+ return newBuffer;
28
+ }
29
+ const Ctor = typeHandlers[arrayBuffer.constructor.name] ?? undefined;
30
+ if (Ctor) {
31
+ return new Ctor(arrayBuffer);
32
+ }
33
+ return new arrayBuffer.constructor([...arrayBuffer.buffer], arrayBuffer.byteOffset, arrayBuffer.length);
34
+ }, "copyArrayBuffer");
35
+
36
+ module.exports = copyArrayBuffer;
@@ -0,0 +1,19 @@
1
+ import copyOwnProperties from './copyOwnProperties-FDDRgAnK.mjs';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ const copyArrayLoose = /* @__PURE__ */ __name((array, state) => {
6
+ const clone = [];
7
+ state.cache.set(array, clone);
8
+ for (let index = 0, { length } = array; index < length; ++index) {
9
+ clone[index] = state.clone(array[index], state);
10
+ }
11
+ return clone;
12
+ }, "copyArrayLoose");
13
+ const copyArrayStrict = /* @__PURE__ */ __name((array, state) => {
14
+ const clone = [];
15
+ state.cache.set(array, clone);
16
+ return copyOwnProperties(array, clone, state);
17
+ }, "copyArrayStrict");
18
+
19
+ export { copyArrayLoose, copyArrayStrict };
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const copyOwnProperties = require('./copyOwnProperties-NdANNH2P.cjs');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ const copyArrayLoose = /* @__PURE__ */ __name((array, state) => {
10
+ const clone = [];
11
+ state.cache.set(array, clone);
12
+ for (let index = 0, { length } = array; index < length; ++index) {
13
+ clone[index] = state.clone(array[index], state);
14
+ }
15
+ return clone;
16
+ }, "copyArrayLoose");
17
+ const copyArrayStrict = /* @__PURE__ */ __name((array, state) => {
18
+ const clone = [];
19
+ state.cache.set(array, clone);
20
+ return copyOwnProperties(array, clone, state);
21
+ }, "copyArrayStrict");
22
+
23
+ exports.copyArrayLoose = copyArrayLoose;
24
+ exports.copyArrayStrict = copyArrayStrict;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ const copyBlob = /* @__PURE__ */ __name((blob) => blob.slice(0, blob.size, blob.type), "copyBlob");
6
+
7
+ module.exports = copyBlob;
@@ -0,0 +1,5 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const copyBlob = /* @__PURE__ */ __name((blob) => blob.slice(0, blob.size, blob.type), "copyBlob");
4
+
5
+ export { copyBlob as default };