{"_id":"rfdc","_rev":"108394","name":"rfdc","description":"Really Fast Deep Clone","dist-tags":{"latest":"1.3.0"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"time":{"modified":"2022-10-18T09:11:46.000Z","created":"2018-05-19T05:31:58.976Z","1.3.0":"2021-03-14T19:11:21.973Z","1.2.0":"2021-01-15T20:28:43.780Z","1.1.4":"2019-05-12T18:23:23.130Z","1.1.3":"2019-05-12T18:03:58.454Z","1.1.2":"2018-05-20T11:46:53.119Z","1.1.1":"2018-05-20T11:27:42.463Z","1.0.4":"2018-05-19T21:18:14.405Z","1.0.3":"2018-05-19T20:11:43.799Z","1.0.2":"2018-05-19T05:45:14.860Z","1.0.1":"2018-05-19T05:36:28.379Z","1.0.0":"2018-05-19T05:31:58.976Z"},"users":{},"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"versions":{"1.3.0":{"name":"rfdc","version":"1.3.0","description":"Really Fast Deep Clone","main":"index.js","exports":{".":"./index.js","./default":"./default.js"},"scripts":{"test":"tap -R min test && npm run lint && tsd","bench":"node benchmark","lint":"standard --fix","cov":"tap --100 test","cov-ui":"tap --coverage-report=html test","ci":"standard && tap --100 --coverage-report=text-lcov test | codecov --pipe"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"clone-deep":"^4.0.1","codecov":"^3.4.0","deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1","tsd":"^0.7.4"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"8a6b767318340ccfc04219d162b93ec1c500551e","_id":"rfdc@1.3.0","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"shasum":"d0b7c441ab2720d05dc4cf26e01c89631d9da08b","size":5686,"noattachment":false,"key":"/rfdc/-/rfdc-1.3.0.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.3.0.tgz"},"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.3.0_1615749081818_0.21937444413362917"},"_hasShrinkwrap":false,"publish_time":1615749081973,"_cnpm_publish_time":1615749081973},"1.2.0":{"name":"rfdc","version":"1.2.0","description":"Really Fast Deep Clone","main":"index.js","exports":{".":"./index.js","./default":"./default.js"},"scripts":{"test":"tap -R min test && npm run lint && tsd","bench":"node benchmark","lint":"standard --fix","cov":"tap --100 test","cov-ui":"tap --coverage-report=html test","ci":"standard && tap --100 --coverage-report=text-lcov test | codecov --pipe"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"clone-deep":"^4.0.1","codecov":"^3.4.0","deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1","tsd":"^0.7.4"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"a6cb5f00551119e58c72e14881e8b2d8dd519b2e","_id":"rfdc@1.2.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"shasum":"9e9894258f48f284b43c3143c68070a4f373b949","size":5458,"noattachment":false,"key":"/rfdc/-/rfdc-1.2.0.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.2.0.tgz"},"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.2.0_1610742523653_0.579256980611941"},"_hasShrinkwrap":false,"publish_time":1610742523780,"_cnpm_publish_time":1610742523780},"1.1.4":{"name":"rfdc","version":"1.1.4","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test && npm run lint","bench":"node benchmark","lint":"standard --fix","cov":"tap --100 test","cov-ui":"tap --coverage-report=html test","ci":"standard && tap --100 --coverage-report=text-lcov test | codecov --pipe"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"codecov":"^3.4.0","deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"a9fa9599a86ad7949beaf740c150138614d1f5ae","_id":"rfdc@1.1.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2","size":4132,"noattachment":false,"key":"/rfdc/-/rfdc-1.1.4.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.1.4.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.1.4_1557685402938_0.4647920556027163"},"_hasShrinkwrap":false,"publish_time":1557685403130,"_cnpm_publish_time":1557685403130},"1.1.3":{"name":"rfdc","version":"1.1.3","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"fcdbe60815ebcc06760c3de7b74d185dc67a6c88","_id":"rfdc@1.1.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"87d00c9bb445bf9706384068750570102fd5aa7e","size":3923,"noattachment":false,"key":"/rfdc/-/rfdc-1.1.3.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.1.3.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.1.3_1557684238367_0.5134786019009996"},"_hasShrinkwrap":false,"publish_time":1557684238454,"_cnpm_publish_time":1557684238454},"1.1.2":{"name":"rfdc","version":"1.1.2","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"4d913ed2fcacfee041456515b828a49cacd2a4ff","_id":"rfdc@1.1.2","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"e6e72d74f5dc39de8f538f65e00c36c18018e349","size":3174,"noattachment":false,"key":"/rfdc/-/rfdc-1.1.2.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.1.2.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.1.2_1526816812927_0.3385372245394702"},"_hasShrinkwrap":false,"publish_time":1526816813119,"_cnpm_publish_time":1526816813119},"1.1.1":{"name":"rfdc","version":"1.1.1","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"0ea2720d02025f450b136eeae7f21044bff5e9d5","_id":"rfdc@1.1.1","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"e555f1f266a5e5e54cd8c309d1bf71cd7ac1bb9e","size":3136,"noattachment":false,"key":"/rfdc/-/rfdc-1.1.1.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.1.1.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.1.1_1526815662304_0.6572021421361587"},"_hasShrinkwrap":false,"publish_time":1526815662463,"_cnpm_publish_time":1526815662463},"1.0.4":{"name":"rfdc","version":"1.0.4","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fast-copy":"^1.2.1","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"28cd512ef50e2734ebc1872e67477145334e8125","_id":"rfdc@1.0.4","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"1b3ce470f5037ee5078485d09edb0d1b80226356","size":2674,"noattachment":false,"key":"/rfdc/-/rfdc-1.0.4.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.0.4.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.0.4_1526764694164_0.41357166533770995"},"_hasShrinkwrap":false,"publish_time":1526764694405,"_cnpm_publish_time":1526764694405},"1.0.3":{"name":"rfdc","version":"1.0.3","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"e4c75104d16a1641114ecf899dcc80ba1f134014","_id":"rfdc@1.0.3","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"a3b24c785e7dc3aaca553fbf490bc5efc58e4f7d","size":2243,"noattachment":false,"key":"/rfdc/-/rfdc-1.0.3.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.0.3.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.0.3_1526760703746_0.4909728118757537"},"_hasShrinkwrap":false,"publish_time":1526760703799,"_cnpm_publish_time":1526760703799},"1.0.2":{"name":"rfdc","version":"1.0.2","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","lint":"standard","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"deep-copy":"^1.4.2","fastbench":"^1.0.1","lodash.clonedeep":"^4.5.0","standard":"^11.0.1","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"aef44a201624292bf3cf3e17f1107c4ab6ce691e","_id":"rfdc@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"9da484a2106adf48f9a859ffb6a56bf35d37fbc5","size":2243,"noattachment":false,"key":"/rfdc/-/rfdc-1.0.2.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.0.2.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.0.2_1526708714766_0.6161212732483565"},"_hasShrinkwrap":false,"publish_time":1526708714860,"_cnpm_publish_time":1526708714860},"1.0.1":{"name":"rfdc","version":"1.0.1","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","deep-copy":"^1.4.2","lodash.clonedeep":"^4.5.0","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"b79d00e63b73b03297bacea450bb183d09fff911","_id":"rfdc@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"db644f2c6477c69263c984521a53ed77f7c7677b","size":2240,"noattachment":false,"key":"/rfdc/-/rfdc-1.0.1.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.0.1.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.0.1_1526708188298_0.20613230057056553"},"_hasShrinkwrap":false,"publish_time":1526708188379,"_cnpm_publish_time":1526708188379},"1.0.0":{"name":"rfdc","version":"1.0.0","description":"Really Fast Deep Clone","main":"index.js","scripts":{"test":"tap -R min test","bench":"node benchmark","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test"},"keywords":["object","obj","properties","clone","copy","deep","recursive","key","keys","values","prop","deep-clone","deepclone","deep-copy","deepcopy","fast","performance","performant","fastclone","fastcopy","fast-clone","fast-deep-clone","fast-copy","fast-deep-copy"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","deep-copy":"^1.4.2","lodash.clonedeep":"^4.5.0","tap":"^12.0.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/rfdc.git"},"bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"homepage":"https://github.com/davidmarkclements/rfdc#readme","gitHead":"7d7f6568c3d4207b5da5388aa533e6badd0711ce","_id":"rfdc@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"80afd20d3a459e4581cf3a3ce285d4295a631f90","size":2241,"noattachment":false,"key":"/rfdc/-/rfdc-1.0.0.tgz","tarball":"http://name.csiicloud.com:7001/rfdc/download/rfdc-1.0.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":""},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfdc_1.0.0_1526707918910_0.3656732139099521"},"_hasShrinkwrap":false,"publish_time":1526707918976,"_cnpm_publish_time":1526707918976}},"readme":"# rfdc\n\nReally Fast Deep Clone\n\n\n[![build status](https://img.shields.io/travis/davidmarkclements/rfdc.svg)](https://travis-ci.org/davidmarkclements/rfdc)\n[![coverage](https://img.shields.io/codecov/c/github/davidmarkclements/rfdc.svg)](https://codecov.io/gh/davidmarkclements/rfdc)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\n\n\n## Usage\n\n```js\nconst clone = require('rfdc')()\nclone({a: 1, b: {c: 2}}) // => {a: 1, b: {c: 2}}\n```\n\n## API\n\n### `require('rfdc')(opts = { proto: false, circles: false }) => clone(obj) => obj2`\n\n#### `proto` option\n\nCopy prototype properties as well as own properties into the new object.\n\nIt's marginally faster to allow enumerable properties on the prototype\nto be copied into the cloned object (not onto it's prototype, directly onto the object).\n\nTo explain by way of code:\n\n```js\nrequire('rfdc')({ proto: false })(Object.create({a: 1})) // => {}\nrequire('rfdc')({ proto: true })(Object.create({a: 1})) // => {a: 1}\n```\n\nSetting `proto` to `true` will provide an additional 2% performance boost.\n\n#### `circles` option\n\nKeeping track of circular references will slow down performance with an\nadditional 25% overhead. Even if an object doesn't have any circular references,\nthe tracking overhead is the cost. By default if an object with a circular\nreference is passed to `rfdc`, it will throw (similar to how `JSON.stringify` \\\nwould throw).\n\nUse the `circles` option to detect and preserve circular references in the\nobject. If performance is important, try removing the circular reference from\nthe object (set to `undefined`) and then add it back manually after cloning\ninstead of using this option.\n\n### `default` import\nIt is also possible to directly import the clone function with all options set\nto their default:\n\n```js\nconst clone = require(\"rfdc/default\")\nclone({a: 1, b: {c: 2}}) // => {a: 1, b: {c: 2}}\n```\n\n### Types\n\n`rfdc` clones all JSON types:\n\n* `Object`\n* `Array`\n* `Number`\n* `String`\n* `null`\n\nWith additional support for:\n\n* `Date` (copied)\n* `undefined` (copied)\n* `Buffer` (copied)\n* `TypedArray` (copied)\n* `Map` (copied)\n* `Set` (copied)\n* `Function` (referenced)\n* `AsyncFunction` (referenced)\n* `GeneratorFunction` (referenced)\n* `arguments` (copied to a normal object)\n\nAll other types have output values that match the output\nof `JSON.parse(JSON.stringify(o))`.\n\nFor instance:\n\n```js\nconst rfdc = require('rfdc')()\nconst err = Error()\nerr.code = 1\nJSON.parse(JSON.stringify(e)) // {code: 1}\nrfdc(e) // {code: 1}\n\nJSON.parse(JSON.stringify({rx: /foo/})) // {rx: {}}\nrfdc({rx: /foo/}) // {rx: {}}\n```\n\n## Benchmarks\n\n```sh\nnpm run bench\n```\n\n```\nbenchDeepCopy*100: 457.568ms\nbenchLodashCloneDeep*100: 1230.773ms\nbenchCloneDeep*100: 655.208ms\nbenchFastCopy*100: 747.017ms\nbenchRfdc*100: 281.018ms\nbenchRfdcProto*100: 277.265ms\nbenchRfdcCircles*100: 328.148ms\nbenchRfdcCirclesProto*100: 323.004ms\n```\n\n## Tests\n\n```sh\nnpm test\n```\n\n```\n169 passing (342.514ms)\n```\n\n### Coverage\n\n```sh\nnpm run cov\n```\n\n```\n----------|----------|----------|----------|----------|-------------------|\nFile      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |\n----------|----------|----------|----------|----------|-------------------|\nAll files |      100 |      100 |      100 |      100 |                   |\n index.js |      100 |      100 |      100 |      100 |                   |\n----------|----------|----------|----------|----------|-------------------|\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/davidmarkclements/rfdc#readme","bugs":{"url":"https://github.com/davidmarkclements/rfdc/issues"},"license":"MIT"}