{"_id":"@bdsqqq/lazytm","_rev":"2-fcd5f1c0ed626d423bad3dbce9127e91","name":"@bdsqqq/lazytm","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.0":{"name":"@bdsqqq/lazytm","displayName":"lazy-things","scope":"@bdsqqq/","version":"0.0.0","access":"public","description":"","main":"./dist/index.js","types":"./dist/index.d.ts","keywords":[],"author":"","license":"ISC","devDependencies":{"tsup":"^6.7.0","tsconfig":"0.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --dts","dev":"npm run build -- --watch"},"_id":"@bdsqqq/lazytm@0.0.0","_integrity":"sha512-WAacFpED7X0l2ZP79MWUI4PL6cz6Vl4qNtOroZ0/q83WK8dEvf6/+jHtfwDm0EDxqm19v1kwQ1XOO1q1ao7hHQ==","_resolved":"C:\\Users\\IGORH~1.BED\\AppData\\Local\\Temp\\e5fbb3dfaf4dbed153519dd47ea299f3\\bdsqqq-lazytm-0.0.0.tgz","_from":"file:bdsqqq-lazytm-0.0.0.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-WAacFpED7X0l2ZP79MWUI4PL6cz6Vl4qNtOroZ0/q83WK8dEvf6/+jHtfwDm0EDxqm19v1kwQ1XOO1q1ao7hHQ==","shasum":"29d555d90de5e7e46ab657fd5a518fd7f994cdbd","tarball":"https://registry.npmjs.org/@bdsqqq/lazytm/-/lazytm-0.0.0.tgz","fileCount":6,"unpackedSize":1874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ZuEEdRxwG63AbHoWtywwsWp+S782B9c4wNyNTkGpbQIhALGJ/fqAcmo3gRNB4Imwyn6BdXncnWIqsU0ZReEB5/WX"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLHicACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRxxAAi32RdnyS0nxLo/8uqU/WlGlYSvs3YD7PrktspEr97hyBVAdS\r\nuKU1i2HD+q40vRLRzwJS8EzcpQ1nm9b00ekoAG+gwac2Z6by6Ei8XVDwRX6l\r\nmJ4GLAPI14mdmIH501ORz5u3xucFvMRlC/x1hN1ms51glYQ1voEdrRDSE1YE\r\nXd4hxiBINsUv1E40zMLsz3InpbRgqYYnmATiTx7BWWzc8/JaK7tsRhlTfdht\r\nUX6sC9hFxn7CgK7qaUeh0wC4FDAjdd4ydOEVITeRcm7JRKPeJsMQaDe+MGDX\r\n1ObSd0qtQaYqci3jYy3BtBArgGrYlpkCpAeEXt9okR1p0ZmnXoem8ousugZP\r\nOnOZeYBzRj4DQvqjff2uNHDfIE1Uiixre/2VKEdyJXX/EmNPh/Nfoit6qDUN\r\n6wyV8DTyYqwvJZCTBmxeikMTNLKGWs/kbayxlOqFT9lGEBZ/QFfTmFClRXmj\r\nlnAtHaAMfmAhoH9UYvb2vpmEsHHyAKxOxjbx86/kbLAa+RnkiNXFhL7h7Z6A\r\nybTRXMuopGl122qaODcRnR9uJH9TH6PzpOfvfESg3FDdzMujJ8QeCmYDJg6A\r\n3eSmRoDxJc8zUu9k3XgC3Qy8K9clzPmbyLN4cOHvTghCc4eYSPYIIvsPIsBC\r\nYe8eNI+FyypNMRYaOQkeKRWWBK5KG2cWoHM=\r\n=IvRC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bdsqqq","email":"igorbedesqui@gmail.com"},"directories":{},"maintainers":[{"name":"bdsqqq","email":"igorbedesqui@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lazytm_0.0.0_1680636060190_0.966960499860906"},"_hasShrinkwrap":false},"0.0.1":{"name":"@bdsqqq/lazytm","displayName":"lazy-things","scope":"@bdsqqq/","version":"0.0.1","access":"public","description":"Why compute something now, when you can compute it later?","main":"./dist/index.js","types":"./dist/index.d.ts","keywords":[],"author":"","license":"ISC","devDependencies":{"tsup":"^6.7.0","tsconfig":"0.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --dts","dev":"npm run build -- --watch"},"_id":"@bdsqqq/lazytm@0.0.1","_integrity":"sha512-lF9D8pGIk5Lh9tYJuRGywyer4mB/vEz8u0ehAluqz+qoFrqACDH2FMFkKUeEFt1IJt2w4rlQLqBbmTBPfzOJzg==","_resolved":"C:\\Users\\IGORH~1.BED\\AppData\\Local\\Temp\\c6afe3613f4197f9c2f87b7bacba1ae0\\bdsqqq-lazytm-0.0.1.tgz","_from":"file:bdsqqq-lazytm-0.0.1.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-lF9D8pGIk5Lh9tYJuRGywyer4mB/vEz8u0ehAluqz+qoFrqACDH2FMFkKUeEFt1IJt2w4rlQLqBbmTBPfzOJzg==","shasum":"a2dc4153c0752b10cd419d839d4d7319a2d6b99f","tarball":"https://registry.npmjs.org/@bdsqqq/lazytm/-/lazytm-0.0.1.tgz","fileCount":8,"unpackedSize":5302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPuxLhl6Er8q8XqpYkUfeduv/BoxDb5YzVLWSwb65nZAiEA8PS2iudWy3TLrWOGF/ctelboFYC1kZ6Dw91UvFu6OPI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLLUuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi5xAAkH4fptXLrKfiTrtUr8DtNSykDuAtxaLuLmNeIUPZQlxU1nkZ\r\nRGSWtSqmecZjzHE8olzcGeHRKOn/emjmp/NEwBHIjiRRSJgjrS59E2+w/WWz\r\nEBg3uohdc0o5zSZfFMnIvBP7orfIhTDZCkpPfwjFvkGrpmcKze9/qezrzwUA\r\ncCG6/+QsWinAQSjB+K7dJ7OzhseIuq5jqn+sJEqhpIAgqHc4NHOVFho65ASY\r\ng4ikEV3K+jGPNIELOWpA/3Jf0QS6Wzg9D8T7aLGJKAYnzeJQ3T6i7rf2cCR4\r\ncx6TGwNMjSGGV5abquo0nL4xbobAdqR45ROzb1QwLJZpMhrlC3JIwFFcFSI6\r\nu8TiiBi+Ryto5Yt/A0DD+bk25fcP+uO6yyjArsbChFfZ5K+4AwqqBbTfdNV3\r\nq/r2AqSBA2MAiEEjzmcPAB+w3BQKN/tUaQa5IrXDTrnHcOKtai8aoxUHcH9b\r\noeDMmSjgz91TSPcpoEwaSlV/QJuQrzFRNH2LjA4m1Tauld3Nm5OmzuAWgB+O\r\nX7MwpQNhCzu92k0xHyXtxg3ZopsosxDc4pvMCWCJTidhIx7n9xqycdwbe47H\r\nvbJvUa6LJJ7MDqU1iPSSkLl2pvQORi6NaJTQ9lrvmFE9KHU73RDTgMsAnsoU\r\nXGEStVWPQnHvLb6E7uIqlOcexGICGSeuP64=\r\n=i6cA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bdsqqq","email":"igorbedesqui@gmail.com"},"directories":{},"maintainers":[{"name":"bdsqqq","email":"igorbedesqui@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lazytm_0.0.1_1680651565782_0.9142170897061932"},"_hasShrinkwrap":false},"0.0.2":{"name":"@bdsqqq/lazytm","scope":"@bdsqqq/","version":"0.0.2","access":"public","description":"Why compute something now, when you can compute it later?","displayName":"lazy™","main":"./dist/index.js","module":"dist/index.mjs","types":"./dist/index.d.ts","keywords":[],"author":{"name":"Igor Bedesqui"},"license":"MIT","devDependencies":{"tsup":"^6.7.0","tsconfig":"0.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs,esm --dts","dev":"npm run build -- --watch"},"_id":"@bdsqqq/lazytm@0.0.2","_integrity":"sha512-Z+gQJEw24S5T4bTCm5NBxm3uepWa9xUx5ypgYiLgYzYR5ARj/AyOpYehdGJVCUIodAnqUd3zpKwv7aW1lQBp+g==","_resolved":"C:\\Users\\IGORH~1.BED\\AppData\\Local\\Temp\\8c45efd642f2163fdf1fdfc487837fa1\\bdsqqq-lazytm-0.0.2.tgz","_from":"file:bdsqqq-lazytm-0.0.2.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Z+gQJEw24S5T4bTCm5NBxm3uepWa9xUx5ypgYiLgYzYR5ARj/AyOpYehdGJVCUIodAnqUd3zpKwv7aW1lQBp+g==","shasum":"8639b3be4a1dd5ea92dc373bc2460eb31526b97d","tarball":"https://registry.npmjs.org/@bdsqqq/lazytm/-/lazytm-0.0.2.tgz","fileCount":7,"unpackedSize":8218,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0gutlDHYYZ1p6ggyCP7IdDf8bh3ww75p169gjYyodrwIgNTOS82JxzQygwHCc0rdirerGJlWzDsZhyPyh6FYC5UM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLgnNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbzA//Y6LczcQ3hZ793iFu2SoUJuFY0u9zVzWfbe42C0xVtVyQOSEY\r\nt3TUJUcBaXLtXfRTaWzP6+R56fOjxfoFYhylJGP6iBGfhrQhKGMVLSPcoyIk\r\n26YpsfxkZEO9a4LXzUG9W/So+lw7oXPLSbK+34jHVRQDxWQ3CzlHq9d2fJxD\r\nlqRKb2vLbAk79MKU4hxmjSuGFtLILMq7oF61RBh8+7t8whELSR+hlFiywts1\r\neL4CZ7WVU8vYmHDDuoYaSsjcxxbBNRaMoEWeJFjzZl3ocWieoKESanVQpTZx\r\n4ss6xWETzMc3G2MLbAFPk1A2tlkuFKyzcNWUgXSxj0QDtiT7ZcNf1VDJhJtL\r\nUSJKekJEVX4DT2X6y5PjaHLomL5oxRWjF4q+3Z/vSXB1ZqqUMHLJIZ0IWcIt\r\n3X5mICA1u6gR7Pl/D8GdVKXXzSJzLdRVhkazhYaVbu/+V90pAT8SKSq3LwRw\r\npCTt0Ks7bfhp0Kng7Bmuxq16DVc5REwfSLl7JNrDqdC4b/7rgVgBv2BgMogr\r\nEkHEeE8zvYd0UgwvRnIKcWsHSb+QvE9vDVR8vCUjV9qXXAxpgDparex/bMbN\r\ngi5zk+o1Quz6Ph3WLiqZXi3H02ENcEDjA6QBhwIOo3yPHYkQ7QbZ0wu+KjRX\r\nbWhlMX7yJ05FrBvruMyZgzxYRMn4llXaw5E=\r\n=Xo57\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bdsqqq","email":"igorbedesqui@gmail.com"},"directories":{},"maintainers":[{"name":"bdsqqq","email":"igorbedesqui@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lazytm_0.0.2_1680738765448_0.7751345426244138"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-04T19:21:00.138Z","0.0.0":"2023-04-04T19:21:00.358Z","modified":"2023-04-05T23:52:45.741Z","0.0.1":"2023-04-04T23:39:26.008Z","0.0.2":"2023-04-05T23:52:45.629Z"},"maintainers":[{"name":"bdsqqq","email":"igorbedesqui@gmail.com"}],"keywords":[],"license":"MIT","readme":"# lazy™\r\n\r\nWhy compute something now, when you can compute it later?\r\n\r\nlazy™ avoids unecessary compute using lazy iterators. Inspired by Rust's iterators and motivated by me trying to get the headers of a .csv file with a million entries.\r\n\r\n## Usage\r\n\r\n```\r\nnpm install @bdsqqq/lazytm\r\n```\r\n\r\n```ts\r\nimport { makeLazySplitIterator } from \"@bdsqqq/lazytm\";\r\nimport { this_could_be_a_gb_file } from \"./bigassfile.csv\";\r\n\r\nconst iterator = makeLazySplitIterator(this_could_be_a_gb_file, \"\\n\");\r\nconst { value, done } = iterator.next().value;\r\n```\r\n\r\n## Why does this exist?\r\n\r\n```ts\r\nconst absolutelly_huge_string_from_a_user_uploaded_file;\r\nconst headers =\r\n  absolutelly_huge_string_from_a_user_uploaded_file.split(\"\\n\")[0];\r\n```\r\n\r\nblocked the main thread for a while and I only needed the first element to display some stuff in the screen.\r\n\r\n## Why is the lib a single function?\r\n\r\nTaking inspiration from the lazy iterator itself, I'll only make these functions as I need them. But the general idea can be applied to almost all String and Array methods in JavaScript so feel free to contribute.\r\n","readmeFilename":"README.md","description":"Why compute something now, when you can compute it later?","author":{"name":"Igor Bedesqui"}}