{"_id":"@discoveryjs/json-ext","_rev":"4344768","name":"@discoveryjs/json-ext","description":"A set of utilities that extend the use of JSON","dist-tags":{"latest":"1.0.0"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"time":{"modified":"2026-04-08T10:04:19.000Z","created":"2020-09-08T10:28:09.409Z","1.0.0":"2026-03-09T21:26:31.407Z","0.6.3":"2024-10-24T21:23:22.715Z","0.6.2":"2024-10-18T01:57:52.743Z","0.6.1":"2024-08-06T22:28:22.658Z","0.6.0":"2024-07-02T12:33:04.994Z","0.5.7":"2022-03-09T17:28:40.118Z","0.5.6":"2021-11-30T22:03:40.220Z","0.5.5":"2021-09-14T23:26:36.304Z","0.5.4":"2021-09-14T14:38:40.682Z","0.5.3":"2021-05-13T21:20:31.220Z","0.5.2":"2020-12-26T14:40:42.615Z","0.5.1":"2020-12-18T21:30:07.215Z","0.5.0":"2020-12-05T22:50:28.304Z","0.4.0":"2020-12-04T22:51:44.556Z","0.3.2":"2020-10-26T13:42:42.490Z","0.3.1":"2020-10-26T13:14:38.894Z","0.3.0":"2020-09-28T13:18:05.909Z","0.2.0":"2020-09-28T12:34:45.967Z","0.1.1":"2020-09-08T16:10:13.231Z","0.1.0":"2020-09-08T10:28:09.409Z"},"users":{},"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"versions":{"1.0.0":{"name":"@discoveryjs/json-ext","version":"1.0.0","description":"A set of utilities that extend the use of JSON","keywords":["json","jsonl","ndjson","utils","stream","async","promise","generator","parse","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"engines":{"node":">=14.17.0"},"type":"module","main":"./cjs/index.cjs","module":"./src/index.js","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","require":"./cjs/index.cjs","import":"./src/index.js"},"./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"test":"npm run test:src","lint":"eslint src","lint-and-test":"npm run lint && npm test","bundle":"node scripts/bundle.js","transpile":"node scripts/transpile.cjs","test:all":"npm run test:src && npm run test:cjs && npm run test:dist && npm run test:e2e","test:src":"mocha --reporter progress src/*.test.js","test:cjs":"mocha --reporter progress cjs/*.test.cjs","test:e2e":"mocha --reporter progress test-e2e","test:dist":"mocha --reporter progress dist/test","test:deno":"node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js","bundle-and-test":"npm run bundle && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm run bundle && npm run transpile && npm run test:all"},"devDependencies":{"c8":"^7.10.0","chalk":"^4.1.0","esbuild":"^0.27.3","eslint":"^8.57.0","mocha":"^9.2.2","rollup":"^2.79.2"},"gitHead":"9f6dfa619b6a25c3437ba14fed4ef91496a22d19","_id":"@discoveryjs/json-ext@1.0.0","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"shasum":"f75c08f88cfd9eb8d9b062284d5bbcc60c41bf2a","size":45907,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-1.0.0.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/json-ext_1.0.0_1773091591261_0.13901271481095567"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-09T21:26:31.407Z","publish_time":1773091591407,"_source_registry_name":"default","_cnpm_publish_time":1773091591407},"0.6.3":{"name":"@discoveryjs/json-ext","version":"0.6.3","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"engines":{"node":">=14.17.0"},"type":"module","main":"./cjs/index.cjs","module":"./src/index.js","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","require":"./cjs/index.cjs","import":"./src/index.js"},"./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"test":"npm run test:src","lint":"eslint src","lint-and-test":"npm run lint && npm test","bundle":"node scripts/bundle.js","transpile":"node scripts/transpile.cjs","test:all":"npm run test:src && npm run test:cjs && npm run test:dist && npm run test:e2e","test:src":"mocha --reporter progress src/*.test.js","test:cjs":"mocha --reporter progress cjs/*.test.cjs","test:e2e":"mocha --reporter progress test-e2e","test:dist":"mocha --reporter progress dist/test","test:deno":"node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js","bundle-and-test":"npm run bundle && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm run bundle && npm run transpile && npm run test:all"},"devDependencies":{"c8":"^7.10.0","chalk":"^4.1.0","esbuild":"^0.24.0","eslint":"^8.57.0","mocha":"^9.2.2","rollup":"^2.79.2"},"_id":"@discoveryjs/json-ext@0.6.3","gitHead":"570860b81f214321eb1860de00db9866510173f0","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"f13c7c205915eb91ae54c557f5e92bddd8be0e83","size":36512,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.6.3.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.6.3_1729805002499_0.5186237590679321"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-24T21:23:22.715Z","publish_time":1729805002715,"_source_registry_name":"default","_cnpm_publish_time":1729805002715},"0.6.2":{"name":"@discoveryjs/json-ext","version":"0.6.2","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"engines":{"node":">=14.17.0"},"type":"module","main":"./cjs/index.cjs","module":"./src/index.js","types":"./index.d.ts","exports":{".":{"require":"./cjs/index.cjs","import":"./src/index.js"},"./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"test":"npm run test:src","lint":"eslint src","lint-and-test":"npm run lint && npm test","bundle":"node scripts/bundle.js","transpile":"node scripts/transpile.cjs","test:all":"npm run test:src && npm run test:cjs && npm run test:dist && npm run test:e2e","test:src":"mocha --reporter progress src/*.test.js","test:cjs":"mocha --reporter progress cjs/*.test.cjs","test:e2e":"mocha --reporter progress test-e2e","test:dist":"mocha --reporter progress dist/test","test:deno":"node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js","bundle-and-test":"npm run bundle && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm run bundle && npm run transpile && npm run test:all"},"devDependencies":{"c8":"^7.10.0","chalk":"^4.1.0","esbuild":"^0.24.0","eslint":"^8.57.0","mocha":"^9.2.2","rollup":"^2.79.2"},"_id":"@discoveryjs/json-ext@0.6.2","gitHead":"6614e754520c2ab73ad3904f30311f04ad4bf7b9","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"b3bd3373bca66496ad62f2aff992d070e861d79b","size":36509,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.6.2.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.6.2_1729216672527_0.22147748963376368"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-18T01:57:52.743Z","publish_time":1729216672743,"_source_registry_name":"default","_cnpm_publish_time":1729216672743},"0.6.1":{"name":"@discoveryjs/json-ext","version":"0.6.1","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"engines":{"node":">=14.17.0"},"type":"module","main":"./cjs/index.cjs","module":"./src/index.js","types":"./index.d.ts","exports":{".":{"require":"./cjs/index.cjs","import":"./src/index.js","types":"./index.d.ts"},"./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"test":"npm run test:src","lint":"eslint src","lint-and-test":"npm run lint && npm test","bundle":"node scripts/bundle.js","transpile":"node scripts/transpile.cjs","test:all":"npm run test:src && npm run test:cjs && npm run test:dist && npm run test:e2e","test:src":"mocha --reporter progress src/*.test.js","test:cjs":"mocha --reporter progress cjs/*.test.cjs","test:e2e":"mocha --reporter progress test-e2e","test:dist":"mocha --reporter progress dist/test","test:deno":"node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js","bundle-and-test":"npm run bundle && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm run bundle && npm run transpile && npm run test:all"},"devDependencies":{"c8":"^7.10.0","chalk":"^4.1.0","esbuild":"^0.21.5","eslint":"^8.57.0","mocha":"^9.2.2","rollup":"^2.67.3"},"_id":"@discoveryjs/json-ext@0.6.1","gitHead":"104ad9cdd49d4c68e31a843284d472cac03972ec","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_nodeVersion":"22.5.1","_npmVersion":"10.8.2","dist":{"shasum":"593da7a17a31a72a874e313677183334a49b01c9","size":35284,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.6.1.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.6.1_1722983302479_0.007517055313263521"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-06T22:28:22.658Z","publish_time":1722983302658,"_source_registry_name":"default","_cnpm_publish_time":1722983302658},"0.6.0":{"name":"@discoveryjs/json-ext","version":"0.6.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"engines":{"node":">=14.17.0"},"type":"module","main":"./cjs/index.cjs","module":"./src/index.js","types":"./index.d.ts","exports":{".":{"require":"./cjs/index.cjs","import":"./src/index.js","types":"./index.d.ts"},"./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"test":"npm run test:src","lint":"eslint src","lint-and-test":"npm run lint && npm test","bundle":"node scripts/bundle.js","transpile":"node scripts/transpile.cjs","test:all":"npm run test:src && npm run test:cjs && npm run test:dist && npm run test:e2e","test:src":"mocha --reporter progress src/*.test.js","test:cjs":"mocha --reporter progress cjs/*.test.cjs","test:e2e":"mocha --reporter progress test-e2e","test:dist":"mocha --reporter progress dist/test","test:deno":"node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js","bundle-and-test":"npm run bundle && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm run bundle && npm run transpile && npm run test:all","start":"node server.js"},"devDependencies":{"c8":"^7.10.0","chalk":"^4.1.0","esbuild":"^0.21.5","eslint":"^8.57.0","mocha":"^9.2.2","rollup":"^2.67.3"},"_id":"@discoveryjs/json-ext@0.6.0","gitHead":"690323d3a73f88dd1842f6922c8fb337650e92d6","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_nodeVersion":"22.3.0","_npmVersion":"10.8.1","dist":{"shasum":"323395f46f8c9a10107be60574c0f8ff8d802220","size":33671,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.6.0.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.6.0_1719923584799_0.3165879186246028"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-02T12:33:04.994Z","publish_time":1719923584994,"_source_registry_name":"default","maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_cnpm_publish_time":1719923584994},"0.5.7":{"name":"@discoveryjs/json-ext","version":"0.5.7","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js","./src/version.js":"./dist/version.js"},"types":"./index.d.ts","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"cross-env MODE=dist npm test && cross-env MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"c8 --reporter=lcovonly npm test","prepublishOnly":"npm run lint && npm test && npm run build-and-test"},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","c8":"^7.10.0","chalk":"^4.1.0","cross-env":"^7.0.3","eslint":"^8.10.0","mocha":"^8.4.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"38b72d411627b57ab8c91f60dc6ae6205fbfcaca","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.7","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"1d572bfbbe14b7704e0ba0f39b74815b84870d70","size":18392,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.7.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.7_1646846919966_0.587183615906542"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-09T17:31:12.006Z","publish_time":1646846920118,"_cnpm_publish_time":1646846920118},"0.5.6":{"name":"@discoveryjs/json-ext","version":"0.5.6","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"types":"./index.d.ts","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"cross-env MODE=dist npm test && cross-env MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run build-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"baf1f9567e098d7d03fc0f07b335560e53aa166a","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.6","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"d5e0706cf8c6acd8c6032f8d54070af261bbbb2f","size":19019,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.6.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.6_1638309820062_0.5492637512489906"},"_hasShrinkwrap":false,"publish_time":1638309820220,"_cnpm_publish_time":1638309820220},"0.5.5":{"name":"@discoveryjs/json-ext","version":"0.5.5","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"types":"./index.d.ts","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"cross-env MODE=dist npm test && cross-env MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run build-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"6ccfaf5b6d95ab74a5502ec5f8730c11f480b374","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.5","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"shasum":"9283c9ce5b289a3c4f61c12757469e59377f81f3","size":19830,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.5.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.5_1631661996142_0.6007107464481163"},"_hasShrinkwrap":false,"publish_time":1631661996304,"_cnpm_publish_time":1631661996304},"0.5.4":{"name":"@discoveryjs/json-ext","version":"0.5.4","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"types":"./index.d.ts","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"cross-env MODE=dist npm test && cross-env MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run build-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"fb77e4626aac7b58aca6a15f6ba876ce1c7ae88e","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.4","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"shasum":"d8f0f394dec7be40b5113cd78088339c42ee811f","size":19522,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.4.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.4_1631630320547_0.7234853518014437"},"_hasShrinkwrap":false,"publish_time":1631630320682,"_cnpm_publish_time":1631630320682},"0.5.3":{"name":"@discoveryjs/json-ext","version":"0.5.3","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"cross-env MODE=dist npm test && cross-env MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run build-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"705ff9155152f82a460e5db07edfbaec0efcee87","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.3","_nodeVersion":"16.1.0","_npmVersion":"6.14.13","dist":{"shasum":"90420f9f9c6d3987f176a19a7d8e764271a2f55d","size":19461,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.3_1620940831000_0.318175053419018"},"_hasShrinkwrap":false,"publish_time":1620940831220,"_cnpm_publish_time":1620940831220},"0.5.2":{"name":"@discoveryjs/json-ext","version":"0.5.2","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"26a08f0fa6a52020bfe381ccff70aa6d3e28fe47","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.2","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"shasum":"8f03a22a04de437254e8ce8cc84ba39689288752","size":18409,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.2.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.2_1608993642423_0.008773222405023429"},"_hasShrinkwrap":false,"publish_time":1608993642615,"_cnpm_publish_time":1608993642615},"0.5.1":{"name":"@discoveryjs/json-ext","version":"0.5.1","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"ae99132df4c62c0febe4839c0b1648cbef99a2ab","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"shasum":"cf87081ac9b0f3eb3b5740415b50b7966bac8fc5","size":18166,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.1.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.1_1608327007078_0.11517650278064306"},"_hasShrinkwrap":false,"publish_time":1608327007215,"_cnpm_publish_time":1608327007215},"0.5.0":{"name":"@discoveryjs/json-ext","version":"0.5.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/stringify-stream-browser.js","./src/text-decoder.js":"./src/text-decoder-browser.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=10.0.0"},"gitHead":"0f7c96dd8d726eac751b0d141e61801448cae894","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.5.0","_nodeVersion":"15.3.0","_npmVersion":"6.14.8","dist":{"shasum":"d6cf8951ceb673db41861d544cef2f2e07ebcb4d","size":18133,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.0.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.5.0_1607208628075_0.5281334656205079"},"_hasShrinkwrap":false,"publish_time":1607208628304,"_cnpm_publish_time":1607208628304},"0.4.0":{"name":"@discoveryjs/json-ext","version":"0.4.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/browser-method-is-not-supported.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=12.0.0"},"gitHead":"fa11f97956e0a3a5d9d1f93be813b243ff41e39f","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.4.0","_nodeVersion":"15.3.0","_npmVersion":"6.14.8","dist":{"shasum":"f88244572b887d8379b7015f88e58f68e13806c2","size":17750,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.4.0.tgz"},"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.4.0_1607122304432_0.6432348233936858"},"_hasShrinkwrap":false,"publish_time":1607122304556,"_cnpm_publish_time":1607122304556},"0.3.2":{"name":"@discoveryjs/json-ext","version":"0.3.2","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./src/browser-method-is-not-supported.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=12.0.0"},"gitHead":"a899d78e2aaa136ddf194a4ca5bf6d9b15041f50","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.3.2","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"80ff80f3b221890fd125f185da1d2642e73abfa1","size":10893,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.3.2.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.3.2_1603719762168_0.9084722674572594"},"_hasShrinkwrap":false,"publish_time":1603719762490,"_cnpm_publish_time":1603719762490},"0.3.1":{"name":"@discoveryjs/json-ext","version":"0.3.1","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","browser":{"./src/stringify-stream.js":"./browser-method-is-not-supported.js"},"scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=12.0.0"},"gitHead":"bf83e68e36f6ced3fb8c5834b7ceb29761fedc59","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.3.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"7b33ccbef07506fe60d2ed7c9d70c8901ef01083","size":10817,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.3.1.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.3.1_1603718078744_0.6945715012920795"},"_hasShrinkwrap":false,"publish_time":1603718078894,"_cnpm_publish_time":1603718078894},"0.3.0":{"name":"@discoveryjs/json-ext","version":"0.3.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","test:all":"npm run test:src && npm run test:dist","test:src":"npm test","test:dist":"MODE=dist npm test && MODE=dist-min npm test","build-and-test":"npm run build && npm run test:dist","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-node-resolve":"^9.0.0","chalk":"^4.1.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=12.0.0"},"gitHead":"b7cd5982f1653821588684bea0a09432eba30f23","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.3.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"d0943856e54e5859268e67b2d7f3755077e8a948","size":9915,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.3.0.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.3.0_1601299085771_0.009405064097204097"},"_hasShrinkwrap":false,"publish_time":1601299085909,"_cnpm_publish_time":1601299085909},"0.2.0":{"name":"@discoveryjs/json-ext","version":"0.2.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","build":"rollup --config","build-and-test":"npm run build && npm run test","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls"},"dependencies":{},"devDependencies":{"@rollup/plugin-commonjs":"^15.1.0","@rollup/plugin-node-resolve":"^9.0.0","coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0","rollup":"^2.28.2","rollup-plugin-terser":"^7.0.2"},"engines":{"node":">=12.0.0"},"gitHead":"401a2a1731687ee53e83c40525515b4485b04f31","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.2.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"8596902f4339526cfd94b509b0735e5dc0edace3","size":6847,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.2.0.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.2.0_1601296485812_0.8763217546070752"},"_hasShrinkwrap":false,"publish_time":1601296485967,"_cnpm_publish_time":1601296485967},"0.1.1":{"name":"@discoveryjs/json-ext","version":"0.1.1","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./src/index","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls"},"dependencies":{},"devDependencies":{"coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0"},"engines":{"node":">=12.0.0"},"gitHead":"71140a057fc45576f6bd0a5114fe04eaa8700776","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.1.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"7d36c499032406e3799f1c3f54f2f9b3f4272026","size":6717,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.1.1.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.1.1_1599581413133_0.7627358891071205"},"_hasShrinkwrap":false,"publish_time":1599581413231,"_cnpm_publish_time":1599581413231},"0.1.0":{"name":"@discoveryjs/json-ext","version":"0.1.0","description":"A set of utilities that extend the use of JSON","keywords":["json","utils","stream","async","promise","stringify","info"],"author":{"name":"Roman Dvornov","email":"rdvornov@gmail.com","url":"https://github.com/lahmatiy"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/discoveryjs/json-ext.git"},"main":"./index","scripts":{"test":"mocha --reporter progress","lint":"eslint src test","lint-and-test":"npm run lint && npm test","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls"},"dependencies":{},"devDependencies":{"coveralls":"^3.1.0","eslint":"^7.6.0","mocha":"^8.1.1","nyc":"^15.1.0"},"engines":{"node":">=12.0.0"},"gitHead":"afb917b9da63eafce1bb6f3c26b9a398e5d551a5","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"homepage":"https://github.com/discoveryjs/json-ext#readme","_id":"@discoveryjs/json-ext@0.1.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"shasum":"58212ca5478669a5a50b5fa7a80ef9af86bd6092","size":6698,"noattachment":false,"key":"/@discoveryjs/json-ext/-/@discoveryjs/json-ext-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.1.0.tgz"},"maintainers":[{"name":"exdis","email":"exsdis@gmail.com"},{"name":"lahmatiy","email":"rdvornov@gmail.com"},{"name":"smelukov","email":"s.melukov@gmail.com"}],"_npmUser":{"name":"lahmatiy","email":"rdvornov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-ext_0.1.0_1599560889285_0.9834944447673313"},"_hasShrinkwrap":false,"publish_time":1599560889409,"_cnpm_publish_time":1599560889409}},"readme":"# json-ext\n\n[![NPM version](https://img.shields.io/npm/v/@discoveryjs/json-ext.svg)](https://www.npmjs.com/package/@discoveryjs/json-ext)\n[![Build Status](https://github.com/discoveryjs/json-ext/actions/workflows/ci.yml/badge.svg)](https://github.com/discoveryjs/json-ext/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/discoveryjs/json-ext/badge.svg?branch=master)](https://coveralls.io/github/discoveryjs/json-ext)\n[![NPM Downloads](https://img.shields.io/npm/dm/@discoveryjs/json-ext.svg)](https://www.npmjs.com/package/@discoveryjs/json-ext)\n\nA set of utilities designed to extend JSON's capabilities, especially for handling large JSON datasets (over 100MB) efficiently and streaming JSONL/NDJSON processing:\n\n- [parseChunked()](#parsechunked) – Parses JSON and JSONL/NDJSON incrementally; similar to [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse), but processing data in chunks.\n- [stringifyChunked()](#stringifychunked) – Converts JavaScript objects to JSON or JSONL incrementally; similar to [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), but returns a generator that yields strings in parts.\n- [stringifyInfo()](#stringifyinfo) – Estimates the size of the JSON or JSONL stringify result and identifies circular references without generating the output.\n- [parseFromWebStream()](#parsefromwebstream) – A helper function to parse JSON chunks directly from a Web Stream.\n- [createStringifyWebStream()](#createstringifywebstream) – A helper function to generate JSON data as a Web Stream.\n\n### Key Features\n\n- Optimized to handle large JSON data with minimal resource usage (see [benchmarks](./benchmarks/README.md))\n- Built-in JSONL/NDJSON support for parsing and serializing newline-delimited JSON\n- Works seamlessly with browsers, Node.js, Deno, and Bun\n- Supports both Node.js and Web streams\n- Available in both ESM and CommonJS\n- TypeScript typings included\n- No external dependencies\n- Compact size: 9.0Kb (minified), 4.0Kb (min+gzip)\n\n### Why json-ext?\n\n- **Handles large JSON files**: Overcomes the limitations of V8 for strings larger than ~500MB, enabling the processing of huge JSON data.\n- **Prevents main thread blocking**: Distributes parsing and stringifying over time, ensuring the main thread remains responsive during heavy JSON operations.\n- **Reduces memory usage**: Traditional `JSON.parse()` and `JSON.stringify()` require loading entire data into memory, leading to high memory consumption and increased garbage collection pressure. `parseChunked()` and `stringifyChunked()` process data incrementally, optimizing memory usage.\n- **Size estimation**: `stringifyInfo()` allows estimating the size of resulting JSON before generating it, enabling better decision-making for JSON generation strategies.\n- **JSONL/NDJSON streaming**: Native support for parsing and serializing newline-delimited JSON, enabling efficient processing of log streams, data pipelines, and large datasets without loading everything into memory.\n\n## Install\n\n```bash\nnpm install @discoveryjs/json-ext\n```\n\n## API\n\n### parseChunked()\n\nFunctions like [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse), iterating over chunks to reconstruct the result object, and returns a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n\n```ts\nfunction parseChunked(input: Iterable<Chunk> | AsyncIterable<Chunk>, reviver?: Reviver): Promise<any>;\nfunction parseChunked(input: Iterable<Chunk> | AsyncIterable<Chunk>, options?: ParseChunkedOptions): Promise<any>;\nfunction parseChunked(input: () => (Iterable<Chunk> | AsyncIterable<Chunk>), reviver?: Reviver): Promise<any>;\nfunction parseChunked(input: () => (Iterable<Chunk> | AsyncIterable<Chunk>), options?: ParseChunkedOptions): Promise<any>;\n\ntype Chunk = string | Buffer | Uint8Array;\ntype Reviver = (this: any, key: string, value: any) => any;\ntype ParseChunkedOptions = {\n    reviver?: Reviver;\n    mode?: 'json' | 'jsonl' | 'auto';\n    onRootValue?: (value: any, state: ParseChunkState) => void;\n    onChunk?: (chunkParsed: number, chunk: string | null, pending: string | null, state: ParseChunkState) => void;\n};\ntype ParseChunkState = {\n    mode: 'json' | 'jsonl';\n    rootValuesCount: number;\n    consumed: number;\n    parsed: number;\n};\n```\n\n[Benchmark](https://github.com/discoveryjs/json-ext/tree/master/benchmarks#parse-chunked)\n\nUsage:\n\n```js\nimport { parseChunked } from '@discoveryjs/json-ext';\n\nconst data = await parseChunked(chunkEmitter);\n```\n\nParameter `chunkEmitter` can be an iterable or async iterable that iterates over chunks, or a function returning such a value. A chunk can be a `string`, `Uint8Array`, or Node.js `Buffer`.\n\nYou can pass `reviver` either as the second argument (`parseChunked(input, reviver)`) or inside options (`parseChunked(input, { mode, reviver })`). `reviver` works the same way as in `JSON.parse()`.\n\n`options.mode` controls JSON Lines support:\n\n- `'json'` (default): parse as regular JSON;\n- `'jsonl'`: parse as JSONL (Newline Delimited JSON) and always return an array of parsed lines;\n- `'auto'`: parse as regular JSON, but switch to JSONL mode when an additional value appears after a newline.\n\n`options.onRootValue` is called when a root value is parsed and finalized. When `onRootValue` is specified, `parseChunked()` resolves to the number of processed root values (instead of returning parsed value(s)), which allows processing huge or infinite streams without accumulating all values in memory.\n\n`options.onChunk` is called after each input chunk is processed and once at the end with `chunk = null`. It provides parsing progress and parser state (`consumed`, `parsed`, current mode and root values count).\n\nExamples:\n\n- Generator:\n    ```js\n    parseChunked(function*() {\n        yield '{ \"hello\":';\n        yield Buffer.from(' \"wor'); // Node.js only\n        yield new TextEncoder().encode('ld\" }'); // returns Uint8Array\n    });\n    ```\n- Async generator:\n    ```js\n    parseChunked(async function*() {\n        for await (const chunk of someAsyncSource) {\n            yield chunk;\n        }\n    });\n    ```\n- Array:\n    ```js\n    parseChunked(['{ \"hello\":', ' \"world\"}'])\n    ```\n- Function returning iterable:\n    ```js\n    parseChunked(() => ['{ \"hello\":', ' \"world\"}'])\n    ```\n- Node.js [`Readable`](https://nodejs.org/dist/latest-v14.x/docs/api/stream.html#stream_readable_streams) stream:\n    ```js\n    import fs from 'node:fs';\n\n    parseChunked(fs.createReadStream('path/to/file.json'))\n    ```\n- Web stream (e.g., using [fetch()](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)):\n    > Note: Iterability for Web streams was added later in the Web platform, not all environments support it. Consider using `parseFromWebStream()` for broader compatibility.\n    ```js\n    const response = await fetch('https://example.com/data.json');\n    const data = await parseChunked(response.body); // body is ReadableStream\n    ```\n\n### stringifyChunked()\n\nFunctions like [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), but returns a generator yielding strings instead of a single string.\n\n> Note: Returns `\"null\"` when `JSON.stringify()` returns `undefined` (since a chunk cannot be `undefined`).\n\n```ts\nfunction stringifyChunked(value: any, replacer?: Replacer, space?: Space): Generator<string, void, unknown>;\nfunction stringifyChunked(value: any, options: StringifyOptions): Generator<string, void, unknown>;\n\ntype Replacer =\n    | ((this: any, key: string, value: any) => any)\n    | (string | number)[]\n    | null;\ntype Space = string | number | null;\ntype StringifyOptions = {\n    replacer?: Replacer;\n    space?: Space;\n    mode?: 'json' | 'jsonl';\n    highWaterMark?: number;\n};\n```\n\n[Benchmark](https://github.com/discoveryjs/json-ext/tree/master/benchmarks#stream-stringifying)\n\nUsage:\n\n- Getting an array of chunks:\n    ```js\n    const chunks = [...stringifyChunked(data)];\n    ```\n- Iterating over chunks:\n    ```js\n    for (const chunk of stringifyChunked(data)) {\n        console.log(chunk);\n    }\n    ```\n- Specifying the minimum size of a chunk with `highWaterMark` option:\n    ```js\n    const data = [1, \"hello world\", 42];\n\n    console.log([...stringifyChunked(data)]); // default 16kB\n    // ['[1,\"hello world\",42]']\n\n    console.log([...stringifyChunked(data, { highWaterMark: 16 })]);\n    // ['[1,\"hello world\"', ',42]']\n\n    console.log([...stringifyChunked(data, { highWaterMark: 1 })]);\n    // ['[1', ',\"hello world\"', ',42', ']']\n    ```\n- JSONL output mode:\n    ```js\n    const rows = [{ id: 1 }, { id: 2 }, { id: 3 }];\n    const jsonl = [...stringifyChunked(rows, { mode: 'jsonl' })].join('');\n\n    // {\"id\":1}\\n{\"id\":2}\\n{\"id\":3}\n    ```\n- Streaming into a stream with a `Promise` (modern Node.js):\n    ```js\n    import { pipeline } from 'node:stream/promises';\n    import fs from 'node:fs';\n\n    await pipeline(\n        stringifyChunked(data),\n        fs.createWriteStream('path/to/file.json')\n    );\n    ```\n- Wrapping into a `Promise` streaming into a stream (legacy Node.js):\n    ```js\n    import { Readable } from 'node:stream';\n\n    new Promise((resolve, reject) => {\n        Readable.from(stringifyChunked(data))\n            .on('error', reject)\n            .pipe(stream)\n            .on('error', reject)\n            .on('finish', resolve);\n    });\n    ```\n- Writing into a file synchronously:\n    > Note: Slower than `JSON.stringify()` but uses much less heap space and has no limitation on string length\n    ```js\n    import fs from 'node:fs';\n\n    const fd = fs.openSync('output.json', 'w');\n\n    for (const chunk of stringifyChunked(data)) {\n        fs.writeFileSync(fd, chunk);\n    }\n\n    fs.closeSync(fd);\n    ```\n- Using with fetch (JSON streaming):\n    > Note: This feature has limited support in browsers, see [Streaming requests with the fetch API](https://developer.chrome.com/docs/capabilities/web-apis/fetch-streaming-requests)\n\n    > Note: `ReadableStream.from()` has limited [support in browsers](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/from_static), use [`createStringifyWebStream()`](#createstringifywebstream) instead.\n    ```js\n    fetch('http://example.com', {\n        method: 'POST',\n        duplex: 'half',\n        body: ReadableStream.from(stringifyChunked(data))\n    });\n    ```\n- Wrapping into `ReadableStream`:\n    > Note: Use `ReadableStream.from()` or [`createStringifyWebStream()`](#createstringifywebstream) when no extra logic is needed\n    ```js\n    new ReadableStream({\n        start() {\n            this.generator = stringifyChunked(data);\n        },\n        pull(controller) {\n            const { value, done } = this.generator.next();\n\n            if (done) {\n                controller.close();\n            } else {\n                controller.enqueue(value);\n            }\n        },\n        cancel() {\n            this.generator = null;\n        }\n    });\n    ```\n\n### stringifyInfo()\n\n```ts\nexport function stringifyInfo(value: any, replacer?: Replacer, space?: Space): StringifyInfoResult;\nexport function stringifyInfo(value: any, options?: StringifyInfoOptions): StringifyInfoResult;\n\ntype StringifyInfoOptions = {\n    replacer?: Replacer;\n    space?: Space;\n    mode?: 'json' | 'jsonl';\n    continueOnCircular?: boolean;\n}\ntype StringifyInfoResult = {\n    bytes: number;      // size of JSON in bytes\n    spaceBytes: number; // size of white spaces in bytes (when space option used)\n    circular: object[]; // list of circular references\n};\n```\n\nFunctions like [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), but returns an object with the expected overall size of the stringify operation and a list of circular references.\n\nExample:\n\n```js\nimport { stringifyInfo } from '@discoveryjs/json-ext';\n\nconsole.log(stringifyInfo({ test: true }, null, 4));\n// {\n//   bytes: 20,     // Buffer.byteLength('{\\n    \"test\": true\\n}')\n//   spaceBytes: 7,\n//   circular: []    \n// }\n```\n\n#### Options\n\n##### continueOnCircular\n\nType: `Boolean`  \nDefault: `false`\n\nDetermines whether to continue collecting info for a value when a circular reference is found. Setting this option to `true` allows finding all circular references.\n\n### parseFromWebStream()\n\nA helper function to consume JSON from a Web Stream. You can use `parseChunked(stream)` instead, but `@@asyncIterator` on `ReadableStream` has limited support in browsers (see [ReadableStream](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) compatibility table).\n\n```js\nimport { parseFromWebStream } from '@discoveryjs/json-ext';\n\nconst data = await parseFromWebStream(readableStream);\n// equivalent to (when ReadableStream[@@asyncIterator] is supported):\n// await parseChunked(readableStream);\n```\n\n### createStringifyWebStream()\n\nA helper function to convert `stringifyChunked()` into a `ReadableStream` (Web Stream). You can use `ReadableStream.from()` instead, but this method has limited support in browsers (see [ReadableStream.from()](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/from_static) compatibility table).\n\n```js\nimport { createStringifyWebStream } from '@discoveryjs/json-ext';\n\ncreateStringifyWebStream({ test: true });\n// equivalent to (when ReadableStream.from() is supported):\n// ReadableStream.from(stringifyChunked({ test: true }))\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/discoveryjs/json-ext#readme","bugs":{"url":"https://github.com/discoveryjs/json-ext/issues"},"license":"MIT"}