{"_id":"iterator-helper","_rev":"13-22389fd80373331adfb2704b99ffec02","name":"iterator-helper","dist-tags":{"latest":"1.3.4"},"versions":{"1.0.0":{"name":"iterator-helper","version":"1.0.0","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","scripts":{"test":"node dist/test.js"},"keywords":[],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-polyfill.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"26658c4e57f9f38140a2e2993952fd13dea88d96","bugs":{"url":"https://github.com/alkihis/iterator-polyfill/issues"},"homepage":"https://github.com/alkihis/iterator-polyfill#readme","_id":"iterator-helper@1.0.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-l5g2mvmDEaR6C0EZ1phuigZrT/F2h/6oGR0rqOEKZDqvR6TaTN9pOlGAT4At757nL4gAdr+FS7bWOAgiXn6CFQ==","shasum":"1118747beb94c29c2c5f7a56cc9b4b2a2c2d6b3b","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.0.0.tgz","fileCount":6,"unpackedSize":51408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFcIRCRA9TVsSAnZWagAAh68P/3MRNiuRAMDnHV8GqMcl\n9rA0JzRb+39HwH0bNUZ8jKqppG3nb+BLdGJnnBclPjbVzHfj/v4bs96bZeW/\nkz4AkIsB4b/a2eGq+llMjir13InqwbPKPxghDlNMaV1uBn4CExkhixz/srk6\nNaJyiL3H1ycVZwnuNMT77O+TmlxErwF+frkXqGNuyOQee0fWajA5M7Qv5Stf\nHDyF4Fenx9pyvupiQTRgo22aJHIHdRzJOkW1zGf/RAqG8zYxJdearjmkhsZB\ndBh+MUw/tmUYxzVSF5WWL0Idp/irLOMyErygTe+NeLaGmMLHN2BJM0P3iWYY\nnUaU7DnxRQexgxuaCbVq/gJRcKuHKg4lQZUBCxS6u7m8uD8AVsfaV6Byh64Y\nXoRIy2AJqzQxinDU89zVgOBHjmbd+Z7jQboXn5WmI9tyLhJSHEw5DzgIyNmO\nusj1MEa/8LJPo0rvrG5jmg2fjUPNK3x96vD6H8TBJlMlJ+UEo88qT6C/xTCB\nAeQZvn3EWYz/Sf7J13LlzJiyb8E0wA56+I2sH8JkA/a1rfsrmJQEBOlf9FJs\n4Y1DPefLc1lU46WBYFR93TJX6LID7gLff299NmpWKP3xlqs3yTZbXvq0vKsf\n+Xd8s+05NOV9S8oiLMukTVgOYwIbrabewK9bomnB6VaqLo8NsiXWr5ADeRzA\nlqS0\r\n=0BYg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2DR/luh9r320MYy0L/MYog6f4MBFUixVhSfpcu7wVgwIhAP69eeOnDHfZNxU0DzimNfiCIBntnq2bEyvoth7JZaMC"}]},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.0.0_1595261456990_0.9403758521926207"},"_hasShrinkwrap":false},"1.0.1":{"name":"iterator-helper","version":"1.0.1","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","scripts":{"test":"node dist/test.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"95146348c8cbbf4321d22813832f3d7180ceabed","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.0.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-cnFucu9uLfRLE7qw7CGMe3LjixCEMUiGCMXZRV3BGsKEl3e+h8QB7oi9iWYs86op4teK4K0f/zd5MIlwOnZqcg==","shasum":"d022998bc14ebe853b6ec59c8126b27ebb372a0d","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.0.1.tgz","fileCount":6,"unpackedSize":51489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFcW3CRA9TVsSAnZWagAAHfgQAJ6L1JXm9h3P8RM8Z7rX\ne67sdkTYEpxt+bZMi4uJQg3mCA8+90vQAWopwSO9d06nbjpddtTjnuuWmd+A\nA4UysD4+y0qjtDeHNJhOaAHDflJklYJWNXh8qfSSuEIULk4YWvuWA//0SmsY\n0cqDvWcmiV0GGm+E/qo4CwQgbqkVaRIpCEJQC0U+0M5/cEidf4JizxwM+mGI\n+z+rj8+smDqvxgmoYj+PEfFRw14c7YnoiMYoRRSRlQ1XT6NGqVRMGl+4aHtw\nTiKN1bvmEeOo4PFfG2kli8H2/JL4kOiTTc8a4ukn41M5Qe7GEGJpNkh4kcs6\nnhrdl0LqmaFhfBlYcpeOGbenattNLU9wIK663EHlfJF71w7UUcTnfufV3rpK\nAkBTx95GKKFbqpargIEyN4EbeS77jihROz7kepVU0lgP5Hl8CT7VRuAgUPJj\nPdGO8XMojRSC+vZSldIBpNjxng8/tPFwIhilfasG37rfoJYQEVUS6IsEy8g9\nSNLFyY6b0N+qZZQt0sL10nt/hQm+zjYobqrGfAzaLbgw4tfvrkjNfA5bW0D7\nlY4fSKD2QA0zd1lNGOveB98QXELmodZoiHOr0hTxXlxBgJPuCwnSNLlfB0b2\n2PF7F2i6/z6jH3++tVBcdbARkJTBcsPu1kx03F0NK2c90Jac5H9BHzwKy4zG\nGQTx\r\n=jD0m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTYIERFrfH5sv+XZL/J/nbHyK5mEs201SuSWwUHTuw0wIgQuqD2S984b9oT9CVCLi6Vg1jEqLUQD0tFK8IG36mHVg="}]},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.0.1_1595262391527_0.01771538040965681"},"_hasShrinkwrap":false},"1.1.0":{"name":"iterator-helper","version":"1.1.0","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"23227d225acb84a3951a521f1d0cfe6d8ceec9cc","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.1.0","_nodeVersion":"14.13.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-UVY7x+2LsRyUx7uK/a4gnAwb05BroGz6KtoW2yMzLubIR4pXjxGlyjPFhOTC22+b0SiTvVtwQROe5PamjvuYLA==","shasum":"8d4f985b41a05a416bb463e6ede35c359061ad95","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.1.0.tgz","fileCount":9,"unpackedSize":77955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgABeECRA9TVsSAnZWagAAPcMP+QGM5eEYpVikNxhPuTbx\nU2nXRXT526AJG3fRLkYbYUazpv86iE87kFtB7m4j0I5Axc2pje2yeigaIp/Z\n4I/PQxN4IiVfoAcKtmcuRs4tjHerewEy4FpMUCE45unnVEIzYYngEayAzKZ3\nXFunND+1ZKoZUJtVUU+PKbsG5UnYVM4YBiEaYn1StoyaT3nArfybMn3V8t5F\nI9jmAcgf3N1xCJfHo6O3YVRI3qn7Z6D0N1pmTvoujWwH7pbfoEEXoseueTLd\n/HDCVg0f+ABSdirMNvLpE+kSCQ/rnDYxbsKavzSPDrq9AAAfB36axSd6BF8I\nqXeZ+LW1vc+QR+q2I0dUUMP1pgVFbTFXK7Rh/BG7aLsQTR+1Y1QxSs+kjeAC\n2XIBwOhORFqHUsC7vS2bwfwTga7F4CbdjwqBl0pQir8CMjCEvhU2GCDPhD87\n/J00IxFLtyNZXzopK2XjP6sbnayTTD0rLA5wJy5xZ6ajhLq9ovSQ2Fof9mp5\nebtdXk6luVQWpgViYVoL4bMRutJjNsKB//rFDYx4vmmlGFSEvT+F1o7kipzW\nTHmpmbGOHH7JAenj33SniG2kWFhBi9qMZU34xsgxnF+vWutZAWqfNWRhdLk4\n3WHt3kCSyC3vKLBam1nRqiqnA1Gni2da9Aeq4V3wIEURRNa6rUoF0NSrsLP/\nxdqu\r\n=NsaT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBzyhbF0umZhma2hdl/gWzX7pqyxwwnmU1ZEuqTqOzwyAiEAn5lyinZmB5jd0lMSaa+JrmbAMPvuAjTDpyv5grZM+W4="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.1.0_1610618756136_0.28708012423058427"},"_hasShrinkwrap":false},"1.1.1":{"name":"iterator-helper","version":"1.1.1","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"aff9ca42eb9e899eab2526ed700cd4825e9eb0bf","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.1.1","_nodeVersion":"14.15.3","_npmVersion":"6.14.11","dist":{"integrity":"sha512-Fs7UnhX/2e2CWUPDXa+E4AM0mtZtZXwAj8hNMw4CnESF0Ne8hZOPGIQEO2rFYcztO3AeF4+3nSezDsK4u9eyDQ==","shasum":"1b519dcd99d66c405ad7ffe0ba2b43f845e72175","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.1.1.tgz","fileCount":11,"unpackedSize":88391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJt7fCRA9TVsSAnZWagAAD9gP/A9/FX1B/qc6CiV2DCKB\nPb08PW1ClhR0z3vsN9cUUXwk5Ryhc8GXH5NjiToQ1ZRQs/tiHD5QRZolUrSx\nI0xWwrlRMCnLcl8GpdzS7kwAgajuoBQ0cUYUZeLYA9wMt/VT7ntxbasMbCMg\nJMQLvN39olxKMEjH4qAUDMMKIowJqR4KuHo4TC1XFVMEbUfxAjae41mmgeXN\nksBTHQgsC8pYhfwTVxxRG6X3Wzo3SeSbmDPpojP5/u6PQv0DtZekhxjE1wqn\nihi0xUH7y6djLBFBcosrUvJxdt4aFw+e0luDsXiygxUflOhHAHUBUlkepN/g\nghWR0ezPv8OERL2Ly/CLhEXblOzs+rwerXKSTI7yrXZs/kNca+F72JFMB6ek\nej6qct7sXo8+UvN7jT1GnUGuqU47TTSh2wdOVADbGZgrh0C2+orPnG8CXhoR\nSkwZ1CRetdPKBuYFz6+ctz4ZJmCWVgkBQqN/XjJglWOuWPSCCqmJ3wnSbNpD\nXLf6ma8M+uQjBk3kkD8RvW5TzTw6nxi5BPCQam2NWtD+cnXHLks4PIdLl/Tc\nTxktpPzkwq+RYM47ticPwJPCD+0yszbUu/3I3RE7V561oZVo5qya0W0woXRo\nvhQcr1jVZhcO7Bcf6i5uHGqK8nbOuQF80bDANN7/2EolpIZ0ffaT+Y9uziAN\nGYOe\r\n=GoZP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ809r2U2ARATaJLVe7/bmiDsArXQGB9h7rs6+b+QLRQIgPcmc875o6IWaaEhMKYUKqNt1nZJj3KZ4Ir4vVBfFOV8="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.1.1_1613160159042_0.5147144708775602"},"_hasShrinkwrap":false},"1.1.2":{"name":"iterator-helper","version":"1.1.2","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"0d241eaefc4c70df61bf383b0df2e6c43a2aa607","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.1.2","_nodeVersion":"14.15.3","_npmVersion":"6.14.11","dist":{"integrity":"sha512-zsIFyourTfidYRoGjRY76lciWqqEF0dW7krkf6WOd6MrhHZ8tALudRRgvFnfwSH1gkxkMOFoj2fG7W8g920T+g==","shasum":"514d2ad8c0f9209ec82fdde4cb417c82e5c68a7f","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.1.2.tgz","fileCount":11,"unpackedSize":88391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJuASCRA9TVsSAnZWagAAYvEQAJHRNb6LnfbaMK1b50dK\nT/PrH0dSp+IvEtiraYeUO31L/GwI2qiVeCdgGej7e4lsVYSiSjKLDBF2BvD/\nHFtg5igp/UWpd0u8g4yX2VPJ//qeXUEaInJq/Rm1oYGS3GX8ModElX98ST5e\n6n8WyGaz4ybg8MWgZKk3F259OnWVPxwLDtog/oq3jtcDU3IQ6pucUp4ORDl5\nixcPPt2TbVTVGi+qlfA55JFkbn/76hcG7UH1BM1JROgLxyoZnyxzV0bIEIm/\nwO5R5c1UZ5JHerySBMGypl/sDpHlRm4ZkAjZ30YeObqBnmOv2/oskb76Suht\nVr2X5U7/2voPM+dLkrH2oql5a4dcZpxnt23ia4lqlai7ao8SJRoxHIG8a0+N\nJEoXr97h82AyF1/5rzrlIkqJKDCJYSDisZVAOASQ8qZP14/O6sC5UgnQ5oEP\nayFUJX66VaA1CvDLGXxI5FZLO+6s2WCshBdvW+NWVXVjPJ/vqJ/CzzDq5/RP\n1pkdHH4xRU4jL4uRJkCGZ0IsAqloz1JJ2JIm8zYXUW8OnC3WiX8VwtUgW6c2\nN0K6buox/j51K4btQR7ZZvp7/RMjRSURmHvWXH0kxxXDauTirvFg0p+r7hcS\nNCm6kXfk1oV4jaOjsUT7WlzgYJQNExv9JSQ6NOLtCAMHKDNX0hXbV0MCJuEm\nhVyU\r\n=akNx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXMeLtFzNqgVSpsAfTnmdn4Xa/S2mIW7QGlWOk1UhlJAiAuI4KfK5q6cbAdTMOgp5E3ZP86DmP+wktm8IZ6m68nNA=="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.1.2_1613160466314_0.7197867912092424"},"_hasShrinkwrap":false},"1.1.3":{"name":"iterator-helper","version":"1.1.3","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"4b606ad946540fa2f0cbf1d4739905823f0bdae7","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.1.3","_nodeVersion":"14.15.3","_npmVersion":"6.14.11","dist":{"integrity":"sha512-5REj2MGSIwQl45uxfacmXIBr1O+Mar2dtUtAyf9fPf4sGpwzEXwWK9sTGqNFD8Y7kUzUeaeRregsUIwpJaNYYg==","shasum":"6940c3a269c8f52a1528bd4d830f757020550c8f","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.1.3.tgz","fileCount":11,"unpackedSize":88391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP7a4CRA9TVsSAnZWagAAuGAP/1i+qJZxG7F+QiLFosXP\nw2AbIvkfud6dcvo0ozS5AEAQbbm1zx+8jv5L/Ap6gL/BxYsmtarnSyihtWea\npUG3Iu613Wld5Agn8ts1PT6WHaZpQyrd4VFJ+TjRRf89aXBFHB+qX0SH3bkF\nmsgX4w2RQQJzFxXbuMMNYIUew7oYhQQ8SetFIz3PGA83ug1quKUViBElD7+U\nxXnMZICLeWxR3+z8ZxcepNWEvBw99Ja8jnmSKp4qQxbguZntGdJf+FdgeIf3\n4keQryKqI/OeGeitb/sCLDISFBvNFPudbaZOTx6JoAgrkono9VIDBAth73Ua\nAk6doeX2ueMjWj+qbPTQC+EjSnGlsSjUXpAu0V7bu/i2lJO7lvmS68nsZW26\nVqyInfiFRKOn29EkaUGvsw8+Y+52uPyptMwGpeQO94qdBd5f28ZYQGRGhg5l\nFbDRlSjLuWnZw5HcqWdR3V510+QyUBE3uKn9b/xuWCmovA5r5A+ZgrFNwkEb\nzeHxZbkRm3jobVzCz6vYFSx/9foqsW+RCb1pxixofrC3M4n872UBRtK6Plgz\nsoLv1v/t/TfLsvKnDRQRmqmJ7jzEpgRmW1tm423AecGuPqVh6zHkS/O/af4C\naTRN8evwFSiVgVU90d306PF85Lo4bS6WrE6WtGK/gXTNcmvRuOifcPWFp3mo\nCT6Z\r\n=thYr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxAoqO1klwMjxfgYGoEzWXfIagvfzeTtndBQILwZ5bdAiEA/ARWdWAz4/IiIuBnFo6/RvZlJKOuAWeDOB1zSf21E6A="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.1.3_1614788279967_0.20484854192780522"},"_hasShrinkwrap":false},"1.2.0":{"name":"iterator-helper","version":"1.2.0","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"52a14d5ee3f1e438005a892966cedbece29882ac","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.2.0","_nodeVersion":"14.15.3","_npmVersion":"7.10.0","dist":{"integrity":"sha512-mY03WrRkiIy05gqQ1o9dJ+F0ZIViZz1DfbuldVi/k71hUGPOO4mUyJULgum3h+wzMzkYjAdZEBTA4rPQGylw8Q==","shasum":"c944506fa9968d86fd9c1e5ef13cba80efbfe0d9","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.2.0.tgz","fileCount":17,"unpackedSize":118744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg70JtCRA9TVsSAnZWagAAn9EP+wTjcEBTy1ewxsN+kfdD\nzIpypeUX2nzxS2KEWKv7URwMX1t9nnzxvPLw+MrNSUxf7HNdVH44PXevxWi+\nNpjcjPuF8OEEQ7q5aV+IGWREty3ERK2f704r3fMuGsvdhLrG4+hpgSt2zQcw\nOPhk2qVDh3zG9lSD4Jrv1DfyaAc8ivHh52YkYa2HzA1Lf+ju039Oo7KwhVLB\n9QhwwuvwxaVgnl6BWKsdOi1AP46K37MRO/a8ahh++xTyq51TfJQJMNBxWMnj\n6n31Q0a9RRlrCn/xGIuZcp8Wfekqwpl5Z8ZswK0LPwZzthvUekQMbht79BOI\nthvtezaJQiBmZUYPYxIN5Inuooq+qmykQaCWocnTS+N19kyP1etmvO+Mo2mG\nwGYDx5pC8DJjklX3wU+ENAv3idHI4eU67Ut7MJEq7GPoFGR1l1r96Qo/vusA\nJn6yL2hWrlr3c1rCIxKqbxC5V72Wpo7cTMMGhdZZB8H/PEtna8VKe5tsGT6A\nrohydQ+TnGoVw/I7N+6TNl32FI0YPCa2an6kyYQaKYfJMPFpFGn5QEYCXopG\nJVKPgW6HBNGBaZIs6m3EvfXVYYNcai2ylsT74+q106RWWEut5zm7dWnWnzsP\ncPWFR14m7OXoH8k9qLKlVDp2UVtOnT2BmiRYdxxDz6He0RZlTAh0qYCe1kfp\nfBRR\r\n=eUuN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCq08aIXHdKdXYru/WGXhNXdTMYfe+gfrP03/CWFxJpnwIgXm/VT+8wjWQGc3aRzOrRbSVbFRl5KkLotLyfRZfdU/8="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.2.0_1626292845392_0.3526074333091518"},"_hasShrinkwrap":false},"1.2.1":{"name":"iterator-helper","version":"1.2.1","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"04e1c43b903a5dc9e985d003c02dc8230aa51317","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.2.1","_nodeVersion":"14.15.3","_npmVersion":"7.10.0","dist":{"integrity":"sha512-SR0FproJJ779InzuNddRsfS2q79iW24IjEbXilzXZ5KG92fvH+uI+iGDwqNM4KX/MX9+jEiEcKVzFsOzMaqMJQ==","shasum":"4cc0d8905b3eaa70a009b4368d7ce8ecea5ed74f","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.2.1.tgz","fileCount":31,"unpackedSize":170979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg70NjCRA9TVsSAnZWagAAkJwP/1ole7OumuEaxzlQctRx\na3kqqgeEiP+sekxLv/DeHd9RwDd5tD65p0BKA3ir7XVEmhAYM1+8RoNOB9bW\ndNpSAXPf0X/Vj9bJ2iWBQqCobIYzJ9CM9TSxQlXUGz7n12cMbkxAr8g2GlEi\ng2FgibFo4y6AUJg9Ja2JLAlmPFMHW8iL5kMxmuOGo7PFTaFjWAQSQWaeKgdX\nXilF5IB+LjlQq7NNmgibeuNHeq0rNBs+EJtIEBKPa1SrYLNFMZQXyJlVpXcO\npgq7sg9KHktAxxxl9kxFNaqr7WTKfuAnc3iMUvWgqKLUpyoNsMNJtGWPfO5s\n6s1wgWP+nQACAZ4TdNUfDZZsteS6Ygb2z+9zh//PQpcm5PZNjQxTdmkrjDi6\ncLFXjlZojYfBhsUrR+GycSY4Dwh8P5dOptwD8DTsdF4nUMqS/1b9rSRK9dAG\nPXiOEs9pavjlUCSvwA7aQgVzjYtmREV4OkjYLQaaBawF7GeGEGivAsPiEeIw\na7unQJqPsA2RPT6WOkuk3bk36bZcUea/kdSCjqbRUozcxxf13Ry4bqqGEJ3W\n9faGtSZuJDPtsrcamJ0NXfbNFLXsPZdn1J5KOSZMYwtwpg2SjwUum7CabU8r\n32An+kb9VpEZSu/IgsQjheZkj17Mn+TRnRNLp6pmtDK1i9jwfCF2zCm/S/G0\ntDgT\r\n=o0QB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFZ01iAPv8y1QPznAJcvKVy3+UObfpvmZvWPEjAatrsuAiBzvaVPNGpjtA5yY5EnVnHJVvkJvtkkEthtKem4BonJNQ=="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.2.1_1626293090587_0.9973729156041895"},"_hasShrinkwrap":false},"1.3.0":{"name":"iterator-helper","version":"1.3.0","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"06bda79aca0f21ebf3e2b4cf60e06f7f7696b5b9","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.3.0","_nodeVersion":"14.15.3","_npmVersion":"7.20.0","dist":{"integrity":"sha512-bNm1gHMTifayQedKXWhfqBJfXY+EcpWBAEBa61tLIDHuQzxFq2UeTlu/9Qi60aDqkgS8yhIuBVC5rmhf9+4Xag==","shasum":"25d5ca1b05a38b10cfd25a52a16197fa5ff4705c","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.3.0.tgz","fileCount":32,"unpackedSize":126276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9yb5CRA9TVsSAnZWagAABCEP/j0gZQV1zQjyGsXvCHqu\nVOyEGhXol4g9sk4jtnDaxZWxleQ1EMfHDLmhX1Gj1PkB5VdKcA068r8Vcnqt\nUAFvkP59bvyKtHAvsV0t/ribX7u8tA7BXos/AHELSr8rIeD+kiFv8bPaq6zI\n8ZPD4XmmXHg4esEypb7oPQ/dF1WOpTjeCTv3lg+vmWyZ+p57SkhRoyI+FaFz\ngy7NeU+HENBdOoUqXDhvPi2dqkTUgvJVVRERkYILxIeMaitv19Tx11G0zITM\n/1xYZKJIJ7M/9ab0XEYikfGxStL9mat/O7ITFhDdSm27oN+rWguxP/7i6OI1\nBZpZbYLrHu/FOXXGauIEbpykz6xgrDMmqKH+VLIVmMHYt0VPclnuoWYJpHBm\nVEx7C7gh05po7oNmSRCpDkQ27VGysg4EN/573/m6i+lHzALlgtGvyUsKJIIa\nrSz0lryJttthB2VAksXJTbbBRc5mIIU8WafdhaKqyQjPcnERj/iGnEfTdvsV\nhR2zm5kNiToASqV9KN/hX52EaDBMK02jnFemm1+tIWWRA6RacUphlj/9rCkv\nJ0NRrob7qw+utcbAjomeNMJFz++3Ef06gKzEah5/bMRgt3bZlR8IlPlFRebG\noVBAllUmQm61//UzmlZDhwOzYT/Ddg2L0KfHDqqvWe3nu8/kyeF9OlBOKuc8\nu6hp\r\n=lAZU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtYqk4fVmvqoLPruioYFgiSdni4xN+0vHxwPr31sVK/AIhAM14q9QK0kx2NQUreqsSu6ieObdQGp6FK5Qd79RcURJw"}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.3.0_1626810104882_0.11128935757352276"},"_hasShrinkwrap":false},"1.3.1":{"name":"iterator-helper","version":"1.3.1","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"8380c24de14bdbf6983b9afbcaef25c48a6d2cb2","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.3.1","_nodeVersion":"14.15.3","_npmVersion":"7.20.0","dist":{"integrity":"sha512-vd2F9XXMdU8mcy6aExRYHPd2qRBg4QaQeFMpb4HBxo6KtzL5MYNhvt3/Q2QWuqVJbwwdxuRWN8pCDpxCTilonA==","shasum":"f2949ac3109aba16a4ec55343f98c13bbdaa0aff","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.3.1.tgz","fileCount":32,"unpackedSize":127324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9yhRCRA9TVsSAnZWagAAM1AP/3P1l6t6K+78S3fxxPrB\nb97gRuqn+mN6s91H+NdZTmJ84aGTbiVmkJ3J7VvWMY0RIJtNKj+SFfCsrsJ8\n4sdiCQY6OJVJ+5a1PcWPNSoj9C+QCYXtKn6PT794hrNjw4DsyBV3NJBPUcQd\n4rMTvdQNhTVY4FnGDNGAEoQLcZFg/HYa1U6eLxVFVX5+KTE39rAxslMVs5hV\n84vHZpomBUCk8QcfYbuIyfUIV0FHhcbddC6ZZzCneVuoVSqGGbGu2cGOSI8b\naRCMwG0gI5S6xC0NKsHkzizmv3pbdJ22ySpZZp3/6EjJxsEi4/neDr1FQAeO\nf6Vhdu12M0xsb2enIlyviOd5oTi9EPX2XU/2l4Up2MvJ3rNH/PTCQyOZFKUc\nFSYFqbaAXm3FyrgGWJoszGBtyOdzCHowdEgALy30U7GIKbuFdS6Zgt8gGoya\nVDRApG7WTfK6WafjJ/KUXx7N0yN+DymR4X8UzjEVDRhp/bCm/a7c7tvWcKCO\nUpjZOsOHSeoJ/JLDussn9KfII+61Bya0uSxbtPvcrgiC9ndKB1dy/5leCVDX\nGEgcDPoSB2Q+MNSjzVzIWZw5NsT0yX/G7UtpT5l2SogBS/awX6M6/DdHAkAI\njBpaqnczXcx3b7A54RRTUiC+yaCYu4tf7sgMAr6kvqC3ID8fhz94BZT249AD\nj7Q/\r\n=U5ux\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyhO9Ntm+OGtnp0VmcSnuTuvrGvtsplHZRz/b8FhCnuAIhAP1G9p+4rRRxd13C9/rwLH9DmMDrv7ZQIzDMiaAngFg1"}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.3.1_1626810449107_0.11599345354082646"},"_hasShrinkwrap":false},"1.3.2":{"name":"iterator-helper","version":"1.3.2","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"2e8a9911fdf00e9e21e71693ac930b47f2f2b3dc","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.3.2","_nodeVersion":"14.15.3","_npmVersion":"7.20.0","dist":{"integrity":"sha512-LUqRW/r8cFHQDF+ph9CLDAQSxpPSGNA1lP7pe7YeMBmy+5GwQN3eovLW/4XGc9LQqev7S+1/qFkvdTDRDVEW5w==","shasum":"f1a4c55211c6d6b035fd1f233d6d9e92c7297230","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.3.2.tgz","fileCount":32,"unpackedSize":128108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9yquCRA9TVsSAnZWagAAtxkP/3QvyakR6XVfFQ0lfPru\nmzOq/bM7ytVyZbS7DK7PcfSRR6o6ZjwnvI5mOleS/802CRibghh7hBm1lTvz\nSztr3qleH3bNuj2b2WtS1ulerP0TQaWykMe5KBk8YZk/kpo7drdlh5AVBzAe\n3yN/2JH5JMdwpajE2CHe2stUYe3WWYVr8VBhBuSkjgRG0MYYu7wpcn5OiVw3\nk9PZcTDqFUSKs+atGJrL0wCp+TDUTaZ35iRajd1MZ2Jcm6kzxAOsa9ch0b10\nSgCChMMejRF59lAMNIxeMzU0wCMSvXLxxxChRb0cjXaI+JtQJDPYyEqImGKV\nKObVHOjVM18FgPseydM/h4VxgrFpGqhCcXRcT9eLWExXbUNeFPRAd/qLaVWO\n2kave5xf87C5hhNdQAWqWom1YKxgVjXkHuav4ESJ2m7iCwraWUi/KSYzBTFq\nEpirpe+ageqQGy+t34D214j35wQEI+YfVhfWg9xtawTlGkL0SugVScVi/F8k\nG0oqqsKiYIr5gqDOqkIYEvdjIudTOxmnXKRar3xMkfv/JyvEDRvDZVOf6qpN\ngWY/GEs/H6rRKkoSodciaTp+kXb8vNBMPE+pr6Y63lX/hWHjW+5scx58YgeI\nezcb+XAmiHYbcuGQUG9xTixkMX+l7gDtwPUc6tFSYl9tLL8GPYehBLhDgCUq\nZQrG\r\n=eyXJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF2EmiVGknk20MdUrNwl75I4GptYOr3tOdKPchOPc/BZAiEA1hYHQVHgpEaQn7tffGYpdwpgmzoPIJyufPAe8TkxKu8="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.3.2_1626811054118_0.8197763598267132"},"_hasShrinkwrap":false},"1.3.3":{"name":"iterator-helper","version":"1.3.3","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","module":"dist/index.mjs","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"90dfee05f6a634e0b9a2252d2bedd39aed3b61ed","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.3.3","_nodeVersion":"14.15.3","_npmVersion":"7.20.0","dist":{"integrity":"sha512-RuS/tKdG7eHtsdWhGPFPzBEI0EFSLvdFAqBNwc2BVBFnGQwJikq0HZx6hfoemme44/Szm1njDsKuWe9/XmqI8A==","shasum":"f111c2a7d675ac4e119acba2d2607a0638e1ce2b","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.3.3.tgz","fileCount":32,"unpackedSize":145613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+ATHCRA9TVsSAnZWagAAtIwP/jSHDvci0gdCJW/s6Huw\nSX4MxwXThYKIEN17SveAZ/U0WdEtfwHx64tad+BEIA+smQ6A61J7pQgDJ9Hi\ntR/QoXltzNSWsjvdtpeft8s9UJHxCIAG/LnDF/dvOKAJoZLH6uyMCuYARqp6\nBBDYM9nFk/ssAZYUIcOd2wBfuMEX9TKBFWpBsD5OlEuQWgByCSDGYUx3ad/n\nZoDOb2TmciYX7g5+1rOwgjIdQa9emad9mTubw7/vi0ygUrgcVxGvmqU/H99R\nXPoMmWLUH41iEIJR8VEnJG8k3oELt95RA6nZM5FEJWQNJtmEHNS7OzDCC9uf\npAjmyRAa1dEwzwdYcwHdamD9n4GPKKDXz04ujb6rN6n8UFndlAq6iXc3pSeR\n+dUiwqJp1ThI+CY+w2v3OkEV9Xj3QY8VhfwXlB8Yf6iJSIwl693Wn1QXiz/i\nhQ/0HuELsMUcZdR/ldQOq9wUb220vawM3xqrVdv6X2VsqWJxQOW3e5RwBsNK\nim4+LIVx9q3Q8CEEJI7BQwzMcs9lSoSQ8YumDQ6wxku5KuLYHWVt2RexA5OD\naUblyxGeUb2PYjMVUAlZtZvP/8P9h5T65oP5eihPC3XozRadG4tuv2tSDt+/\nX3NUJhapIGZoH6V1aaAQ80sXFbaF/4m7QclnBk+uo5BM4KzNxVsWfDEQe6DF\nsLfd\r\n=zwnw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCi4qdeLjIfdaa9jnVA4Nz6/4H2Wo369DymbPjPWbW1UQIhAKGdNyNquFNhAbv2OsXrljPNSTz4GmaXFlsjXZLNoAlo"}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.3.3_1626866887267_0.4529530802444137"},"_hasShrinkwrap":false},"1.3.4":{"name":"iterator-helper","version":"1.3.4","description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","main":"dist/index.js","scripts":{"test":"node dist/test.js","build":"tsc && npm run build-esm","build-esm":"tsc --project ./tsconfig-esm.json && node rename_mjs.js"},"keywords":["iterator","iterators","polyfill","helpers","itertools"],"author":{"name":"Louis Béranger"},"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"license":"ISC","devDependencies":{"@types/node":"^14.0.13"},"gitHead":"ffea55a3b920cf62f34a474d2836cd90fbc9232d","bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"homepage":"https://github.com/alkihis/iterator-helper#readme","_id":"iterator-helper@1.3.4","_nodeVersion":"14.15.3","_npmVersion":"7.20.0","dist":{"integrity":"sha512-oVep2qxZEUKwBSKu3woDVP9HiG1xmIbspuW/aHdCfBr4vL286j/NKSEFOfNJfgMBJIYx/rH7niPTof5LYxQNgw==","shasum":"ab4b4b831c5d031872e5ec86760d152ea2c96a04","tarball":"https://registry.npmjs.org/iterator-helper/-/iterator-helper-1.3.4.tgz","fileCount":24,"unpackedSize":105797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+AkOCRA9TVsSAnZWagAAWiEQAJaOl+WO7Da32DpzTKGE\nj1R0vCqkeq5Opu8//tJWeEqFMy9jWJmO+gS9QGLe+0scR/UDUcc1kMYfQZnB\nCQ5vTVktTO2Lt2GQRx+MQb2QrCNIkxX/WbHJTjZYZ1oT28YOWYZPuJlJ2Pfg\nDpVKx5SaZ9ecFs7ir4J1yFpHzWrAC+BL5xjVsgUE5DuzdMRW2OglFH6jvgaC\nSjLFtoSgaUTAe65FawsrxJ25Xnby+GUJIH0MFROJ8iiI7UVcp1IofRAzTYfa\nJ47rVOF3KaVzZjUuMEaeniBN1ugPu/KqL1aWozuhjMiXoWC4YTL370ArfqPR\nob5U1BDEQcQ/eJSQOoty8qnL4ynEmLTC31zkpNcqJw1OOLDJoYFzMhYRceq3\n/oLZRXe7NcLKYNeGUzTr+jsP1sI1q/09l9/QhV37yf/N6z6zZbOHQ5wNFaib\nyTiTAjmGs/wjgvQfjm0TgMk0K8TkSZVv/eZr9LfO1sBvqFmIVEYYSH3g7hjx\nIz8A97BuaLJP7smm/DhhNXJJTi22pNhM6rLdcX4jL/TTBnm2GvexfTeAnsmy\nk8IrnsoFZkIjPk48kRlZYwqkh9iEOE52a5dI1SEKS8Gw2adelYSnt2u6FC2F\nmkbhawYL1d70ZZtfTtXmb+zlzjXHPWTqAodAb3itoVM8N0+4TkSzXMlC/JQ8\nkHsf\r\n=4cDf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmf5imMLPBcChKX2sMWbxxdYHTF/M4CAcq6RN0s9UO5wIgV2rqjHs5YdiW4gsFzc+I8puL6SiMJr8eNry60GJTnDQ="}]},"_npmUser":{"name":"alkihis","email":"tulouca@gmail.com"},"directories":{},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iterator-helper_1.3.4_1626867982825_0.12235529937783962"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-20T16:10:56.990Z","1.0.0":"2020-07-20T16:10:57.120Z","modified":"2022-05-06T07:09:07.633Z","1.0.1":"2020-07-20T16:26:31.687Z","1.1.0":"2021-01-14T10:05:56.291Z","1.1.1":"2021-02-12T20:02:39.164Z","1.1.2":"2021-02-12T20:07:46.558Z","1.1.3":"2021-03-03T16:18:00.111Z","1.2.0":"2021-07-14T20:00:45.510Z","1.2.1":"2021-07-14T20:04:50.743Z","1.3.0":"2021-07-20T19:41:45.027Z","1.3.1":"2021-07-20T19:47:29.203Z","1.3.2":"2021-07-20T19:57:34.243Z","1.3.3":"2021-07-21T11:28:07.580Z","1.3.4":"2021-07-21T11:46:22.985Z"},"maintainers":[{"name":"alkihis","email":"tulouca@gmail.com"}],"description":"Provide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.","homepage":"https://github.com/alkihis/iterator-helper#readme","keywords":["iterator","iterators","polyfill","helpers","itertools"],"repository":{"type":"git","url":"git+https://github.com/alkihis/iterator-helper.git"},"author":{"name":"Louis Béranger"},"bugs":{"url":"https://github.com/alkihis/iterator-helper/issues"},"license":"ISC","readme":"# iterator-helper\n\nProvide helpers that polyfill all methods defined in [iterator helpers proposal](https://github.com/tc39/proposal-iterator-helpers), both for `Iterator` and `AsyncIterator`, and even more.\n\n## Installation\n\nInstall it with npm/yarn/what you want.\n\n```bash\nnpm i iterator-helper\n```\n\n## Getting started\n\nYou can wrap an iterable or an iterator with the exported `iter` (for standard iterables) and `aiter` (for async iterables) functions.\n\n```js\nimport { iter, aiter } from 'iterator-helper';\n\n// It accepts both iterables and iterator, here it's an iterable\nconst iterator = iter([1, 2, 3]);\n\nconst mapped_cycle = iterator\n  .cycle() // Make the iterator cycle on end\n  .map(e => e * 2) // For each item, execute e => e * 2\n  .asIndexedPairs(); // For each item, return [iterator_index, item]\n\nfor (const [index, element] of mapped_cycle) {\n  console.log(index, element);\n  // 0, 2\n  // 1, 4\n  // 2, 6\n  // 3, 2\n  // 4, 4\n  // 5, 6\n  // ...\n}\n```\n\nYou can also extend two exported classes, `HIterator` and `HAsyncIterator` (those names are used to avoid conflicts with possible futures `Iterator` and `AsyncIterator` global objects), in order to make your classes iterables.\n\n```js\nimport { HIterator } from 'iterator-helper';\n\nclass RangeIterator extends HIterator {\n  constructor(start, stop = undefined, step = 1) {\n    super();\n    this.position = stop === undefined ? 0 : start;\n    this.stop = stop === undefined ? start : stop;\n    this.step = step;\n\n    if (stop < start) {\n      throw new Error('Stop cannot be inferior to start.');\n    }\n    if (step <= 0) {\n      throw new Error('Step must be superior to 0.');\n    }\n  }\n\n  next() {\n    if (this.position < this.stop) {\n      const current = this.position;\n      this.position += this.step;\n\n      return { value: current, done: false };\n    }\n\n    return { value: undefined, done: true };\n  }\n}\n\nconst range = new RangeIterator(10).filter(e => e % 2 === 0);\nrange.next(); // { value: 0, done: false };\nrange.next(); // { value: 2, done: false };\nrange.next(); // { value: 4, done: false };\n// ...\n```\n\n## API\n\nThere are a few methods for each sync or async iterators.\nHere's the quick way, as TypeScript types with a description for each method:\n\n```ts\ninterface HIterator<T, TReturn = any, TNext = undefined> {\n  /** Map each value of iterator to another value via {callback}. */\n  map<R>(callback: (value: T) => R) : HIterator<R, TReturn, TNext>;\n\n  /** Each value is given through {callback}, return `true` if value is needed into returned iterator. */\n  filter(callback: (value: T) => boolean) : HIterator<T, TReturn, TNext>;\n\n  /** Create a new iterator that consume {limit} items, then stops. */\n  take(limit: number) : HIterator<T, TReturn, TNext>;\n\n  /** Create a new iterator that skip {limit} items from source iterator, then yield all values. */\n  drop(limit: number) : HIterator<T, TReturn, TNext>;\n\n  /** Get a pair [index, value] for each remaining value of iterable. */\n  asIndexedPairs() : HIterator<[number, T], TReturn, TNext>;\n\n  /** Like map, but you can return a new iterator that will be flattened. */\n  flatMap<R>(mapper: (value: T) => Iterator<R> | R) : HIterator<R, TReturn, TNext>;\n\n  /** Find a specific value that returns `true` in {callback}, and return it. Returns `undefined` otherwise. */\n  find(callback: (value: T) => boolean) : T | undefined;\n\n  /** Return `true` if each value of iterator validate {callback}. */\n  every(callback: (value: T) => boolean) : boolean;\n\n  /** Return `true` if one value of iterator validate {callback}. */\n  some(callback: (value: T) => boolean) : boolean;\n\n  /** Consume iterator and collapse values inside an array. */\n  toArray(maxCount?: number) : T[];\n\n  /** Accumulate each item inside **acc** for each value **value**. */\n  reduce<V>(reducer: (acc: V, value: T) => V, initialValue?: V) : V;\n\n  /** Iterate over each value of iterator by calling **callback** for each value. */\n  forEach(callback: (value: T) => any) : void;\n\n  /** End the iterator and return the number of remaining items. */\n  count() : number;\n\n  /** Join all the remaining elements of the iterator in a single string with glue {glue}. */\n  join(glue: string) : string;\n\n  /** Iterate through current iterator, then through the given iterators in the correct order. */\n  chain<I>(...iterables: IteratorOrIterable<I>[]) : HIterator<T | I>;\n\n  /** Iterate through multiple iterators together. */\n  zip<O>(...others: IteratorOrIterable<O>[]) : HIterator<(T | O)[]>;\n\n  /** Continue iterator until {callback} return a falsy value. */\n  takeWhile(callback: (value: T) => boolean) : HIterator<T>;\n\n  /** Skip elements until {callback} return a truthy value. */\n  dropWhile(callback: (value: T) => boolean) : HIterator<T>;\n\n  /** Continue iterator until `null` or `undefined` is encountered. */\n  fuse() : HIterator<T>;\n\n  /** Partition {true} elements to first array, {false} elements to second one. */\n  partition(callback: (value: T) => boolean) : [T[], T[]];\n\n  /** Find the iterator index of the first element that returns a truthy value, -1 otherwise. */\n  findIndex(callback: (value: T) => boolean) : number;\n\n  /** Only works if it is a number iterator. Returns the maximum of iterator. */\n  max() : number;\n\n  /** Only works if it is a number iterator. Returns the minimum of iterator. */\n  min() : number;\n\n  /** When iterator ends, go back to the first item then loop. Indefinitively. */\n  cycle() : HIterator<T>;\n\n  /** Group by objects by key according to returned key for each object. */\n  groupBy<K extends string | number | symbol>(callback: (value: T) => K) : { [Key in K]: T[] };\n\n  /** Index this iterator objects in a {Map} with key obtained through {keyGetter}. */\n  toIndexedItems<K>(keyGetter: (value: T) => K) : Map<K, T>;\n\n  /** Iterate over items present in both current collection and {otherItems} iterable. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  intersection<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>;\n\n  /** Iterate over items present only in current collection, not in {otherItems} iterable. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  difference<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>;\n\n  /** Iterate over items present only in current collection or only in {otherItems} iterable, but not in both. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  symmetricDifference<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>;\n\n  /** Transform current sync iterator to an async one (wrap each new item into a resolved `Promise`) */\n  toAsyncIterator(): HAsyncIterator<T>;\n}\n\ninterface HAsyncIterator<T, TReturn = any, TNext = undefined> {\n  /** Map each value of iterator to another value via {callback}. */\n  map<R>(callback: (value: T) => R | PromiseLike<R>) : HAsyncIterator<R, TReturn, TNext>;\n\n  /** Each value is given through {callback}, return `true` if value is needed into returned iterator. */\n  filter(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T, TReturn, TNext>;\n\n  /** Create a new iterator that consume {limit} items, then stops. */\n  take(limit: number) : HAsyncIterator<T, TReturn, TNext>;\n\n  /** Create a new iterator that skip {limit} items from source iterator, then yield all values. */\n  drop(limit: number) : HAsyncIterator<T, TReturn, TNext>;\n\n  /** Get a pair [index, value] for each remaining value of iterable. */\n  asIndexedPairs() : HAsyncIterator<[number, T], TReturn, TNext>;\n\n  /** Like map, but you can return a new iterator that will be flattened. */\n  flatMap<R>(mapper: (value: T) => AsyncIterator<R> | R) : HAsyncIterator<R, TReturn, TNext>;\n\n  /** Find a specific value that returns `true` in {callback}, and return it. Returns `undefined` otherwise. */\n  find(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<T | undefined>;\n\n  /** Return `true` if each value of iterator validate {callback}. */\n  every(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<boolean>;\n\n  /** Return `true` if one value of iterator validate {callback}. */\n  some(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<boolean>;\n\n  /** Consume iterator and collapse values inside an array. */\n  toArray(maxCount?: number) : Promise<T[]>;\n\n  /** Accumulate each item inside **acc** for each value **value**. */\n  reduce<V>(reducer: (acc: V, value: T) => V | PromiseLike<V>, initialValue?: V) : Promise<V>;\n\n  /** Iterate over each value of iterator by calling **callback** for each value. */\n  forEach(callback: (value: T) => any) : Promise<void>;\n\n  /** End the iterator and return the number of remaining items. */\n  count() : Promise<number>;\n\n  /** Join all the remaining elements of the iterator in a single string with glue {glue}. */\n  join(glue: string) : Promise<string>;\n\n  /** Iterate through current iterator, then through the given iterators in the correct order. */\n  chain<I>(...iterables: AsyncIteratorOrIterable<I>[]) : HAsyncIterator<T | I>;\n\n  /** Iterate through multiple iterators together. */\n  zip<O>(...others: AsyncIteratorOrIterable<O>[]) : HAsyncIterator<(T | O)[]>;\n\n  /** Continue iterator until {callback} return a falsy value. */\n  takeWhile(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T>;\n\n  /** Skip elements until {callback} return a truthy value. */\n  dropWhile(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T>;\n\n  /** Continue iterator until `null` or `undefined` is encountered. */\n  fuse() : HAsyncIterator<T>;\n\n  /** Partition {true} elements to first array, {false} elements to second one. */\n  partition(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<[T[], T[]]>;\n\n  /** Find the iterator index of the first element that returns a truthy value, -1 otherwise. */\n  findIndex(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<number>;\n\n  /** Only works if it. is a number iterator. Returns the maximum of iterator. */\n  max() : Promise<number>;\n\n  /** Only works if it. is a number iterator. Returns the minimum of iterator. */\n  min() : Promise<number>;\n\n  /** When iterator ends, go back to the first item then loop. Indefinitively. */\n  cycle() : HAsyncIterator<T>;\n\n  /** Group by objects by key according to returned key for each object. */\n  groupBy<K extends string | number | symbol>(callback: (value: T) => K | PromiseLike<K>) : Promise<{ [Key in K]: T[] }>;\n\n  /** Index this iterator objects in a {Map} with key obtained through {keyGetter}. */\n  toIndexedItems<K>(keyGetter: (value: T) => K | PromiseLike<K>) : Promise<Map<K, T>>;\n\n  /** Iterate over items present in both current collection and {otherItems} iterable. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  intersection<O>(\n    otherItems: AsyncIteratorOrIterable<O>,\n    isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is\n  ) : HAsyncIterator<T>;\n\n  /** Iterate over items present only in current collection, not in {otherItems} iterable. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  difference<O>(\n    otherItems: AsyncIteratorOrIterable<O>,\n    isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is\n  ) : HAsyncIterator<T>;\n\n  /** Iterate over items present only in current collection or only in {otherItems} iterable, but not in both. `O(n*m)` operation that will consume {otherItems} iterator/iterable! */\n  symmetricDifference<O>(\n    otherItems: AsyncIteratorOrIterable<O>,\n    isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is\n  ) : HAsyncIterator<T>;\n}\n```\n\n## Helpers\n\n`iter` function expose some iterator creator helpers:\n\n- `range`\n- `repeat`\n\nThere's presented as TypeScript types.\n\n```ts\n// iter is instance of IIterFunction\ninterface IIterFunction {\n  /** Create a new range `HIterator` from {0} to {stop}, 1 by 1. If {stop} is negative, it goes -1 by -1. */\n  range(stop: number): HIterator<number>;\n  /** Create a new range `HIterator` from {start} to {stop}, 1 by 1. If {stop} < {start}, it goes -1 by -1. */\n  range(start: number, stop: number): HIterator<number>;\n  /** Create a new range `HIterator` from {start} to {stop}, adding {step} at each step. */\n  range(start: number, stop: number, step: number): HIterator<number>;\n\n  /** Create a new `HIterator` that emit only {item} indefinitively. */\n  repeat<I>(item: I): HIterator<I>;\n  /** Create a new `HIterator` that emit only {item}, {times} times. */\n  repeat<I>(item: I, times: number): HIterator<I>;\n}\n```\n\n### Examples\n\n```ts\nfor (const i of iter.range(10)) {\n  // i will goes from 0 to 9 (included)\n}\n\nfor (const _ of iter.repeat(null, 10)) {\n  // This loop content will be executed 10 times\n}\n\niter.repeat({ id: 1, name: 'Sialae' }) // Create an infinite iterator that yield { id: 1, name: 'Sialae' }\n  .asIndexedPairs() // Yield [index, element]\n  .map(([index, item]) => ({ ...item, id: index + 1 })) // For [index, element], returns { ...element, id: index + 1 }\n  .filter(item => item.id % 2 !== 0) // Yield only elements with element.id % 2 !== 0\n  .take(3) // Yield 3 items maximum then close the iterator\n  .toArray(); // Store the remaining iterator items into an array (3 elements)\n// Result: [{ name: 'Sialae', id: 1 }, { name: 'Sialae', id: 3 }, { name: 'Sialae', id: 5 }]\n```\n\n## Descriptive API\n\nHere's is every supported method, with a small example associated.\n\n### Sync iterators\n\nSync iterators uses the `HIterator` class/instances.\n\n#### `iter` (module function)\n\nCreate the iterator wrapper `HIterator` from an `Iterable` (Array, Set, Map...) or an `Iterator` (`Generator` instance, user-land iterator, ...).\n\n```ts\nimport { iter } from 'iterator-helper'\n\n// From an iterable\niter([1, 2, 3]) // => HIterator<1 | 2 | 3>\n\n// From an iterator\niter([1, 2, 3].entries()) // => HIterator<[number, 1 | 2 | 3]>\n```\n\n#### `.from` (static method)\n\nDo the same as `iter` function call. `HIterator.from([1, 2, 3])` produces the same result as `iter([1, 2, 3])`.\n\n#### `.map<R>(callback: (value: T) => R) : HIterator<R, TReturn, TNext>`\n\nTransform each item of iterator to another value through the result of `callback(item)`.\n```ts\niter([1, 2, 3])\n  .map(item => item * 2)\n  .toArray() // [2, 4, 6]\n```\n\n#### `.filter(callback: (value: T) => boolean) : HIterator<T, TReturn, TNext>`\n\nDo not yield item of iterator if `callback(item)` is falsy.\n```ts\niter([1, 2, 3])\n  .filter(item => item % 2 !== 0)\n  .toArray() // [1, 3]\n```\n\n#### `.take(limit: number) : HIterator<T, TReturn, TNext>`\n\nCreate a new iterator that consume `limit` items, then stops.\n```ts\niter([1, 2, 3])\n  .take(2)\n  .toArray() // [1, 2]\n```\n\n#### `.drop(limit: number) : HIterator<T, TReturn, TNext>`\n\nCreate a new iterator that ignore `limit` items from being yielded, then continue the iterator as it used to be.\n```ts\niter([1, 2, 3])\n  .drop(2)\n  .toArray() // [3]\n```\n\n#### `.asIndexedPairs() : HIterator<[number, T], TReturn, TNext>`\n\nGet a pair `[index, value]` for each value of an iterator.\n```ts\niter([1, 2, 3])\n  .asIndexedPairs()\n  .toArray() // [[0, 1], [1, 2], [2, 3]]\n```\n\n#### `.flatMap<R>(mapper: (value: T) => Iterator<R> | R) : HIterator<R, TReturn, TNext>`\n\nLike map, but you can return a new iterator that will be flattened.\n```ts\niter([1, 2, 3])\n  .flatMap(item => iter.range(item))\n  .toArray() // [0, 0, 1, 0, 1, 2]\n```\n\n#### `.find(callback: (value: T) => boolean) : T | undefined`\n\nFind a specific item that returns `true` in `callback(item)`, and return it. Returns `undefined` otherwise.\n```ts\niter([1, 2, 3]).find(item => item % 2 === 0) // 2\niter([1, 2, 3]).find(item => item % 2 === 4) // undefined\n```\n\n#### `.findIndex(callback: (value: T) => boolean) : number`\n\nFind a specific item that returns `true` in `callback(item)`, and return its index. Returns `-1` otherwise.\n```ts\niter([1, 2, 3]).findIndex(item => item % 2 === 0) // 1\niter([1, 2, 3]).findIndex(item => item % 2 === 4) // -1\n```\n\n#### `.every(callback: (value: T) => boolean) : boolean`\n\nReturn `true` if each item of iterator validate `callback(item)`.\n```ts\niter([1, 2, 3]).every(item => item > 0) // true\n```\n\n#### `.some(callback: (value: T) => boolean) : boolean`\n\nReturn `true` if at least one item of iterator validate `callback(item)`.\n```ts\niter([1, 2, 3]).every(item => item > 2) // true\n```\n\n#### `.toArray(maxCount?: number) : T[]`\n\nConsume iterator (up to `maxCount` items, default to infinity) and collapse values inside an array.\n```ts\niter([1, 2, 3]).toArray() // [1, 2, 3]\n```\n\n#### `.reduce<V>(reducer: (acc: V, value: T) => V, initialValue?: V) : V`\n\nAccumulate each item inside `acc` for each value `value`.\n```ts\niter([1, 2, 3]).reduce((acc, value) => acc + value) // 6\n```\n\n#### `.forEach(callback: (value: T) => any) : void`\n\nIterate over each value of iterator by calling `callback` for each item.\n```ts\niter([1, 2, 3]).forEach(console.log.bind(console)) // Logs 1, then 2, then 3\n```\n\n#### `.count() : number`\n\nEnd the iterator and return the number of counted items.\n```ts\niter([1, 2, 3]).count() // 3\n```\n\n#### `.join(glue: string) : string`\n\nJoin all the remaining elements of the iterator in a single glue string `glue`.\n```ts\niter([1, 2, 3]).join(', ') // '1, 2, 3'\n```\n\n#### `.chain<I>(...iterables: IteratorOrIterable<I>[]) : HIterator<T | I>`\n\nIterate through current iterator, then through the given iterators in the correct order.\n```ts\niter([1, 2, 3])\n  .chain([4, 5, 6])\n  .toArray() // [1, 2, 3, 4, 5, 6]\n```\n\n#### `.zip<O>(...others: IteratorOrIterable<O>[]) : HIterator<(T | O)[]>`\n\nIterate through multiple iterators together.\n```ts\niter([1, 2, 3])\n  .zip([4, 5, 6])\n  .toArray() // [[1, 4], [2, 5], [3, 6]]\n```\n\n#### `.takeWhile(callback: (value: T) => boolean) : HIterator<T>`\n\nContinue iterator until `callback` return a falsy value.\n```ts\niter([1, 2, 3])\n  .takeWhile(item => item / 2 > 1)\n  .toArray() // [1, 2]\n```\n\n#### `.dropWhile(callback: (value: T) => boolean) : HIterator<T>`\n\nSkip elements until `callback` return a truthy value.\n```ts\niter([1, 2, 3])\n  .dropWhile(item => item / 2 <= 1)\n  .toArray() // [3]\n```\n\n#### `.fuse() : HIterator<T>`\n\nContinue iterator until `null` or `undefined` is encountered.\n```ts\niter([1, 2, 3, undefined])\n  .fuse()\n  .toArray() // [1, 2, 3]\n```\n\n#### `.partition(callback: (value: T) => boolean) : [T[], T[]]`\n\nPartition `true` elements to first array, `false` elements to second one.\n```ts\niter([1, 2, 3]).partition(item => item % 2 === 0) // [[2], [1, 3]]\n```\n\n#### `.max() : number`\n\nOnly works if it is a number iterator. Returns the maximum of iterator.\n```ts\niter([1, 2, 3]).max() // 3\n```\n\n#### `.min() : number`\n\nOnly works if it is a number iterator. Returns the minimum of iterator.\n```ts\niter([1, 2, 3]).min() // 1\n```\n\n#### `.cycle() : HIterator<T>`\n\nWhen iterator ends, go back to the first item then loop. Indefinitively.\n```ts\niter([1, 2, 3])\n  .cycle()\n  .take(6)\n  .toArray() // [1, 2, 3, 1, 2, 3]\n```\n\n#### `.groupBy<K extends string | number | symbol>(callback: (value: T) => K) : { [Key in K]: T[] }`\n\nGroup by objects by key according to returned key for each object.\n```ts\niter([1, 2, 3]).groupBy(item => item % 2 === 0 ? 'even' : 'odd') // { even: [2], odd: [1, 3] }\n```\n\n#### `.toIndexedItems<K>(keyGetter: (value: T) => K) : Map<K, T>`\n\nIndex this iterator objects in a `Map` with key obtained through `keyGetter`.\n```ts\niter([1, 2, 3]).toIndexedItems(item => `key-${item}`) // Map<{ 'key-1': 1, 'key-2': 2, 'key-3': 3 }>\n```\n\n#### `.intersection<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>`\n\nIterate over items present in both current collection and `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\niter([1, 2, 3])\n  .intersection([3, 4, 5]) // equivalent to .intersection([3, 4, 5], (a, b) => Object.is(a, b))\n  .toArray() // [3]\n```\n\n#### `.difference<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>`\n\nIterate over items present only in current collection, not in `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\niter([1, 2, 3])\n  .difference([3, 4, 5]) // equivalent to .difference([3, 4, 5], (a, b) => Object.is(a, b))\n  .toArray() // [1, 2]\n```\n\n#### `.symmetricDifference<O>(otherItems: IteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean = Object.is) : HIterator<T>`\n\nIterate over items present only in current collection or only in `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\niter([1, 2, 3])\n  .symmetricDifference([3, 4, 5]) // equivalent to .symmetricDifference([3, 4, 5], (a, b) => Object.is(a, b))\n  .toArray() // [1, 2, 4, 5]\n```\n\n#### `.toAsyncIterator(): HAsyncIterator<T>`\n\nTransform current sync iterator to an async one (wrap each new item into a resolved `Promise`).\nSee below for available `HAsyncIterator` methods.\n\n```ts\niter([1, 2, 3]).toAsyncIterator() // HAsyncIterator<1 | 2 | 3>\n```\n\n### Async iterators\n\nAsync iterators uses the `HAsyncIterator` class/instances.\n\n> **Notice**: The following async generator will be used in all async examples:\n```ts\nasync function* numbers() {\n  yield 1;\n  yield 2;\n  yield 3;\n}\n```\n\n> **Notice**: In most of the cases, when a method takes a callback, the return value can be either a value **or a `Promise`**. If its a `Promise`, it will be awaited.\n\n#### `aiter` (module function)\n\nCreate the iterator wrapper `HAsyncIterator` from an `AsyncIterable` (objects with `Symbol.asyncIterator` defined) or an `AsyncIterator` (`AsyncGenerator` instance, user-land async iterator, ...).\n\n```ts\nimport { aiter } from 'iterator-helper'\n\n// From an async iterable\naiter({ \n  async *[Symbol.asyncIterator]() {\n    yield* numbers();\n  } \n}) // => HAsyncIterator<1 | 2 | 3>\n\n// From an iterator\naiter(numbers()) // => HAsyncIterator<1 | 2 | 3>\n```\n\n#### `.from` (static method)\n\nDo the same as `aiter` function call. `HAsyncIterator.from(numbers())` produces the same result as `aiter(numbers())`.\n\n#### `.map<R>(callback: (value: T) => R | PromiseLike<R>) : HAsyncIterator<R, TReturn, TNext>`\n\nTransform each item of iterator to another value through the result of `callback(item)`.\n```ts\naiter(numbers())\n  .map(item => item * 2)\n  .toArray() // Promise<[2, 4, 6]>\n```\n\n#### `.filter(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T, TReturn, TNext>`\n\nDo not yield item of iterator if `callback(item)` is falsy.\n```ts\naiter(numbers())\n  .filter(item => item % 2 !== 0)\n  .toArray() // Promise<[1, 3]>\n```\n\n#### `.take(limit: number) : HAsyncIterator<T, TReturn, TNext>`\n\nCreate a new iterator that consume `limit` items, then stops.\n```ts\naiter(numbers())\n  .take(2)\n  .toArray() // Promise<[1, 2]>\n```\n\n#### `.drop(limit: number) : HAsyncIterator<T, TReturn, TNext>`\n\nCreate a new iterator that ignore `limit` items from being yielded, then continue the iterator as it used to be.\n```ts\naiter(numbers())\n  .drop(2)\n  .toArray() // Promise<[3]>\n```\n\n#### `.asIndexedPairs() : HAsyncIterator<[number, T], TReturn, TNext>`\n\nGet a pair `[index, value]` for each value of an iterator.\n```ts\naiter(numbers())\n  .asIndexedPairs()\n  .toArray() // Promise<[[0, 1], [1, 2], [2, 3]]>\n```\n\n#### `.flatMap<R>(mapper: (value: T) => AsyncIterator<R> | R) : HAsyncIterator<R, TReturn, TNext>`\n\nLike map, but you can return a new iterator that will be flattened.\n```ts\naiter(numbers())\n  .flatMap(item => iter.range(item).toAsyncIterator())\n  .toArray() // Promise<[0, 0, 1, 0, 1, 2]>\n```\n\n#### `.find(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<T | undefined>`\n\nFind a specific item that returns `true` in `callback(item)`, and return it. Returns `undefined` otherwise.\n```ts\naiter(numbers()).find(item => item % 2 === 0) // Promise<2>\naiter(numbers()).find(item => item % 2 === 4) // Promise<undefined>\n```\n\n#### `.findIndex(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<number>`\n\nFind a specific item that returns `true` in `callback(item)`, and return its index. Returns `-1` otherwise.\n```ts\naiter(numbers()).findIndex(item => item % 2 === 0) // Promise<1>\naiter(numbers()).findIndex(item => item % 2 === 4) // Promise<-1>\n```\n\n#### `.every(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<boolean>`\n\nReturn `true` if each item of iterator validate `callback(item)`.\n```ts\naiter(numbers()).every(item => item > 0) // Promise<true>\n```\n\n#### `.some(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<boolean>`\n\nReturn `true` if at least one item of iterator validate `callback(item)`.\n```ts\naiter(numbers()).every(item => item > 2) // Promise<true>\n```\n\n#### `.toArray(maxCount?: number) : Promise<T[]>`\n\nConsume iterator (up to `maxCount` items, default to infinity) and collapse values inside an array.\n```ts\naiter(numbers()).toArray() // Promise<[1, 2, 3]>\n```\n\n#### `.reduce<V>(reducer: (acc: V, value: T) => V | PromiseLike<V>, initialValue?: V) : Promise<V>`\n\nAccumulate each item inside `acc` for each value `value`.\n```ts\naiter(numbers()).reduce((acc, value) => acc + value) // Promise<6>\n```\n\n#### `.forEach(callback: (value: T) => any) : Promise<void>`\n\nIterate over each value of iterator by calling `callback` for each item.\n```ts\naiter(numbers()).forEach(console.log.bind(console)) // Logs 1, then 2, then 3\n```\n\n#### `.count() : Promise<number>`\n\nEnd the iterator and return the number of counted items.\n```ts\naiter(numbers()).count() // Promise<3>\n```\n\n#### `.join(glue: string) : Promise<string>`\n\nJoin all the remaining elements of the iterator in a single glue string `glue`.\n```ts\naiter(numbers()).join(', ') // Promise<'1, 2, 3'>\n```\n\n#### `.chain<I>(...iterables: AsyncIteratorOrIterable<I>[]) : HAsyncIterator<T | I>`\n\nIterate through current iterator, then through the given iterators in the correct order.\n```ts\naiter(numbers())\n  .chain(iter([4, 5, 6]).toAsyncIterator())\n  .toArray() // Promise<[1, 2, 3, 4, 5, 6]>\n```\n\n#### `.zip<O>(...others: AsyncIteratorOrIterable<O>[]) : HAsyncIterator<(T | O)[]>`\n\nIterate through multiple iterators together.\n```ts\naiter(numbers())\n  .zip(iter([4, 5, 6]).toAsyncIterator()])\n  .toArray() // Promise<[[1, 4], [2, 5], [3, 6]]>\n```\n\n#### `.takeWhile(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T>`\n\nContinue iterator until `callback` return a falsy value.\n```ts\naiter(numbers())\n  .takeWhile(item => item / 2 > 1)\n  .toArray() // Promise<[1, 2]>\n```\n\n#### `.dropWhile(callback: (value: T) => boolean | PromiseLike<boolean>) : HAsyncIterator<T>`\n\nSkip elements until `callback` return a truthy value.\n```ts\naiter(numbers())\n  .dropWhile(item => item / 2 <= 1)\n  .toArray() // Promise<[3]>\n```\n\n#### `.fuse() : HAsyncIterator<T>`\n\nContinue iterator until `null` or `undefined` is encountered.\n```ts\niter([1, 2, 3, undefined])\n  .toAsyncIterator()\n  .fuse()\n  .toArray() // Promise<[1, 2, 3]>\n```\n\n#### `.partition(callback: (value: T) => boolean | PromiseLike<boolean>) : Promise<[T[], T[]]>`\n\nPartition `true` elements to first array, `false` elements to second one.\n```ts\naiter(numbers()).partition(item => item % 2 === 0) // Promise<[[2], [1, 3]]>\n```\n\n#### `.max() : Promise<number>`\n\nOnly works if it is a number iterator. Returns the maximum of iterator.\n```ts\naiter(numbers())).max() // Promise<3>\n```\n\n#### `.min() : Promise<number>`\n\nOnly works if it is a number iterator. Returns the minimum of iterator.\n```ts\naiter(numbers()).min() // Promise<1>\n```\n\n#### `.cycle() : HAsyncIterator<T>`\n\nWhen iterator ends, go back to the first item then loop. Indefinitively.\n```ts\naiter(numbers())\n  .cycle()\n  .take(6)\n  .toArray() // Promise<[1, 2, 3, 1, 2, 3]>\n```\n\n#### `.groupBy<K extends string | number | symbol>(callback: (value: T) => K | PromiseLike<K>) : Promise<{ [Key in K]: T[] }>`\n\nGroup by objects by key according to returned key for each object.\n```ts\naiter(numbers())\n  .groupBy(item => item % 2 === 0 ? 'even' : 'odd') // Promise<{ even: [2], odd: [1, 3] }>\n```\n\n#### `.toIndexedItems<K>(keyGetter: (value: T) => K | PromiseLike<K>) : Promise<Map<K, T>>`\n\nIndex this iterator objects in a `Map` with key obtained through `keyGetter`.\n```ts\naiter(numbers())\n  .toIndexedItems(item => `key-${item}`) // Promise<Map<{ 'key-1': 1, 'key-2': 2, 'key-3': 3 }>>\n```\n\n#### `.intersection<O>(otherItems: AsyncIteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is) : HAsyncIterator<T>`\n\nIterate over items present in both current collection and `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\naiter(numbers())\n  .intersection(iter([3, 4, 5]).toAsyncIterator())\n  .toArray() // Promise<[3]>\n```\n\n#### `.difference<O>(otherItems: AsyncIteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is) : HAsyncIterator<T>`\n\nIterate over items present only in current collection, not in `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\naiter(numbers())\n  .difference(iter([3, 4, 5]).toAsyncIterator())\n  .toArray() // Promise<[1, 2]>\n```\n\n#### `.symmetricDifference<O>(otherItems: AsyncIteratorOrIterable<O>, isSameItemCallback: (value: T, other: O) => boolean | PromiseLike<boolean> = Object.is) : HAsyncIterator<T>`\n\nIterate over items present only in current collection or only in `otherItems` iterable. `O(n*m)` operation that will consume `otherItems` iterator/iterable!\n```ts\naiter(numbers())\n  .symmetricDifference(iter([3, 4, 5]).toAsyncIterator()) \n  .toArray() // Promise<[1, 2, 4, 5]>\n```\n\n\n### Iterator creators\n\n#### `iter.range`\n\nCreate a range iterator (`HIterator` instance) from:\n- 0 to `stop` if only `stop` is specified, from (-)1 by (-)1.\n- `start` to `stop`, from (-)1 by (-)1 or from `step` to `step`\n\n```ts\nfor (const i of iter.range(10)) {\n  // i goes from 0 to 9 included, 1 by 1.\n}\n\nfor (const i of iter.range(0, 10, 2)) {\n  // i takes 0, 2, 4, 6, 8 as value\n}\n\nfor (const i of iter.range(1, 10)) {\n  // i goes from 1 to 9 included, 1 by 1.\n}\n\nfor (const i of iter.range(-10)) {\n  // i goes from 0 to -9 included, -1 by -1.\n}\n\nfor (const i of iter.range(20, 10)) {\n  // i goes from 20 to 11 included, -1 by -1.\n}\n```\n\n#### `iter.repeat`\n\nCreate an finite or infinite iterator that constantly yield the same thing.\n\n```ts\niter.repeat({ id: 1 }) // Will yield { id: 1 } indefinitively\n// or\niter.repeat({ id: 1 }, 5) // Will yield { id: 1 } 5 times, then stops\n``` \nthis is equal to this code:\n```ts\niter([{ id: 1 }]).cycle()\n// or\niter([{ id: 1 }]).cycle().take(5)\n```\n","readmeFilename":"README.md"}