nanoclone icon indicating copy to clipboard operation
nanoclone copied to clipboard

Tiny util to deep clone JavaScript objects

nanoclone

license npm
Only 300B to deep clone JavaScript objects

Is it small enough?

See the size of the most popular clone npm package with 250M+ downloads image
And nanoclone size:
image

Supported

  • [x] Primitives
  • [x] Arrays
  • [x] Plain objects
  • [x] DOM Nodes
  • [x] Date instances
  • [x] RegExp instances
  • [x] Maps
  • [x] Sets
  • [x] Circular structures

Installation

yarn add nanoclone
npm install nanoclone

Usage

import clone from 'nanoclone'

let a = {
  num: 2,
  arr: [1, 2, 3],
  nested: {
    obj: {
      a: 0
    }
  }
}

let b = clone(a)

License

MIT