{"_id":"iterable-ndjson","_rev":"4-9e2db249d28d8d3db6a3c23a3d5fb629","name":"iterable-ndjson","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"iterable-ndjson","version":"1.0.0","description":"ndjson to async iterator","main":"index.js","scripts":{"test":"standard && nyc --reporter=lcov --reporter=text ava --verbose"},"repository":{"type":"git","url":"git+https://github.com/alanshaw/iterable-ndjson.git"},"keywords":["ndjson","json","async","iterator","iterable"],"author":{"name":"Alan Shaw"},"license":"MIT","bugs":{"url":"https://github.com/alanshaw/iterable-ndjson/issues"},"homepage":"https://github.com/alanshaw/iterable-ndjson#readme","devDependencies":{"ava":"^1.2.1","nyc":"^13.2.0","standard":"^12.0.1"},"dependencies":{"string_decoder":"^1.2.0"},"gitHead":"2a677775f33ba8a3d60cf5adddc7e38a404e2d53","_id":"iterable-ndjson@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"integrity":"sha512-4AS0/OAKeEThKBpzbDK+LLJK0GtT6bAdJd7ANEAIIugKjG96/gZzuaYSNYofUOzfKpJe0k6CfomQJJpGfcb06g==","shasum":"0946ae5c506074abbe85d37ee1639c1ec46689c2","tarball":"https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.0.0.tgz","fileCount":5,"unpackedSize":5459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYsLOCRA9TVsSAnZWagAA1YQP/3RDD7rA9Nt0YGa7HZco\ny5pVZRH0ABsDICpgUZD13JgZwaZqSUziH2d6mct5YF2eyU5B9UcBoLk/2OKJ\nNrTuMF85PK2AKuWvZqav7I+0jViLCPqVUbdauWXZtOthVf4nSX6K1cleSEOo\nVSK9RE0xZ23KrWLeWj9zNEsI+yqmBtGh8aR6GDX4QMSlwz3V89cMZx7R9IsG\ncyGFtrh2tbe9iKkgOey8hSXzSkQEmrf9GiF7EqrDPsUAxIdZvNU5+lBXO3ye\nF/b66Ubj7sj2cu8EQTW0DttIfFKHoel53KtVZwx/8Yj86/9KJnpNtSPUAKFY\n7V2nzKE2zTzqw8UfpmB4WLJprSoe2h4kL1wefe/NwzQwjuVBBBiFGXJdH4O2\nDO7P1MF6hLoQoRuBsxZY/PJiv8uNyTeFr2ku3jlB2dBT+7pdotlFhMdNjoj5\n6MycRj+vmZVv2Khkldoj7miEG3kiSs4+rOLwzjRebowsMHRV2pKS6wm8Nd3r\nR/jkPu8IHOalzdNmQsOYePq4B69igc0dQsoaiKkia5FBoc70RgcxSRYWS/73\nz7Qc5+3AGanlbvNcpqoTRseWWjxdllDj9MrHijyUVfcyEbqONKnS9HlxwKvI\n6oihnrv0k+DhyxvyGml7rfkcKdpDm02a987DVmdKMqWs8dchZW5nh0GZuHXA\nwk7T\r\n=5mwu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFFYH0ZS94O4oq2KB5tDqA2gwzVCZLNFL3i/Ossgxu5QIgLd/vC31cwj+xbHv+qD36FABmjQvqEfbb0uJAmCJxERk="}]},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterable-ndjson_1.0.0_1549976270276_0.9716075569007288"},"_hasShrinkwrap":false},"1.0.1":{"name":"iterable-ndjson","version":"1.0.1","description":"ndjson to async iterator","main":"index.js","browser":"browser.js","scripts":{"test":"npm run test:node && npm run test:browser","test:node":"tape test.js","test:browser":"webpack --config webpack.test.config.js && cat output/test.js | tape-puppet","coverage":"standard && nyc --reporter=lcov --reporter=text tape test.js"},"repository":{"type":"git","url":"git+https://github.com/alanshaw/iterable-ndjson.git"},"keywords":["ndjson","json","async","iterator","iterable"],"author":{"name":"Alan Shaw"},"license":"MIT","bugs":{"url":"https://github.com/alanshaw/iterable-ndjson/issues"},"homepage":"https://github.com/alanshaw/iterable-ndjson#readme","devDependencies":{"nyc":"^13.2.0","standard":"^12.0.1","tape":"^4.10.1","tape-puppet":"^0.1.7","webpack":"^4.29.6","webpack-cli":"^3.2.3"},"dependencies":{"string_decoder":"^1.2.0"},"gitHead":"828a995e415382278153b7584646f973be7f4d17","_id":"iterable-ndjson@1.0.1","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"integrity":"sha512-722WM6FIo0Kb5N7+G49nZ5w2IcL7v1tTl1BFrVUvV+eAsSaUL/pZ8AK/kUOL6s0Dtglcoo/4FeHEjUThbYOjcA==","shasum":"e5797b120cfc41df61d555f4d6a92bfc5e78f441","tarball":"https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.0.1.tgz","fileCount":8,"unpackedSize":8574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgPJyCRA9TVsSAnZWagAAbkIP/jstjOZGISerb+j2V+gd\nDsq9XhR4ZoM8L54hVFBGNOzDO6qc6E+Z7XQNaXrLVrPIFremTmSleoSSB9MJ\n97A4rxmm27G0Y+Sv2QHOI7RyjOYezWtp/tHi7thjHd7jrB27OoUTF1oqscEL\n4elbG7WMqxUECNPLKvj577fzl7C74YH6m0M5yOhBZNeWd/oNLsLH0d3JeweO\nQN+uaIhVZNrtdDmvFtp74xkxxZnSE9EGswld+6S9YD4qBnVy5Ovd/kJhCxvj\nWyu0V23MCn0UIcavUTu2ekQFO6gnf6VNiJzX6TTKuUhAkDnTAKDae0vzh/tI\nA0nijKy/7DKwXvHPSSKAudnFl8RAZWXTYOib4FRtWGC8lJDcvA+p6lHww0Wb\niKg2OAccsT3e1js9uSYGWzTWNOMrSgehb1DnI0xkKZxbs+vvyeHIk9HTBhge\nc1GTA/v3Dk3Iu8CzjL4SYexAwy1lh5vJK+vqd/v5/LiwdUaT947os8ruGZGj\n0KbxGe75CXCj3McN2uhhLlhWh1hwk+CTashr1F6noPQlBEC09azAA5noGT3m\n18y42vX5fv0LVy4ux0n6JWCodi+FkIHTeo/gj85CHcGNUAqtv23nfBYoZS65\nfWZaC1DujYcJqVkG7SdcTddjJfvbWHjspPG2RO/+2DMGP8ZgH/VlilWenN9z\nRD9r\r\n=S79k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxPMkyKfMTAdky4+Yq3cEJr4ei5lBKYloEjEhRg1Cb1gIhAKQzfaK7c5PpSN7cseZLKxRzgwtOCokxUYMe7AUrqWFZ"}]},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterable-ndjson_1.0.1_1551954545413_0.3223599279035978"},"_hasShrinkwrap":false},"1.1.0":{"name":"iterable-ndjson","version":"1.1.0","description":"ndjson to async iterator","main":"index.js","browser":"browser.js","scripts":{"test":"npm run test:node && npm run test:browser","test:node":"tape test.js","test:browser":"webpack --config webpack.test.config.js && cat output/test.js | tape-puppet","coverage":"standard && nyc --reporter=lcov --reporter=text tape test.js"},"repository":{"type":"git","url":"git+https://github.com/alanshaw/iterable-ndjson.git"},"keywords":["ndjson","json","async","iterator","iterable"],"author":{"name":"Alan Shaw"},"license":"MIT","bugs":{"url":"https://github.com/alanshaw/iterable-ndjson/issues"},"homepage":"https://github.com/alanshaw/iterable-ndjson#readme","devDependencies":{"nyc":"^13.2.0","standard":"^12.0.1","tape":"^4.10.1","tape-puppet":"^0.1.7","webpack":"^4.29.6","webpack-cli":"^3.2.3"},"dependencies":{"string_decoder":"^1.2.0"},"gitHead":"8f80a8fd70c6d4df87c4817c63dfafa97ecd3dec","_id":"iterable-ndjson@1.1.0","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"integrity":"sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==","shasum":"36f7e8a5bb04fd087d384f29e44fc4280fc014fc","tarball":"https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz","fileCount":11,"unpackedSize":9629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm/F9CRA9TVsSAnZWagAAM9YQAJEPtiSBncRNHxNLRszu\nOm31G2s9a13DkXMJIc+nNCzy9pkBT+vvnLnGacJxbPQDOUDvKJveZqkd7LOe\n0V1DXME9vaH/BQGAnbj8Fp/Ue3Q7VaJJ5SWj4sEDo5WV0H5HDLZYMaW5LKGE\noWF2/MFHchAa0evselB8tHBAyebeXnzFDTiZKs67//L/PvMgT39DripyKh9Z\nM5wVrXcnUGYheDNzG5rOufpglHhY0ui96jzAAKOCR1WBkmnZWuBu0QBQjR7C\nA/zLt1tKtmi4xRLA5ZC8q95MU2cR83582RzpwCvM2aClXyjh8O20VMGho5PU\nLQqObo+sLVHOBp3/t4mTekeZ7up4RE3oKbkmAG+nBTLjg70lkP4PoIp66t/Y\nr6R/zgjFfh+n3ZXTJMwye5pdJ+M7nzrnH3g91eKGcvv1i62aFAJstVAHjo7V\nwyz/6seulz347tLYvFQT9n1bJ+ODoss0KNq9kUWuJ/5cB9d/oHy+VmJni0Pt\nca1QfOHrjsZswVxi5M/I6sqdgV++m67QSjo/a10gbbLrw/6s5znOiPED5bbk\n5uzBD8zYfB2sTwMSvtzAiSUSA6KizgfvC99s0y8SJfkF+Q0uCC0oVjtHvntF\nlADHcQ+rCQSMmT15f35ULsAvcfgq95FrcKOH+oAqmRJTMdATwTtmOhGKedK/\nKm/N\r\n=ClSq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH5k1IQnVLjFHtO3K94gK3iea6fnplP0KoBQn+DWQ1ILAiEA80eZCWirnh2a7CSgclxWoXJv9Zl2E42SRQDamWL+EBc="}]},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterable-ndjson_1.1.0_1553723772538_0.8161287468356822"},"_hasShrinkwrap":false}},"time":{"created":"2019-02-12T12:57:50.275Z","1.0.0":"2019-02-12T12:57:50.423Z","modified":"2022-05-06T07:05:56.926Z","1.0.1":"2019-03-07T10:29:05.510Z","1.1.0":"2019-03-27T21:56:12.675Z"},"maintainers":[{"email":"alex@achingbrain.net","name":"achingbrain"},{"email":"alan138@gmail.com","name":"alanshaw"}],"description":"ndjson to async iterator","homepage":"https://github.com/alanshaw/iterable-ndjson#readme","keywords":["ndjson","json","async","iterator","iterable"],"repository":{"type":"git","url":"git+https://github.com/alanshaw/iterable-ndjson.git"},"author":{"name":"Alan Shaw"},"bugs":{"url":"https://github.com/alanshaw/iterable-ndjson/issues"},"license":"MIT","readme":"# iterable-ndjson\n\n[![Build Status](https://travis-ci.org/alanshaw/iterable-ndjson.svg?branch=master)](https://travis-ci.org/alanshaw/iterable-ndjson)\n[![dependencies Status](https://david-dm.org/alanshaw/iterable-ndjson/status.svg)](https://david-dm.org/alanshaw/iterable-ndjson)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n> Takes an (async) iterable that yields ndjson and returns an async iterable that yields JS objects\n\n## Install\n\n```sh\nnpm install iterable-ndjson\n```\n\n## Usage\n\n```js\nconst ndjson = require('iterable-ndjson')\nconst it = ndjson.parse(source) // where `source` is any iterable that yields ndjson\n\nfor await (const obj of it)\n  console.log(obj)\n```\n\n### Examples\n\nNode.js streams are async iterable:\n\n```js\nconst ndjson = require('iterable-ndjson')\nconst fs = require('fs')\nconst source = fs.createReadStream('/path/to/file.ndjson')\n\nfor await (const obj of ndjson.parse(source))\n  console.log(obj)\n```\n\nAsync iterable:\n\n```js\nconst ndjson = require('iterable-ndjson')\n\n// An ndjson async iterator\nconst source = (() => {\n  const array = ['{\"id\": 1}\\n', '{\"id\"', ': 2}', '\\n{\"id\": 3}\\n']\n  return {\n    [Symbol.asyncIterator] () {\n      return this\n    },\n    async next () {\n      await new Promise(resolve => setTimeout(resolve))\n      return array.length\n        ? { done: false, value: array.shift() }\n        : { done: true }\n    }\n  }\n})()\n\nasync function main () {\n  for await (const obj of ndjson.parse(source))\n    console.log(obj)\n    // Logs out:\n    // { id: 1 }\n    // { id: 2 }\n    // { id: 3 }\n}\n\nmain()\n```\n\nAsync iterable generator:\n\n```js\nconst ndjson = require('iterable-ndjson')\n\n// An ndjson async iterator\nconst source = (async function * () {\n  const array = ['{\"id\": 1}\\n', '{\"id\"', ': 2}', '\\n{\"id\": 3}\\n']\n  for (let i = 0; i < array.length; i++) {\n    yield new Promise(resolve => setTimeout(() => resolve(array[i])))\n  }\n})()\n\nasync function main () {\n  for await (const obj of ndjson.parse(source))\n    console.log(obj)\n    // Logs out:\n    // { id: 1 }\n    // { id: 2 }\n    // { id: 3 }\n}\n\nmain()\n```\n\nRegular iterable (like an array):\n\n```js\nconst ndjson = require('iterable-ndjson')\nconst source = ['{\"id\": 1}\\n', '{\"id\"', ': 2}', '\\n{\"id\": 3}\\n']\n\nasync function main () {\n  for await (const obj of ndjson.parse(source))\n    console.log(obj)\n    // Logs out:\n    // { id: 1 }\n    // { id: 2 }\n    // { id: 3 }\n}\n\nmain()\n```\n\nStringify JS objects to NDJSON:\n\n```js\nconst ndjson = require('iterable-ndjson')\nconst source = [{ id: 1 }, { id: 2 }, { id: 3 }]\n\nasync function main () {\n  for await (const obj of ndjson.stringify(source))\n    console.log(obj)\n    // Logs out:\n    // '{\"id\":1}\\n'\n    // '{\"id\":2}\\n'\n    // '{\"id\":3}\\n'\n}\n\nmain()\n```\n\n## Contribute\n\nFeel free to dive in! [Open an issue](https://github.com/alanshaw/iterable-ndjson/issues/new) or submit PRs.\n\n## License\n\n[MIT](LICENSE) © Alan Shaw\n","readmeFilename":"README.md"}