@peter.naydenov/deep-copy

1.0.2 • Public • Published

Deep copy ( @peter.naydenov/deep-copy)

Creates an immutable copies of javascript data structures.

Installation

Install for node.js projects by writing in your terminal:

npm install @peter.naydenov/deep-copy

Once it has been installed, it can be used by writing this line of JavaScript:

let deepCopy = require ( '@peter.naydenov/deep-copy' )

or

import deepCopy from '@peter.naydenov/deep-copy'

Installation for browsers: Execute script 'npm run build' in the console. Then grab file "dist/deep-copy.min.js" and put it inside the project. Request the file from HTML page. Global variable 'deepCopy' is available for use.

        Note:
        Library is using 'generator functions'. If support for old browsers 
        is required, add a polyfill for 'generators'.

How it use it?

let 
      x = {
              ls   : [ 1,2,3 ]
            , name : 'Peter'
            , props : {
                          eyeColor: 'blue'
                        , age     : 47
                        , height  : 176
                        , sizes : [12,33,12,21]
                    }
            }
    , r = deepCopy ( x )
    ;
r.props.sizes.push ( 66 )   // will not change x.props.sizes
x.props.sizes[0] = 222222   // will not change r.props.sizes[0]
x.props.test = 'hello'      // will not create `test` in r.props
// Data-structures 'x' and 'r' are completely decoupled

Credits

'@peter.naydenov/deep-copy' was created and supported by Peter Naydenov.

License

'@peter.naydenov/deep-copy' is released under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i @peter.naydenov/deep-copy

Weekly Downloads

3

Version

1.0.2

License

MIT

Unpacked Size

8.81 kB

Total Files

7

Last publish

Collaborators

  • dreamgfx