{"_id":"nanoiterator","_rev":"6-a995c11c25fea66325e1dd9e518a4914","name":"nanoiterator","description":"Lightweight and efficient iterators","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"nanoiterator","version":"1.0.0","description":"Lightweight and efficient iterators","main":"index.js","dependencies":{"inherits":"^2.0.3","readable-stream":"^2.3.3"},"devDependencies":{"standard":"^10.0.3","tape":"^4.8.0"},"scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"homepage":"https://github.com/mafintosh/nanoiterator","gitHead":"c0f965065e6b02b839a8d6ef89991225a859f840","_id":"nanoiterator@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"dist":{"integrity":"sha512-RO7dQQZx3Y/qbaqZbsSuf/wITgdmbdd8DR73xrH11Mi+fcwJc3q7RvrsxwLN3MO9E7Wjd20vkAyRuYHgZ2VzzQ==","shasum":"954969b3a92962aac956eea7d23d6893586cc4ac","tarball":"https://registry.npmjs.org/nanoiterator/-/nanoiterator-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+eHmt8sjBZ4Iwt1d835M7pbKCH9U9KWaCVXZY47R5qAiAHCTYDmgmvtv18PVUsphcPYD7jJeMxapPDVcB8r0r59g=="}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nanoiterator-1.0.0.tgz_1517053316630_0.548198827309534"},"directories":{}},"1.0.1":{"name":"nanoiterator","version":"1.0.1","description":"Lightweight and efficient iterators","main":"index.js","dependencies":{"inherits":"^2.0.3","readable-stream":"^2.3.3"},"devDependencies":{"standard":"^10.0.3","tape":"^4.8.0"},"scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"homepage":"https://github.com/mafintosh/nanoiterator","gitHead":"753c5787d8ee6ba3b0e6fbc640bfc98ff6185b7e","_id":"nanoiterator@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"dist":{"integrity":"sha512-Pgmroa58XJn1vwwGj2YRaxVGn73kBRR/S893knOX2AyIk5xXILWVI9aXqN+iZrDANIw4WUvo7G2kEO2j86eIFA==","shasum":"b7479449501e901d6a4cf4493beba69d2a901112","tarball":"https://registry.npmjs.org/nanoiterator/-/nanoiterator-1.0.1.tgz","fileCount":8,"unpackedSize":13506,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICS3C8MoccAJgAn3jJwizEf5h1d+lW+WPEZyRKH36+SEAiEAlmYym5jyONE3sNLIi24dObkaU6PjOemr7ArFIjmDBVE="}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nanoiterator_1.0.1_1521492533611_0.25367152215978406"},"_hasShrinkwrap":false},"1.1.0":{"name":"nanoiterator","version":"1.1.0","description":"Lightweight and efficient iterators","main":"index.js","dependencies":{"inherits":"^2.0.3","readable-stream":"^2.3.3"},"devDependencies":{"standard":"^10.0.3","tape":"^4.8.0"},"scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"homepage":"https://github.com/mafintosh/nanoiterator","gitHead":"100a2588e9188a930ebc597629e7b1d88abec2cf","_id":"nanoiterator@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.9.0","_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"dist":{"integrity":"sha512-vRVHypQzmaqLrYDjjPEJIhhHvqjHTJvaj0o4A/oC5zckiejgWfbjwfTRIKppwRPJWge+elquBnWsbpvp/bHDMg==","shasum":"612b0247a8a08daac290dae7112ce092f8614a18","tarball":"https://registry.npmjs.org/nanoiterator/-/nanoiterator-1.1.0.tgz","fileCount":8,"unpackedSize":14189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfxRxJXko4utFcvDN6HJH2dhSved/cHh2IJKWD7dnVSwIhAKhipUAiJIoVurQlwlA8yKbMYAeDAL3GUJ0qpvk/E4J4"}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nanoiterator_1.1.0_1523560764765_0.9134125498039052"},"_hasShrinkwrap":false},"1.2.0":{"name":"nanoiterator","version":"1.2.0","description":"Lightweight and efficient iterators","main":"index.js","dependencies":{"inherits":"^2.0.3","readable-stream":"^2.3.3"},"devDependencies":{"standard":"^10.0.3","tape":"^4.8.0"},"scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"homepage":"https://github.com/mafintosh/nanoiterator","gitHead":"cfe160f33fcbb7954b05df5b0553286eaf156224","_id":"nanoiterator@1.2.0","_npmVersion":"5.6.0","_nodeVersion":"10.2.1","_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"dist":{"integrity":"sha512-Ybp8yZQDvjgqjrER+jlvZ2m/qzhK7gakNTKFDs84OLPrzsHcSbsFczJlNkDmyBlYldxFEO3JT3gwBWCN9nj8aQ==","shasum":"36461e246f9c52e591d8a097cea5886faec9f6af","tarball":"https://registry.npmjs.org/nanoiterator/-/nanoiterator-1.2.0.tgz","fileCount":8,"unpackedSize":14612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCarKCRA9TVsSAnZWagAAroAP/iFQHncVOYlSp6JyPfhL\nEskUVBs3ykTtPUq/vidslSvD3INBDSg/kjkIyJNw35omnSsPrKWUeF90Um6m\njANMXqBk4o0P09GwG6GrPdhnO8BmfUZljGF4t2hE7T0UiegPQc+j+1NsmdZT\n5Qh/SSuI/ukCv1yzdtCwQHc6izo1wS6oVdKNM5ns1inighFwxcBNKqJII9Hl\nBbl0eUiR1LbokQAJC6GEh2J2IkZ9IP7HEJdx5rf6/trHepBGuqQGX7RRmMsr\nxZX8RIqRY6z9AAz8Q62xlRkmdwhzAGdK+hM9AZz8qlRIlgtpu02hcom6r2kn\nhkVVNAblDzr3N3G2kN9ODfjJ2wYr+9DT0SUJn2nAfDmq7++lxWLFSxlVPWm3\nTad8TISJ8MihJc2VCCYd11++9c3ChDp3mwXZj8HCVX3jGis8dGAKpAbA8dYW\nGahMWKCZQpcSz7o732WO9vAkZ7wMZanwivL8kRLS7Flx6YjFn92KkcIY3hQ9\nDj6LMORdOtcDptIKBjAfI5JXKxrfmO/rJ3XF4gN4RAntvhfVqf3p2FUd/WWG\nIM+4Beeku1CwJjGtDlPWJ9kONkhNzRFlC2RyCg0f1CTx1s0N1SzVvCGnvv9S\n2p13k7HLA/4rlhNSz5hNsTO1jufhfGuZt/Q9THOAj2WWiU9mVFcvJUUZpUmb\nop8I\r\n=L39F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRmWq8U80ZzYSkmSS24ld7NOyTvouQcc9Yc8UIXVsj2wIhAPACCl3+7lHMEDd8sSo3s7ZbvKTRBupRyXKdNlC7acJH"}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nanoiterator_1.2.0_1527360201718_0.9545309104441586"},"_hasShrinkwrap":false},"1.2.1":{"name":"nanoiterator","version":"1.2.1","description":"Lightweight and efficient iterators","main":"index.js","dependencies":{"inherits":"^2.0.3","readable-stream":"^2.3.3"},"devDependencies":{"standard":"^10.0.3","tape":"^4.8.0"},"scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"homepage":"https://github.com/mafintosh/nanoiterator","gitHead":"85b44bf3e162ecd176152e7d5c6b39c2b3a807b9","_id":"nanoiterator@1.2.1","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-M7V9cvfDErMg/H3j90zIGY7Fq3vIGjnnNXwcZ/EXO4plZT3dGNwvykfslHgtbJ8prOGuu3khmc87pND0jdmkcA==","shasum":"920369761ad958e1c5d0b516bf575a625e1d9254","tarball":"https://registry.npmjs.org/nanoiterator/-/nanoiterator-1.2.1.tgz","fileCount":8,"unpackedSize":14877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJw6qCRA9TVsSAnZWagAAV/0P/itkhkhJJ2CFoa9NlcWl\nV9JVzsS1pkqLJIsFZvecL2+3BH+NI99d0zpAgZgk8aAhQU+FJMUrv0cwfUrw\ncwQxu2ILeE0h32cwdN56fJ3pp9zkm3QgpWUVE4IolnhT1iSnBgEF2CjedtQE\nIN8SMhWwyP1YSuXR5mir2irrOGN1kGOkqRexxfN8MAup42A6bBwUn7ISpPzj\n6kdCmrFhLaQoaubyxaWfZir0Mw2tmr3ONYGRf4eqxcNoG8wd91lZvHVUsp8q\n61qNlFnBZ2xYiTIJiOgJ+qot6YAgtKzvdPNZyczykjqs5B14rcZiv3hlMxLG\nIWZgBhWk84d+m3fUh0tjsUms8NU4hpW9d4qEnJFBLej04y3HGP8ZgZUU7M35\nxNOKIdHVzF4D9FNvsO1xaZdZNAiTaK7UF/Zf81v05agfwcA+E3PXJWuzHIEA\nKYv/jtACspnseNaWvQJcGTJY4D2zzao2Nz1/K2Hc5Wy4vB81w9C2mS7RU1c9\nH64/rCyezm52M0LaiNFzaC5OeE0stwXxKi6Md6U4yWwXwm1/bM/mwFLEUDD9\nHrtpou62o6WcJfyUiVCTfSRDH/eQLeh5WBag3rrWuwOuTNGnebX5Iwp3PFmX\n6vU3Dblg6EC6d8tYFWdVWK1/+zvdUobQzUwCBG+qG/HmTMg1vQbN2LBWcB3V\nmvBG\r\n=Yt4Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg8bU2BO2zWO4kGVvhQ/A1/dbuwbwiioJad4Q/UKIBjgIhAItKNOr8t0EDl8Fys0zjqmHASvECoAysx8NXHk2Qw3i0"}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nanoiterator_1.2.1_1579617962164_0.5472190873132479"},"_hasShrinkwrap":false}},"readme":"# nanoiterator\n\nLightweight and efficient iterators\n\n```\nnpm install nanoiterator\n```\n\n[![build status](https://travis-ci.org/mafintosh/nanoiterator.svg?branch=master)](https://travis-ci.org/mafintosh/nanoiterator)\n\n## Usage\n\n``` js\nvar nanoiterator = require('nanoiterator')\n\nvar values = [1, 2, 3, 4, null]\nvar ite = nanoiterator({\n  next: cb => process.nextTick(cb, null, values.shift())\n})\n\nite.next(console.log) // 1\nite.next(console.log) // 2\nite.next(console.log) // 3\nite.next(console.log) // 4\nite.next(console.log) // null\n```\n\n## API\n\n#### `var ite = nanoiterator([options])`\n\nCreate a new iterator.\n\nOptions include:\n\n``` js\n{\n  open: cb => cb(null), // sets ._open\n  next: cb => cb(null, nextValue), // sets ._next\n  destroy: cb => cb(null) // sets ._destroy\n}\n```\n\n#### `ite.next(callback)`\n\nCall this function to get the next value from the iterator. It is same to call this\nmethod as many times as you want without waiting for previous calls to finish.\n\n#### `ite._next(callback)`\n\nOverwrite this function to your own iteration logic.\n\nCall `callback(null, nextValue)` when you have a new value to return, or\ncall `callback(null, null)` if you want to signal that the iterator has ended.\n\nNo matter how many times a user calls `.next(cb)` only *one* `_next` call will\nrun at the same time.\n\n#### `ite._open(callback)`\n\nOptionally overwrite this method with your own open logic.\n\nCalled the first time `._next` is called and is run before the `_next` call runs.\n\n#### `ite._destroy(callback)`\n\nOptionally overwrite this method with your own destruction logic.\n\nCalled once when a user calls `.destroy(cb)` and all subsequent `.next()` calls\nwill result in an error.\n\n#### `ite.ended`\n\nSignals if the iterator has been ended (`_next` has returned `(null, null)`).\n\n#### `ite.opened`\n\nSignals if the iterator has been fully opened.\n\n#### `ite.closed`\n\nSignals if the iterator has been destroyed.\n\n## Iterator to Node.js Stream\n\nIf you want to convert the iterator to a readable Node.js stream you can use the\n`require('nanoiterator/to-stream')` helper.\n\n``` js\nvar toStream = require('nanoiterator/to-stream')\nvar stream = toStream(iterator)\n\nstream.on('data', function (data) {\n  // calls .next() behind the scene and pushes it to the stream.\n})\n```\n\n## License\n\nMIT\n","maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"time":{"modified":"2022-05-10T09:03:44.707Z","created":"2018-01-27T11:41:57.481Z","1.0.0":"2018-01-27T11:41:57.481Z","1.0.1":"2018-03-19T20:48:53.694Z","1.1.0":"2018-04-12T19:19:24.851Z","1.2.0":"2018-05-26T18:43:21.784Z","1.2.1":"2020-01-21T14:46:02.273Z"},"homepage":"https://github.com/mafintosh/nanoiterator","repository":{"type":"git","url":"git+https://github.com/mafintosh/nanoiterator.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"bugs":{"url":"https://github.com/mafintosh/nanoiterator/issues"},"license":"MIT","readmeFilename":"README.md"}