Nurturing Palpable Magnificence
    Wondering what’s next for npm?Check out our public roadmap! »

    fast-clone
    TypeScript icon, indicating that this package has built-in type declarations

    1.5.13 • Public • Published

    npm version Build Status Coverage Status Greenkeeper badge

    The fastest deep cloning function on NPM that supports the following types:

    • Objects (POJOs, null, undefined)
    • Arrays
    • Dates
    • Regular Expressions
    • Strings
    • Numbers (NaN, Positive Infinity, Negative Infinity)
    • Booleans

    Speed Comparison

    Average runtime of various NPM clone libraries on a large complex object loaded from json files of varying sizes ranging from 3.5 MB to 15 MB.

    Library 7.15 MB
    fast-clone 120 ms
    ✘ deepClone 138 ms
    ✘ lodash.cloneDeep 155 ms
    ✘ snapshot 1,127 ms
    ✘ angular.copy 1,942 ms
    ✘ clone 2,085 ms

    Installation

    NPM

    npm install fast-clone --save

    Yarn

    yarn add fast-clone

    Usage

    Fast-clone is a UMD module so you can use it in Node.js, or in Browser either using Browserfy/Webpack, or by using the global clone function if not using a module loader.

    TypeScript

    import clone = require('fast-clone');

    JavaScript

    const clone = require('fast-clone');
    const a = {
        name: 'Natasha Rominov',
        age: 30,
        skills: [
            'Pistols',
            'Espionage'
        ],
        dateOfBirth: new Date('1986-05-21T00:00:00.000Z')
    };
     
    const b = clone(a);
     
    b.skills.push('That grabby thing she does with her legs');
     
    console.log(a.skills)
    console.log(b.skills);

    Output will be:

    ['Pistols', 'Espionage']
    ['Pistols', 'Espionage', 'That grabby thing she does with her legs']

    Contributing

    Got an issue or a feature request? Log it.

    Pull-requests are also welcome. 😸

    Install

    npm i fast-clone

    DownloadsWeekly Downloads

    5,321

    Version

    1.5.13

    License

    MIT

    Unpacked Size

    11.2 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar