|
|
10 ماه پیش | |
|---|---|---|
| .. | ||
| cjs | 10 ماه پیش | |
| src | 10 ماه پیش | |
| umd | 10 ماه پیش | |
| HISTORY.md | 10 ماه پیش | |
| LICENSE | 10 ماه پیش | |
| README.md | 10 ماه پیش | |
| index.d.ts | 10 ماه پیش | |
| index.js | 10 ماه پیش | |
| index.mjs | 10 ماه پیش | |
| package.json | 10 ماه پیش | |
deep copy data
$ npm install deepcopy
const deepcopy = require('deepcopy');
import * as deepcopy from 'deepcopy';
<script src="deepcopy.min.js"></script>
basic usage:
const src = {
desserts: [
{ name: 'cake' },
{ name: 'ice cream' },
{ name: 'pudding' }
]
};
const dist = deepcopy(src);
src.desserts = null;
console.log(src); // { desserts: null }
console.log(dist); // { desserts: [ { name: 'cake' }, { name: 'ice cream' }, { name: 'pudding' } ] }
customize deepcopy:
function MyClass(id) {
this._id = id;
}
const src = {
myClasses: [
new MyClass(1),
new MyClass(2),
new MyClass(3)
]
};
const dest = deepcopy(base, {
customizer(value) {
if (target.constructor === MyClass) {
return new MyClass(target._id);
}
}
});
src.myClasses = null;
console.log(src); // { myClasses: null }
console.log(dest); // { myClasses: [ MyClass { _id: 1 }, MyClass { _id: 2 }, MyClass { _id: 3 } ] }
value
*options
Object|FunctionObject - pass optionsFunction - use as customize functionreturn
* - copied value| type | operation | |
|---|---|---|
| ArrayBuffer | deep copy | |
| Boolean | deep copy | |
| Buffer | deep copy | node.js only |
| DataView | deep copy | |
| Date | deep copy | |
| Number | deep copy | |
| RegExp | deep copy | |
| String | deep copy | |
| Float32Array | deep copy | |
| Float64Array | deep copy | |
| Int16Array | deep copy | |
| Int32Array | deep copy | |
| Int8Array | deep copy | |
| Uint16Array | deep copy | |
| Uint32Array | deep copy | |
| Uint8Array | deep copy | |
| Uint8ClampedArray | deep copy | |
| boolean | deep copy | |
| null | deep copy | |
| number | deep copy | |
| string | deep copy | |
| symbol | deep copy | |
| undefined | deep copy | |
| Arguments | deep copy | recursively, copy as Array |
| Array | deep copy | recursively |
| Map | deep copy | recursively |
| Object | deep copy | recursively |
| Set | deep copy | recursively |
| Array Iterator | shallow copy | |
| Map Iterator | shallow copy | |
| Promise | shallow copy | |
| Set Iterator | shallow copy | |
| String Iterator | shallow copy | |
| function | shallow copy | |
| global | shallow copy | window, global, self, etc. |
| WeakMap | shallow copy | |
| WeakSet | shallow copy |
The MIT license.