Naturally Processed Meals

    node-v8-clone

    0.6.2 • Public • Published

    node-v8-clone

    Build Status

    It's a c++ addon for node.js that does the most accurate cloning for node.js. It's also very fast in some cases (benchmarks inside).

    Installation:

    Tested on node.js versions 0.8, 0.9, 0.10 and 0.11.13 (prior 0.11.x versions are not compatible).

    You may be asked to install make and g++ as well.

    npm install node-v8-clone
    

    Usage:

    var clone = require('node-v8-clone').clone;
    var a = { x: { y: {} } };
     
    // deep clone
    var b = clone(a, true);
    === b // false
    a.x === b.x // false
    a.x.y === b.x.y // false
     
    // shallow clone
    var c = clone(a, false);
    === c // false
    a.x === c.x // true
    a.x.y === c.x.y // true

    Extended syntax:

    var Cloner = require('node-v8-clone').Cloner;
    var a = [1, [2, 3, 4], 5];
     
    // create a cloner instance for deep cloning optimized for arrays.
    var c = new Cloner(true, { 'Array': Cloner.deep_array });
    var b = c.clone(a);
    === b // false
    a[1] === b[1] // false

    Benchmark results

    Running tests

    For running tests you'll need to install dev dependencies at first (run in node-v8-clone dir):

    $ npm install
    

    To run tests for node-v8-clone run:

    $ npm test
    

    To run tests for 3rdparty modules run:

    $ npm run-script benchmark-prepare
    $ npm run-script test-3rdparty
    

    Test results are available here.

    Also you may want to check the module's page at Travis CI.

    Install

    npm i node-v8-clone

    DownloadsWeekly Downloads

    65

    Version

    0.6.2

    License

    BSD

    Last publish

    Collaborators

    • wicked