{"_id":"klona","_rev":"2933477","name":"klona","description":"A tiny (240B to 501B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","dist-tags":{"latest":"2.0.6"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"time":{"modified":"2023-03-27T02:34:53.000Z","created":"2020-01-09T06:19:33.050Z","2.0.6":"2023-01-16T19:20:29.796Z","2.0.5":"2021-10-27T01:47:26.788Z","2.0.4":"2020-09-16T03:52:26.652Z","2.0.3":"2020-08-19T04:17:11.274Z","2.0.2":"2020-08-17T18:52:28.427Z","2.0.1":"2020-08-14T21:52:12.654Z","2.0.0":"2020-08-14T21:47:51.117Z","1.1.2":"2020-07-04T04:30:56.561Z","1.1.1":"2020-01-16T04:24:46.863Z","1.1.0":"2020-01-09T23:18:22.690Z","1.0.0":"2020-01-09T09:55:01.464Z","0.0.0":"2020-01-09T06:19:33.050Z"},"users":{},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"versions":{"2.0.6":{"name":"klona","version":"2.0.6","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 501B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"types":"./index.d.ts","import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"types":"./index.d.ts","import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"types":"./index.d.ts","import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite full json\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.5.2"},"gitHead":"6ad153073b7529769010ddbde1938372e1702f5b","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.6","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"shasum":"85bffbf819c03b2f53270412420a4555ef882e22","size":6000,"noattachment":false,"key":"/klona/-/klona-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.6.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.6_1673896829629_0.11232350261974111"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-16T19:20:29.796Z","publish_time":1673896829796,"_cnpm_publish_time":1673896829796},"2.0.5":{"name":"klona","version":"2.0.5","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 501B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite full json\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.5.2"},"gitHead":"41da7dc2a0edae815c79c4b8debddf0ab4dfc21b","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.5","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"d166574d90076395d9963aa7a928fabb8d76afbc","size":5991,"noattachment":false,"key":"/klona/-/klona-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.5.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.5_1635299246650_0.5934403134544455"},"_hasShrinkwrap":false,"publish_time":1635299246788,"_cnpm_publish_time":1635299246788},"2.0.4":{"name":"klona","version":"2.0.4","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 501B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite full json\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.3"},"gitHead":"28565c3efae17b3c72c5086602437841cb1435b8","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.4","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0","size":6061,"noattachment":false,"key":"/klona/-/klona-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.4.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.4_1600228346529_0.406087108060768"},"_hasShrinkwrap":false,"publish_time":1600228346652,"_cnpm_publish_time":1600228346652},"2.0.3":{"name":"klona","version":"2.0.3","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 507B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite full json\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.3"},"gitHead":"604f112189ab74c72039474555927c31f51d1ca6","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.3","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"98274552c513583ad7a01456a789a2a0b4a2a538","size":6077,"noattachment":false,"key":"/klona/-/klona-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.3.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.3_1597810631113_0.6458877874915496"},"_hasShrinkwrap":false,"publish_time":1597810631274,"_cnpm_publish_time":1597810631274},"2.0.2":{"name":"klona","version":"2.0.2","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 507B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.3"},"gitHead":"43f298f5c34908bc1ca7959ed60cbd49f3e3b035","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"915044c0751e9fd503376c12343fe81d8f32b93c","size":6014,"noattachment":false,"key":"/klona/-/klona-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.2_1597690348284_0.7003044584775215"},"_hasShrinkwrap":false,"publish_time":1597690348427,"_cnpm_publish_time":1597690348427},"2.0.1":{"name":"klona","version":"2.0.1","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 507B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./json":{"import":"./json/index.mjs","require":"./json/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./full":{"import":"./full/index.mjs","require":"./full/index.js"},"./package.json":"./package.json"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.3"},"gitHead":"91fc085488c9d80a9c99a5c4919c8ae86a10f1e8","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"4e8c0175e28a9a33451916453ff94d23cceee604","size":5982,"noattachment":false,"key":"/klona/-/klona-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.1_1597441932517_0.18044602250379005"},"_hasShrinkwrap":false,"publish_time":1597441932654,"_cnpm_publish_time":1597441932654},"2.0.0":{"name":"klona","version":"2.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (240B to 507B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"modes":{"json":"src/json.js","lite":"src/lite.js","default":"src/index.js","full":"src/full.js"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test -i suites"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.3"},"gitHead":"a28a218fc21083eda8b7c5a0891a992f4f649634","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"17b8bf93a2372bf129d8651fa2daa3484ea4ca28","size":5901,"noattachment":false,"key":"/klona/-/klona-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-2.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_2.0.0_1597441670908_0.7599236068749518"},"_hasShrinkwrap":false,"publish_time":1597441671117,"_cnpm_publish_time":1597441671117},"1.1.2":{"name":"klona","version":"1.1.2","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (423B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.0.17"},"gitHead":"2f644471a17ec0d93e9e3a70052ac05455c71d93","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"a79e292518a5a5412ec8d097964bff1571a64db0","size":3671,"noattachment":false,"key":"/klona/-/klona-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-1.1.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_1.1.2_1593837056377_0.9337573202210883"},"_hasShrinkwrap":false,"publish_time":1593837056561,"_cnpm_publish_time":1593837056561},"1.1.1":{"name":"klona","version":"1.1.1","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (366B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/klona.mjs","unpkg":"dist/klona.min.js","main":"dist/klona.js","types":"klona.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"dce6ccbe9009934b8f177a455269c242240276d4","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"8b1e93808ef602a0cc4fb438ba72eb00594e9802","size":3478,"noattachment":false,"key":"/klona/-/klona-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-1.1.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_1.1.1_1579148686681_0.453563411575594"},"_hasShrinkwrap":false,"publish_time":1579148686863,"_cnpm_publish_time":1579148686863},"1.1.0":{"name":"klona","version":"1.1.0","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (281B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/klona.mjs","unpkg":"dist/klona.min.js","main":"dist/klona.js","types":"klona.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"c969b506c4ecf5677050b671ae65e87e49f4facb","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"3818fbcb4ed1637cadadd09a89f6a28e4248a573","size":3295,"noattachment":false,"key":"/klona/-/klona-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-1.1.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_1.1.0_1578611902613_0.8293396064797571"},"_hasShrinkwrap":false,"publish_time":1578611902690,"_cnpm_publish_time":1578611902690},"1.0.0":{"name":"klona","version":"1.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"A tiny (228B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!","module":"dist/klona.mjs","unpkg":"dist/klona.min.js","main":"dist/klona.js","types":"klona.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["clone","copy","deep","extend","recursive","object"],"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"4f198a515126200de3dc6c153ce8985c854fe220","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"cbc230682a105eaf83e1159f678ae97d6f344aa2","size":3075,"noattachment":false,"key":"/klona/-/klona-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-1.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_1.0.0_1578563701338_0.1028654128656965"},"_hasShrinkwrap":false,"publish_time":1578563701464,"_cnpm_publish_time":1578563701464},"0.0.0":{"name":"klona","version":"0.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/klona.git"},"description":"WIP","module":"dist/klona.mjs","unpkg":"dist/klona.min.js","main":"dist/klona.js","types":"klona.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">= 8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":[],"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.11.0"},"gitHead":"625c3b6be0b705c842970900055bb1e823593eb4","bugs":{"url":"https://github.com/lukeed/klona/issues"},"homepage":"https://github.com/lukeed/klona#readme","_id":"klona@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"83f4672459fcfb084cbc7b440b7cc45c9c1543da","size":2600,"noattachment":false,"key":"/klona/-/klona-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/klona/download/klona-0.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/klona_0.0.0_1578550772913_0.588956849690462"},"_hasShrinkwrap":false,"publish_time":1578550773050,"_cnpm_publish_time":1578550773050}},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"klona\" height=\"100\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/klona\">\n    <img src=\"https://badgen.now.sh/npm/v/klona\" alt=\"version\" />\n  </a>\n  <a href=\"https://github.com/lukeed/klona/actions\">\n    <img src=\"https://github.com/lukeed/klona/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://npmjs.org/package/klona\">\n    <img src=\"https://badgen.now.sh/npm/dm/klona\" alt=\"downloads\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/klona\">\n    <img src=\"https://codecov.io/gh/lukeed/klona/branch/master/graph/badge.svg?token=8ej0WeKqz7\" alt=\"codecov\" />\n  </a>\n</div>\n\n<div align=\"center\">A tiny (240B to 501B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!</div>\n\n\n## Features\n\n* Super tiny and [performant](#benchmarks)\n* Deep clone / recursive copies\n* Safely handles complex data types<br>\n    _Array, Date, Map, Object, RegExp, Set, TypedArray, and more_\n\nUnlike a \"shallow copy\" (eg, `Object.assign`), a \"deep clone\" recursively traverses a source input and copies its _values_ &mdash; instead of _references_ to its values &mdash; into a new instance of that input. The result is a structurally equivalent clone that operates independently of the original source and controls its own values.\n\n> **Why \"klona\"?** It's \"clone\" in Swedish.<br>\n> **What's with the sheep?** [Dolly](https://en.wikipedia.org/wiki/Dolly_(sheep)).\n\n\n## Install\n\n```\n$ npm install --save klona\n```\n\n\n## Modes\n\nThere are multiple \"versions\" of `klona` available, which allows you to bring only the functionality you need!\n\n#### `klona/json`\n> **Size (gzip):** 240 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/klona/json/index.js), [ES Module](https://unpkg.com/klona/json/index.mjs), [UMD](https://unpkg.com/klona/json/index.min.js)<br>\n> **Ability:** JSON data types\n\n```js\nimport { klona } from 'klona/json';\n```\n\n#### `klona/lite`\n> **Size (gzip):** 354 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/klona/lite/index.js), [ES Module](https://unpkg.com/klona/lite/index.mjs), [UMD](https://unpkg.com/klona/lite/index.min.js)<br>\n> **Ability:** extends `klona/json` with support for custom class, Date, and RegExp\n\n```js\nimport { klona } from 'klona/lite';\n```\n\n#### `klona`\n> **Size (gzip):** 451 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/klona/dist/index.js), [ES Module](https://unpkg.com/klona/dist/index.mjs), [UMD](https://unpkg.com/klona/dist/index.min.js)<br>\n> **Ability:** extends `klona/lite` with support for Map, Set, DataView, ArrayBuffer, TypedArray\n\n```js\nimport { klona } from 'klona';\n```\n\n#### `klona/full`\n> **Size (gzip):** 501 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/klona/full/index.js), [ES Module](https://unpkg.com/klona/full/index.mjs), [UMD](https://unpkg.com/klona/full/index.min.js)<br>\n> **Ability:** extends `klona` with support for Symbol properties and and non-enumerable properties\n\n```js\nimport { klona } from 'klona/full';\n```\n\n\n## Usage\n\n```js\nimport { klona } from 'klona';\n\nconst input = {\n  foo: 1,\n  bar: {\n    baz: 2,\n    bat: {\n      hello: 'world'\n    }\n  }\n};\n\nconst output = klona(input);\n\n// exact copy of original\nassert.deepStrictEqual(input, output);\n\n// applying deep updates...\noutput.bar.bat.hola = 'mundo';\noutput.bar.baz = 99;\n\n// ...doesn't affect source!\nconsole.log(\n  JSON.stringify(input, null, 2)\n);\n// {\n//   \"foo\": 1,\n//   \"bar\": {\n//     \"baz\": 2,\n//     \"bat\": {\n//       \"hello\": \"world\"\n//     }\n//   }\n// }\n```\n\n\n## API\n\n### klona(input)\nReturns: `typeof input`\n\nReturns a deep copy/clone of the input.\n\n\n## Benchmarks\n\n> Running Node v12.18.3\n\nThe benchmarks can be found in the [`/bench`](/bench) directory. They are separated into multiple categories:\n\n* `JSON` – compares an array of objects comprised of JSON data types (`String`, `Number`, `null`, `Array`, `Object`)\n* `LITE` – like `JSON`, but adds `RegExp`, `Date` and `undefined` values\n* `DEFAULT` – object with `RegExp`, `Date`, `Array`, `Map`, `Set`, custom class, `Int8Array`, `DataView`, `Buffer` values\n* `FULL` – like `DEFAULT`, but adds `Symbol` and non-enumerable properties\n\n> **Important:** Only candidates that pass validation step(s) are listed. <br>However, `lodash` and `clone` are kept to highlight important differences.\n\n> **Note:** The `clone/include` candidate refers to its [`includeNonEnumerable` option](https://www.npmjs.com/package/clone#api) enabled.\n\n```\nLoad times:\n  lodash/clonedeep   29.257ms\n  rfdc                0.511ms\n  clone               0.576ms\n  clone-deep          2.494ms\n  deep-copy           0.451ms\n  klona/full          0.408ms\n  klona               0.265ms\n  klona/lite          0.308ms\n  klona/json          0.263ms\n\nBenchmark :: JSON\n  JSON.stringify      x   53,899 ops/sec ±0.76% (92 runs sampled)\n  lodash              x   46,800 ops/sec ±0.86% (90 runs sampled)\n  rfdc                x  221,456 ops/sec ±0.88% (92 runs sampled)\n  clone               x   39,537 ops/sec ±0.68% (92 runs sampled)\n  clone/include       x   25,488 ops/sec ±1.06% (88 runs sampled)\n  clone-deep          x   99,998 ops/sec ±0.91% (93 runs sampled)\n  deep-copy           x  141,270 ops/sec ±0.95% (92 runs sampled)\n  klona/full          x   55,016 ops/sec ±0.68% (94 runs sampled)\n  klona               x  281,215 ops/sec ±0.77% (93 runs sampled)\n  klona/lite          x  318,481 ops/sec ±0.72% (91 runs sampled)\n  klona/json          x  334,932 ops/sec ±0.66% (93 runs sampled)\n\nBenchmark :: LITE\n  lodash              x   36,992 ops/sec ±0.65% (91 runs sampled)\n  clone               x   35,974 ops/sec ±1.13% (88 runs sampled)\n  clone/include       x   22,609 ops/sec ±1.02% (91 runs sampled)\n  clone-deep          x   92,846 ops/sec ±0.66% (93 runs sampled)\n  klona/full          x   47,873 ops/sec ±0.83% (88 runs sampled)\n  klona               x  226,638 ops/sec ±1.16% (93 runs sampled)\n  klona/lite          x  257,900 ops/sec ±0.82% (93 runs sampled)\n\nBenchmark :: DEFAULT\n  lodash              x   55,914 ops/sec ±0.75% (93 runs sampled)\n    ✘ Buffer\n    ✘ Map keys\n  clone               x   92,127 ops/sec ±0.83% (94 runs sampled)\n    ✘ DataView\n  clone/include       x   62,052 ops/sec ±0.88% (93 runs sampled)\n    ✘ DataView\n  klona/full          x   90,308 ops/sec ±0.68% (89 runs sampled)\n  klona               x  230,257 ops/sec ±0.71% (91 runs sampled)\n\nBenchmark :: FULL\n  lodash              x   60,361 ops/sec ±0.65% (91 runs sampled)\n    ✘ Buffer\n    ✘ Map keys\n    ✘ Missing non-enumerable Properties\n  clone/include       x   47,263 ops/sec ±0.85% (93 runs sampled)\n    ✘ DataView\n    ✘ Incorrect non-enumerable Properties\n  klona/full          x   82,346 ops/sec ±0.62% (93 runs sampled)\n```\n\n\n## Related\n\n* [dlv](https://github.com/developit/dlv) – safely **read** from deep properties in 120 bytes\n* [dset](https://github.com/lukeed/dset) – safely **write** into deep properties in 160 bytes\n* [dequal](https://github.com/lukeed/dequal) – safely check for deep equality in 304 to 489 bytes\n\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","_attachments":{},"homepage":"https://github.com/lukeed/klona#readme","bugs":{"url":"https://github.com/lukeed/klona/issues"},"license":"MIT"}