https://github.com/igorskyflyer/npm-clone-js
𧬠A NPM wrapper around a lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. πͺ
https://github.com/igorskyflyer/npm-clone-js
array back-end biome clone clonejs igorskyflyer javascript js nested-objects node nodejs npm object package typescript vitest wrapper
Last synced: 6 months ago
JSON representation
𧬠A NPM wrapper around a lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. πͺ
- Host: GitHub
- URL: https://github.com/igorskyflyer/npm-clone-js
- Owner: igorskyflyer
- License: mit
- Created: 2019-10-16T00:38:47.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-06-22T16:13:36.000Z (over 1 year ago)
- Last Synced: 2025-03-12T21:49:41.225Z (7 months ago)
- Topics: array, back-end, biome, clone, clonejs, igorskyflyer, javascript, js, nested-objects, node, nodejs, npm, object, package, typescript, vitest, wrapper
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@igor.dvlpr/node-clone-js
- Size: 526 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README

𧬠A lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. πͺ
# npm('clone.js')
π Support further development
I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. β
Thank you for supporting my efforts! ππ
![]()
@igorskyflyer
## π΅πΌ Usage
Install it by executing:
```shell
npm i "@igor.dvlpr/node-clone-js"
```
## π€ΉπΌ API
### Simple array copy
```javascript
import { clone } from '@igor.dvlpr/node-clone-js'const firstArray = [1, 2, 3]
const secondArray = clone(firstArray)secondArray[0] = 5
console.log('firstArray => ', firstArray) // [1, 2, 3]
console.log('secondArray => ', secondArray) // [5, 2, 3]
```### Complex array (array of objects)
```javascript
import { clone } from '@igor.dvlpr/node-clone-js'const firstArray = [
{
id: '103',
name: 'Peter',
},
{
id: '214',
name: 'Eve',
},
]
const secondArray = clone(firstArray)secondArray[0].name = 'John'
console.log('firstArray => ', firstArray)
console.log('secondArray => ', secondArray)
```### Simple object copy
```javascript
import { clone } from '@igor.dvlpr/node-clone-js'const firstStudent = {
id: 103,
name: 'Ben',
classes: ['Maths', 'Science', 'English language'],
}const secondStudent = clone(firstStudent)
secondStudent.classes[0] = 'Psychology'
console.log('firstStudent => ', firstStudent)
console.log('secondStudent => ', secondStudent)
```### Nested object copy
```javascript
import { clone } from '@igor.dvlpr/node-clone-js'const firstStudent = {
id: 103,
name: 'Ben',
subjects: {
groupDke: {
science: 'B',
maths: 'C',
},
groupOpe: {
foo: 'bar',
},
},
}const secondStudent = clone(firstStudent)
secondStudent.subjects.groupDke.maths = 'B'
console.log('firstStudent => ', firstStudent)
console.log('secondStudent => ', secondStudent)
```---
### Development
```shell
git clone https://github.com/igorskyflyer/npm-clone-js.gitcd npm-clone-js
npm install
```### Test
```shell
npm test
```---
## πͺͺ License
Licensed under the MIT license which is available here, [MIT license](https://github.com/igorskyflyer/npm-clone-js/blob/main/LICENSE).
---
## 𧬠Related
[@igor.dvlpr/pathexists](https://www.npmjs.com/package/@igor.dvlpr/pathexists)
> _π§² Provides ways of properly checking if a path exists inside a given array of files/directories both on Windows and UNIX-like operating systems. πΊ_
[@igor.dvlpr/zep](https://www.npmjs.com/package/@igor.dvlpr/zep)
> _π§ Zep is a zero-dependency, efficient debounce module. β°_
[@igor.dvlpr/valid-path](https://www.npmjs.com/package/@igor.dvlpr/valid-path)
> _π§° Provides ways of testing whether a given value can be a valid file/directory name. π_
[@igor.dvlpr/my-file-path](https://www.npmjs.com/package/@igor.dvlpr/my-file-path)
> _π An npm module that strongly types file paths! π₯_
[@igor.dvlpr/recursive-readdir](https://www.npmjs.com/package/@igor.dvlpr/recursive-readdir)
> _π Provides recursive readdir() and readdirSync() functions. π_
>
> Provided by **Igor DimitrijeviΔ** (*@igorskyflyer*).
>