{"_id":"strict-stream","_rev":"34-bd3ac570d451c6ba9df3ce61033709d0","name":"strict-stream","dist-tags":{"latest":"1.0.26"},"versions":{"0.0.1":{"name":"strict-stream","version":"0.0.1","description":"strict-stream - strictly / strongly typed stream","main":"index.js","dependencies":{},"devDependencies":{"@types/node":"^18.11.18","ts-node-dev":"^2.0.0","typescript":"^4.9.5"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","dev":"ts-node-dev","test.compilation":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"ISC","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"11e06e59f9801650cdc5cb21d543aa36b92fdbdb","_id":"strict-stream@0.0.1","_nodeVersion":"18.14.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-mCCmQPaDeFA15ypw5qO+fC51IHc9BImMDFffVI3sTBqhKzLn+WCRPCuhHmlIAwFmSScDrEa6Rqw5lzua7jbznw==","shasum":"94000b59c4ca5c9895cbea29d568c45116312ad1","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.1.tgz","fileCount":13,"unpackedSize":18763,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwonjVIOANhMlSrdpOlHSU+4JEHh5ABqJy+4bSjiLVbwIhAODS99LeNHqViUc55NOteVTyDSGFNsNDVvcKYAGDCQUZ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEk1MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8Mg/+MDuFc+dkrU3H80k/6WtnvfaIO+o1PRBmfm7jYP4uKclAHC4+\r\nEvqHQ6Jc2OjI2Tt5vD7eRCBqQrRhqO8mXdY3GAS0AiJd5x1/aUc9d5dIQXs3\r\nt+hh41V07PCLqLyPH1Vh4Dl+PbJ6HhMJwHyRWxQCKXyZc/F+zca40gtzrPBs\r\nR7mKMQxcT1BaLyN4wmz3DaEcBrmPrgi5E5AJ3uAlDwWx+8Hq3ld2TnyuQIIE\r\nFgP4FGwrJhotpdlYFpvAtcx+NoUCrffMdT50OO0y8oiitzOKwQN6v+hGdK0u\r\nWjYU/tMcQNlGhvK5/bhdIhiaSrMtU3HggDOzT0T23jzz/xUuoUcIF5mFAwKk\r\n0DGak7Ws4fxgCSq9hXKOw7e3vbM06998GwMbo2UINLgEQWKLSbONvKWrMwRJ\r\nlGjUTVYBvsqzKK99U+VdKw92k2Peq5+xvQwUzSrryvTorwdZtSQP0APpTCjC\r\np7qDuS3K7jmSqmJeLGMxUGVBjJbFhRm7xXBSBeh5pTFqUqoA8jXgDw9PXuyC\r\nS+PRkzhsFeokavajF3WhdIqukBbiYEieAGSQ5N3zpjVqBcAFinZsVkK7V5mY\r\n1BdApqcEYIC3zZWNzXACn062pIafpNwpV++Qx9dZZ6KQpWitfFoIAxrvcLKY\r\n3snn3v1fgvnMi/oxrTGMnB9T99nLS9L+PtM=\r\n=nB2X\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.1_1678921036104_0.23125413599998956"},"_hasShrinkwrap":false},"0.0.4":{"name":"strict-stream","version":"0.0.4","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/jest":"^29.4.4","@types/node":"^18.11.18","jest":"^29.5.0","ts-jest":"^29.0.5","ts-node-dev":"^2.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.complete":"changeset version","release":"npm run ci && changeset publish","test.jest":"jest","test.vitest":"vitest","test.vitest.run":"vitest run","dev":"ts-node-dev","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"7b4ff0477921c74d64f2c2d639013b770b121219","_id":"strict-stream@0.0.4","_nodeVersion":"18.14.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-wXY1vyMuFPVBvljqEdspr9oeUguprnRhSfa7aOZGW6cChJZpV/3ufKB8Sc1dhg7rC7Kuj7yb05NLm8eAGZc2MQ==","shasum":"dc33ce63c720310721070941eb3438ac8f3003c5","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.4.tgz","fileCount":61,"unpackedSize":1148827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEtQRmSOeOyvyj8psX87p0Y8CNJ56dcia8x2k37ECAIwIhAPTpGen5q+K3bfhmipIBhd7gXsnUYqUWSBs4OPuzNznX"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEng9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmomiw//Qshcj11agt6J4bgV0GkZq7Udyn60RXLqw+STFy+KtK7HcfNA\r\nQriNswlFcQuAf0kFpbir/9FKa8XkaYr6AS5+P3II7t4dPHcmNF7FhWMTmb+Q\r\n0LaMM1/M8XuxeM9m/ETM2EgB9JkwsNDbZXwFeCgqX9Fevdz4qnvKynabq9XC\r\nd5hI5e7TtcBGBHoNZ3X9Z5+uEr5EQCNbgA6qBvRld6SlkuX7qyQdKVDfe/5G\r\nSnjccRyIN991apd5Q/uoYX6KUvJfvJkrxM6aord4Dgn7ulyruL5VUFH0Zrh+\r\n9+fynyH1Tf7MZ9xXDHzHjt8znjwa18ykBAf13tjkovz5NyARcciyICtBfXFl\r\nzlSc5XLKr0lv1oqEeIVqyvp8f+FJqQp4EqpbICDb2Ht82+HRBpQEECvwtmoL\r\nYD/ominkjtAWvyAj9H+NTy+Pjf+v5e4KRwpb0ABhqDDMgA3dsb03mO38Om7K\r\nqu6w9pq8+v8zw7svNAVpUXgaZWOMfyhTV+DcxGwoLAsPxKAXJ6o0UzTh+Xaw\r\n1a5kfI0yELlm5IUkr1qIB54cX258S0lY5heI7gl0CpIndbTY1v/CLPBykSt2\r\nYIKvrLSRr+1GcHQI4FbhzMArdXuXooALitz7dJNaMYNJTOS4ZvMOvULTmTtM\r\nFtMDUBO684cFb5tfvAzWXix6kFUntrE/P+M=\r\n=jAD/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.4_1678932029629_0.20579852215864047"},"_hasShrinkwrap":false},"0.0.5":{"name":"strict-stream","version":"0.0.5","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/jest":"^29.4.4","@types/node":"^18.11.18","jest":"^29.5.0","ts-jest":"^29.0.5","ts-node-dev":"^2.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.complete":"changeset version","release":"npm run ci && changeset publish","test.jest":"jest","test.vitest":"vitest","test.vitest.run":"vitest run","dev":"ts-node-dev","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"0523aac703ff55d197b5ea154eac4e32fd983e2d","_id":"strict-stream@0.0.5","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-5wvEMnFXMVYPKhCEw3ECbfc2zLskqf7ow9gg/HOTCfvdq7buMaiaOz9qKAAx5ivaFyjhL9JDvB0Ddc7QB3BDmQ==","shasum":"2d43a7e4c818043c46b89ff907996bf074834cfc","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.5.tgz","fileCount":63,"unpackedSize":1149277,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm0gEtNjYL5+Y5upEjAASCgfTzhYGy1vb++Hw+IG1b5AiEA3gyiyD/frXPxMRRx9nB+VsUK6hSm4RaVmvqTT9pRdlc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEn32ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoe+xAAh1bSEmC/bflYZiLx0ngnmZgU0HvoEwmsXviR83miFoyjFPO9\r\n+LkXpGWc6eiliLcDXHWAQ4xwVF/SDzgrOu530mEHZhqLHYnn+8y9fO6Ho3r0\r\np3QeLfdyRRESSRhGvlI1UKbu0LUHUGdz0g3VUk7yaBIV90/LmSkShnLQahHC\r\noVEWDdGbbsBFHaxYmW2MvQ9d10HnS/5ZiKBnfANgKB7Rybp9QqHqmf6URIyM\r\nXeWSbSJsoqKduuVdFpFK2L0b7Kws762AWxHRwXrcKaN7/goJOLbycccGY0tF\r\nwBciPfrUQPavG0wN8nst0vpj2/hcSykSv6V2PDaWFimZeC6wgn0OCm/LCYhI\r\n5/6HnfG1eKjx92hiLKhq6/TgU1EXNFyFJNW/prQ00KtA97ZnJqtLEKYJoP1F\r\n5NXolnPPSjzJ3gA73LWGBSBE4YGXV3de/jBJlgKA/W4KBmGWJ27NpRhQ0PV1\r\nTtKakOidHdhLTR/Azli8ZKpGX616f+sZ6pW98qTRX8rcmFeWdnIHUS9gW/lg\r\nUool63SLZPJgbVWthA0nAkv2eCHtD3pMgh52XHX/6b4dUDmjrAmzbcP/IrrI\r\nBww4C3ZlFF+6+6IoCpTl07zSeou5sIy0EwRwThD6mOD3j8fkEAqpxz4Ex2eE\r\nMHpvBFJx2eqh9sHgiAqtOF7qzT25X7a13Fc=\r\n=L8cM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.5_1678933494358_0.3365214217615047"},"_hasShrinkwrap":false},"0.0.6":{"name":"strict-stream","version":"0.0.6","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","ts-node-dev":"^2.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.complete":"changeset version","release":"npm run ci && changeset publish","test.vitest":"vitest","test.vitest.run":"vitest run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"a4da7378e62bbb546ac2fe8184bf183d22db06dd","_id":"strict-stream@0.0.6","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-rUwhGpndUjgkkUHryi8zpUoZd55Q6aX/rVYInobQURWM9o4w7F1861jPiNJuxSliiWzY3lyHPDSYMtWleG/T6A==","shasum":"ec6455be5b6b3c62ea2a2a3cc429bc60fedc05d6","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.6.tgz","fileCount":61,"unpackedSize":1146951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA3wcvCt2QMO5VavBx/bj4h4JXHuCgNL7fk0awSi/E0+AiBrjKtWYIuhMTspUhAkp8QkU9PjW4Vr4EOL1/qXLiZkEA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEn7aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9hA/8D1k7ROSNMj/QYU9PlBlsJrv5N6GGP00aFQA3MLR0oXeHAEQK\r\nCObemmhudZ98GZGRd8fVTwODxLzoYTYhvajNkK4z8K2zKH1+3LOGWnmjGUNU\r\nLL6x3/iKApVUT7LNQzUlACRU8emhzvkEf/3zTsdCCshNo/E41FwCEsW1/k8D\r\nKTQ9pTOa4KtHsO6gagwXdB6XWsw5FHsGVcPtZNEUwYRD2EO6mazIk9chPW+T\r\nk2zXbFNbOeRcFBO5bhWHnl8nOpcnj+1D7erHCzD8Kaxs8gtYsQ7y6huYx2W+\r\nbu27SRQq94ODdzYnLJnRWeYdcBnWxX0OKqfqDiX4h2v2yxEdTzVcGqND5iqQ\r\nVesr0RYe0qqxhRZZhOS7mVeu0gSq4IPuGg175srNO/0JfiQWfuoN4Edpcd63\r\nglLypcvPQZlXLHYiWJDApTwN4RZvAIY+spE+Apwzq8zx8BCUqG2NGPy5V6Qx\r\nmvfF07baDQqup/gtisGiiyNCYoDrrSUD149OMdrchl2+DmhWs/rnIThtM/fW\r\nTgNV2GFLSLIVViEuVbbLXnAuZzE9YX2AcuAY9Syg9BIe3gvf8xTChrUBlWY+\r\nh3sTIhJz/Y55I8l2N6ZzbGtrAG7jYu6StmSCJAE0mifkoh4nTfKS83Z0VmLV\r\ni6FF5D7DykpVnFrSOI15teZw1faunJ2XUdw=\r\n=JjPD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.6_1678933722243_0.9306782750659062"},"_hasShrinkwrap":false},"0.0.7":{"name":"strict-stream","version":"0.0.7","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","ts-node-dev":"^2.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.complete":"changeset version","release.deploy":"npm run ci && changeset publish","test.vitest":"vitest","test.vitest.run":"vitest run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"14efb24368c9fe0282dfc1362dc70e98448c63b6","_id":"strict-stream@0.0.7","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-j4W/k8YCdWl10Xijtl1g7W3DadNdfclF8/m6TdprqbD+iaRK/SvYLZMz+pBM7Css4NvH44sT+VeLr8UUHdxRMQ==","shasum":"3902ea0adb41a0f8e3a150bc30ca172a344c4104","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.7.tgz","fileCount":61,"unpackedSize":1147006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwKueO4CR3oPMW+U/J0gSvedvcj2/MT+nt+HYTGHP/dAiEAkbZ4JXj3QsDwNdz9QIzBJkDpec9Qoiyo9KP7ICqOMms="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEn9qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBaA//X/blFyLkaSGLNDLG83x6wLd/1uekvwtGSPyNC8KFzZSRMIuD\r\nPf0hPC9TMdNJuypgiB7mARJKJwujzKxqTrPg11us8uH0eOVdSOGNPCD9N1fj\r\nrzaG7k/HV3+Z/ybkxp7IR2yH3wf/h3DQZM8Ap+X33tyXwxrs5LQ0ytUnp7+J\r\n1vj904MQmUXuT+WS+XeMv6nOmpaYUCkD+XyEGd7MFq2xiIszXjhUXwHSlgsA\r\n0U67esfNNyn4i5qDfCJa6BtTEy1UbAycC4JsN+p5GXgmMuV0H6XzSZ+TRIgJ\r\nu239f3jMHqZhqFnpHmSl1CgbOeLo5N6PmcYgHgFVXVGNc9AIJoLLfMdQ4jZc\r\n9bWg8X0ejHfkpTr4ewwu+Gymb4zJdZBp4LNuuHQBOwQCBvpoqJho8p2S1Nt7\r\nongar25LqNRpXFul47eo4OTKGgH0B+PSjHgZk3pdWCQ9eYlfdD0Q9ffqHSHc\r\nTjhdI+5Q1F6O2lXmnxAHRHbZ8NNInrit4BgEIFMPOlJsJAdC6DNhdCYEdbn6\r\nuw86ubmA2D1u0IYY5kq2wU+znPUMq3BfaSNUP0caXNWrmnASz3Zkc/lfABzg\r\nvuQ6TCubadWQs8NcUtjB+jXCaaqfxBmZjBdeuP18mmQcsuDTgTl9xh0PcadY\r\nVAoB/Dp3M997eHHWjGlOgXFExVy7PiaqS+U=\r\n=1IBp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.7_1678933866562_0.037142008679866834"},"_hasShrinkwrap":false},"0.0.8":{"name":"strict-stream","version":"0.0.8","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.vitest":"vitest","test.vitest.run":"vitest run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"b5afeae7aa737ee8815f9d0759fb1c43a6f38b26","_id":"strict-stream@0.0.8","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-MS2paJGj3+bRwqTRR4xHgyOxKtL7U/0OAXeaEwXCg3bs/pMtLREb+NEXhxCifcCNnvWJs/Zz1jbL4VCJnIf3sA==","shasum":"27b7db16157e356f92bf3d967013054e41b3b9f1","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.8.tgz","fileCount":113,"unpackedSize":6721087,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPraWFJPl1ckxOhrUjTjo4eI+JHbp1L8usfx+keDARbAiBsvPq4EwqiKTloEhwbZBv5qZZHGBveuemiLdUd/Ct46g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEpc/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqT3g/+JrY0NCmlp99pb400PpVZdwzCAfaqgo4G+FJzJVGMeRUbrYsM\r\nf74AfOQCS5mJvFVp8L88vpYz2a5hh2zj8GbrHQlssFEkkQbcA1/rqieHvYH0\r\nj4C2uk5G+MbgAbFEHhllBWIh9hCf6mEjQZwrwCVOjQzoRyxa3Xg1wi2wolMq\r\n6KorkNjgTmQW14heAtsFGZw7VgMTcmID0gQRS8J57qL/iJyotOtUYTe+aKaK\r\nBt3GSdLevNrPi26M1b69+oD1LOzIQL/SJ9H82w8S9S1o+GnHzVUgKuvLqn5F\r\nDuwImweW8F+qp5zeg8owc6jgGNUCdyCYTHbkb0B2h6Zx+4/N/InaO+K/S+AL\r\ntt5dmMKOBPHmvW7Le+HQt06tqYd/7Tym39RpI0fGsYI7O1XVO6szLhunRrBX\r\nawYxH3yHztBqpzsM29b4+6jiCRtvYDCDXx1k8yJW5pno7KUlMAEZs6gsjQ+E\r\n9goMA6Qe8h14tS9XcBoM4SkYTK8CBAYCdrXNXQvWOfJlHaxX2BFv00319ufR\r\ndZTzHs6F8dx8EMUCD74klUMdZhNxZ6Kjw+RoEwQKiKnwEl8R1s8Tt7Cb/ECi\r\nFRrGfttyzjFAjqBAzLPcv2n/jJ6GLDsRRTX0I68PIDesFSspwYTpcOeqvhjq\r\n+k7pSymMF/H2Xf/c0K/ed6aq2CS6SiSWFtw=\r\n=aCUI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.8_1678939967430_0.12576638574376364"},"_hasShrinkwrap":false},"0.0.9":{"name":"strict-stream","version":"0.0.9","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.vitest":"vitest","test.vitest.run":"vitest run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"81dc971f2c49f978326ba3b79232c18b1e933524","_id":"strict-stream@0.0.9","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-QRsa3utre0/JA1Ae5zISYwSUXAo/xSPCaHYNoNSL7TFBDU4n0O/Sw1hjt1Io66c8rHud7elCBbsybaoLv2OhPg==","shasum":"5e48b2a1cff46fd1aa4ac3f422c55f26ac6b3d33","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.9.tgz","fileCount":81,"unpackedSize":6685204,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/AfxNoZcsJowdmIZTYL7bA2Hvd3j0fp494k+lj7+I+AiAXe8d9wxjtNBz1jKUUn7pPnge32eIsYeDC8VkoRuZJ4Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEqPMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUNQ//TeN7sKWpIWM0+eOVGg/G+hsxBqoMHQXy+aqPXXAYUJVzrqgR\r\naalpY5CJw/rnnYheleKfCNE1SRi4mCPz130EHMoMz5fNq9phx3ZX80608J+y\r\nA1Lh3R5HbFfuiCo6xDHfqwr7r91CKy//RocWgBuRwh4gWJGn1MXd16KzvCz1\r\nJ7UvJQX6bD2doIYF50/HN/8lEO7nd6ARH18uKvcAuU4J4dQD4dSBge6F52vZ\r\nB6IVCt+u0ne9K/DYlb7agcADrEAsqugcKteAYeaIgsmANyipph7vZR5IpyKK\r\nQ4A5geLipxyB2LoQ8sw+Dwfdu3Dyza8eZx5ER5gqXI48fiZjUpLvEb7QGifG\r\nHSHNmgnSXaRZYAdQuRZPPek/7Nyj64e8YQ9AGG6C4kUJCNoA65YpQTmHrI1p\r\nfC6LAH0QUSGk9vJSQL4HgMxkjJk52JdiSwrC7dDFs1W4Zt0gdGJzeMpCcYdV\r\nDn8wLROExzDQhEFSsH+GrKCU00LC5mtcLQV8kQxKS5QzH5pANO9XM4FCvfFE\r\nlKbZEFXbfXHIl6j3WbEFiIsLKO4EbU4maUh0TulOLJuolA8mit2QFKCExu4p\r\nPzLJFuFNNyAT4LVNkJuqc/i6sJnukC2LIbUsqR0lNyewJXznw2iyaa95AEiz\r\nUR6UP87oOUa0eUVwZQenPSu6A+k2G5yRGPo=\r\n=MgW6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.9_1678943179737_0.05146521711061758"},"_hasShrinkwrap":false},"0.0.10":{"name":"strict-stream","version":"0.0.10","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.vitest":"vitest","test.vitest.run":"vitest run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"7dc8665be3ebe461cf31bdfbfc8b8a0d9252d006","_id":"strict-stream@0.0.10","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-o4y4rv7U7eHFYrtoOq6ry0AR5PjmpHdjQLeRmS+NULs3UFpCxyNh1p6uRd/bOXXYx+eiXEOU4JD+cexYTZO4iw==","shasum":"b61c545d660c504541051b66b84bb746c17e2319","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.10.tgz","fileCount":48,"unpackedSize":571563,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/FLzmLhImaHngKGaGWK+1NcpkJ1ObFFZ2oQQ+qXM41AiA7QkkcVebrS53OmF/K6KC3hAUUkfVXQzVoYIlbUo6cjA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEqSTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxIg/9Em0TKMGP83d0SBeWpBTTW5xduqK66fkOn38nrn3vgZ0OMcbr\r\nOmDhnwF+qw/rfomB9SoI/aJSMmTBzdPFi9hWAaxK5vyMYkdfNijHVFjkhu1I\r\nMoxb/Vxgw/qbQrdMMp10vOXz9mHwoNp1uk5AyZ0cD3o42v5xJcunCcE0NqON\r\neQNTDSMMe8X2Z0AzxBOi67H8REqWac1ko/EyYlTZ0xFPwQAGLLFr8/DOQLfR\r\nWXs9d2v2NzgjHQcDYn1ipiHwqqUC/7GIs7WWibfBnDLH7LxtnF7lJzSssdXe\r\nb5Qn86KEygIG2UCxYd44i6o+j8VJLDqGyolgCbsjDBFayVFaWFxSEI1V2PbR\r\nPn5X0w+yL2Cj/SONgR5/VZSG0+Ix8PBjgJauQ4oo8H7hRurIjW/5fqJNjhJY\r\niG0hb9m/8R5IY/DxVY8plYG1/f8IoUoAQpaO5LxX7dOfYhcy0SqPtmptti9Q\r\no/82KUsV9Itzm7Q7p57SiKERbw7QdPXNcWriLpjdrAreF2qQGP//Lc4tXfPT\r\nQYgZ8FhEPL9j2ovlmpNn5G5m9FiUW2ankd/SiqKWWFd6OyFt9EgHCvClOZgr\r\nkLY76NdiCSuEbbhUc6PEBt/60hBlDICNKigpxEA7udLsCS/dN/OOB5KOQjXT\r\nI7P7T9oR2UBpDzHPyqN+Upjg9I7OUeDe8Fs=\r\n=YgDX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.10_1678943379176_0.5689319388799081"},"_hasShrinkwrap":false},"0.0.11":{"name":"strict-stream","version":"0.0.11","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.vitest":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"f032bc1ba92844c5eb9792514789fe0a19139996","_id":"strict-stream@0.0.11","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-IyamqCblsf90hr+vAj1ofHrvRgn/+kGiGg6oRas2Aprl1Gcm9SpYhjp4U4Cs3hDTliOBbvchSL8cxqvQhdymnQ==","shasum":"896fe2dff8d218c7d45dec728faedb2d7c6e962e","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-0.0.11.tgz","fileCount":72,"unpackedSize":599116,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4jD30QhEwRIO33e1GPRZL375P/umv8zE8cfROB9bmLQIgfUxka4MEq6/ojGaN6mNZOfT9kNm9uQhPM+dppf9az50="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE2dnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFSBAAlIV5gPmjNaTgJTyKhg5ks65i/LaLEzBuczhEVJVE3BuXOLCo\r\ne8CbQZKeZNpOpG4Eti2VW1b98XDUl+I7tALA5ak7Bi/ICevyrpTe4da046gU\r\nEzjLEDclHSRjGlYuEcyiLB1FXI2w2LIYpTHmCFUsrGBFhoR3oir0SMpWbMoO\r\n7wF4pN37MO5O/02+qFGu8ic++dZw8EqizIvmHWFXtjHfnUC45t+IPywdhALe\r\nXjK1i/I7D+ALtrakHeyTh39D1xayBspQglIATLRryitWzkMz9AJ4AhcYO8qn\r\nyDQp6cn97CbddGrsR5OeEy9Ee0pxi4c3FqJGp0Pafn/W6VWdxts1cCcm8B36\r\nuE+9maLXBHqBQQ8WcAJUj1Esdn76nAs0hwxDT2XCeGsdzMhEPAnAvbGn+1yV\r\n7U4VwxEgwdzOQ26OFH2HbOaa53JDiA7C1raNszTTjlKf9xzdlrIi0Mxff6Nu\r\nObisUubCk8CrxDsmg07DMc8CBiVFWBv226+o8TApQNm5dtmCH5kBG4Hl9hU2\r\nxPtHjjd2KlUpW0JzvsdcdJJG2LJwXwL+Zlih08nuVUir9rw90QJ+3heEor0S\r\nH3ZQSXgaqpeHHQRrUyFawxRC0QJUgZdrFEhtpwELZ/OEuTA9jsdSF9ImC1vy\r\nt1bP/M6AOHQxuHBVgSWUNPDVTNeQJ7xvZu0=\r\n=cgmI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_0.0.11_1678993255238_0.891586832262075"},"_hasShrinkwrap":false},"1.0.0":{"name":"strict-stream","version":"1.0.0","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"43ad5d4d24641af0b59369ea370b7cd7e7895684","_id":"strict-stream@1.0.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-iOQ0GrmxsCXEyyzGorpQ8Wr1A8QubPIJBYcsz90pALYuY4tSQ7KVJcFLwVSUX7ckNcSewCzAHpj1XIlrjdXD9w==","shasum":"eb872b3a4bcad1cd963308ed2f125d1a80cda2d8","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.0.tgz","fileCount":144,"unpackedSize":685354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF7Oo8t1t0zJQUKtEVjh68VeObyTzfjrw8g1129bL2ZwIhAMbxJzcIip6EDXn8YznD+p80BX7vEEKlMwG1ZQkKfkev"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE+kKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdlQ/6A5da1c2KUSfz7ijM1fk8fpp1tF5nbnEMhKOFamK0lwdfxbzh\r\nxug1Eg3pEJS/KNmBK4cfJDfz8Hq6zp6AXhiizDONSqCxskykY19tkqasJ0lg\r\nAAZ1EIrMfLu8mv7mOHI5GgMh2undZShVxI3QexCwcij2RnvsmM5Fw+sEPwwZ\r\n5OTIKcXwaVrnE7vrLnhwuKs3Y1ZcHj3FMbBoUvCDhShIefAHSF+L3LyHTCoO\r\nWrIPhYXnbM2QYSFNO0E1caiaMNaoq3GYkuEmtnBcPaoxXz3tTw2PupUDj+4A\r\n6hLNwNXBHAZWdS5gfUpDtchXylE5oUE/U/9RsH2WsIB5YdrGId3MdLDxjX8c\r\nHjJ3LcaTs2COA5WYi0V8k9wTkYFaNL3jzjYvdYabUF9m5iUxUovZcym271JL\r\nS4WxtbqxJyjOSRcHcNi2IdFqHx992DPY5gqSQqa6AX23T1qcmjUV9hzbVwOy\r\nOzkq/PVtfdiaVjSyCFyvBSXnqdSKrKwWcwrWFiftz9253yqZNwcySVQyK/O7\r\n1OdC6Img+yhundFxmHIYc6xwNdzE4eWD60PdBkof9tWBvfClQQWrcydH6P7p\r\n5j5O+l3ojCVlfnGKdGJWQeI0c8fGq6U9XQjPqg7zTWhsHQrni3eJMtLp4sHK\r\nwa2vaDagAVEmB6bGZnEfbd5x2VIE/7Gnp3A=\r\n=MiKC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.0_1679026441824_0.30217473317009413"},"_hasShrinkwrap":false},"1.0.1":{"name":"strict-stream","version":"1.0.1","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"65d2c10b1bac925fd032f97e838dd7be5080e16f","_id":"strict-stream@1.0.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-DehgU8XotH1Gpi3yDCfhMjhFb3zd8tiFfMtIWtW2iXICzPvfEkQpHeIJGSJcaKOjw1QCMYDHNyz6/i2v84dkXg==","shasum":"717922fe2daba3de26448f2023e40a73163b0614","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.1.tgz","fileCount":144,"unpackedSize":685394,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1TVD2cmFu+TW40r5eBTwgmlUUMzDwtKnpmR0MqNq3oQIhAItOvaf8swjAboiaw2X5BWeAJrl3rrc9HvXb39MJQx6J"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE+tdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrN9RAAigM//aCLXSAd4TBpK6x9Yo+xQyx1lu3Lf1/UipUp2RG066b9\r\nHVaCUVDiTDqtS3Gw30jnJ5XZm4pTAiOVqaZmaLaLe8xl3nhRV4k8+TXY4+52\r\n/TT9uhsT56y2SiaV/sP7cv433Ju1+fp4JDgUZR8uHlXcBhBkWGQtpvC/9g0s\r\nA3pI0uEnA0yWVAVS7Rc09HX9xgne/rNbJhZJBKWLFPLVYpQRA8DtZ3s93QHL\r\nf6JU6pijMxKgosmQQwKRNG7B4zOp26iZtG4fH9mrIZpNv8VKZEHtpsRMm5xU\r\nEeRMHod1xjH7+IXDlVqUwvaDU0rm3usLjlZ7x2C8OGi0F5aNoSVN+Ee9EKNO\r\n987mpOfKUNjgvUaH7qT62g10Tj/yRLJP9QeL/GbuU+JLSIwGdcqcUlhLsSM2\r\nJQlw+7nbXfk+WO3Kote3LBnYLK5Qz4UgE832Uv/Hz7eO2Zy3pvxcBXVLE+Py\r\nw8P4b98v7RCtYo8xuFEfJTwOYwh0pfi7YTcYRqAqwG0tejeFWzC4nsJbrJd6\r\na42VgzyngUs/Q2ysEcKlIm5prcIvhCmnpZnRoY6woC0/zmlGa8q19EcDIXXK\r\ntRS1UDqhxXTBMQVveTpxShPWWHDGBc0lQ8Y8hJ2IqWeE5DpI9XrRhGzJ4Rru\r\nWg/ztqSqy5f0I8abtbSiKUzwaUr8o92Z7UI=\r\n=RuJg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.1_1679027036911_0.98247731885811"},"_hasShrinkwrap":false},"1.0.2":{"name":"strict-stream","version":"1.0.2","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build":"tsup src --format cjs,esm --dts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"cd9d1391138fc3ccded3696e779c67d796010128","_id":"strict-stream@1.0.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-HdsF1QskmIvQUJ9b7OL1tvZoGujkaylry49FsF8srBJvV/9gI9Unf5iSiS3Uh7UYFnWtls9mEQUuagH/FpR0KA==","shasum":"cea7ef6d80fa841d27afa7ecdc480f511888e3ac","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.2.tgz","fileCount":144,"unpackedSize":687192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArIPWE8whzo04KV0Ho+jexH2xkoGl45wpkv3Sg6uotxAiEA8cjNIrCpWPMsf2C7Z6g5PPiRZ1uv0Hv4fKhGq+aHoPA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE/WRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoyOg//cPoR6LJYYB14xoJMCVL9uvSKDUXDY35f8xRVAeu6e1Dx8v30\r\n4R3Y+iYV+x5h0gfeIP3EAU17s/7SyIDvUL7cv2/BOAMOd8nsZ3mhNZUgWN1o\r\nskYF0LMaOTnRv6hL3y2+oezVoGJoZXqcT9jz/ta4XXwKFaNEAmwhGsKmABt9\r\ndTz0mwPrOPOaYOU0wWIgxgt2jS0u8nAZRWfv9NYRfZV88qNES+Wd56L/r1BO\r\n9P0UYiY2xNbAinTviTcgH/ayup80ZRC43n5DKUy/6uHIwizKiCDw1deNtXgl\r\npzktcA35lJkXlGB9b2J3F9UfJZdjJh4bry98LaSDKbGcn8N+EDteh64NjtD/\r\nIHfOjrdv7VeOILcHJlhr4VpYWW0a825/oOFLkGNuVH5jbEbTHXDvbR8dttJ8\r\n0uijCr5lDv3AX4InTYca+CLXMUOMyNV30DgSk5qc83eBlIznSl8UBHX7qUUi\r\nu+pITle7ShYZwlU4iq679dVirxic8CgGhxhGlTjJ8kRz59HovoGShw5EDHVc\r\nEVnFF9rsq1n9qX8fY+WwQcQv8foV2vgyPbtJiKTdhX6rBwd+vSuwUxb59tUS\r\nyifXZLRlUsAgit+XZoTSmFNC/nLjEX7gyXXmhNFY7Nh6CPSTCyMOBTjvPGXh\r\nsXQrQlyC905607VyeXBp6TRxDlR0LK+jSIs=\r\n=2s3g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.2_1679029648858_0.24443216573438997"},"_hasShrinkwrap":false},"1.0.3":{"name":"strict-stream","version":"1.0.3","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build":"tsup-node src --format cjs,esm --dts --no-splitting"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"4b2747590d38fd4b27600a74e467410916a708a4","_id":"strict-stream@1.0.3","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-KeVUlF2lPKNffLFWHdfXkF5RkijuToMP7keE7sbEvPf7a+5HgLaFKuwsBNLSRQiO4I3QLUe+VdxMtj/sIYQpYw==","shasum":"bc746f056e2b951f2ff650e1f6a98e24d2e8d33c","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.3.tgz","fileCount":107,"unpackedSize":138563,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFR/bjql2oy0RAe2k+spgSH8kBSlS7Vwn7gLnWlmt9eeAiEA5IuZdfX2a2WY0aRdal35x6s4wr2KdJR5h5x8MjY8w/E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE/lFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmof5w//TzEzE5Z+lEa+hJYhzkmjkGkKQgIG3ttUrB9kqDacSC8w2uWk\r\nPezAW+c3iV8F/slV1G3McRC7sH5CCWmFQ3uSIvd99QZ8XHCmuIv586C0+le+\r\nEwXR51sHGppanXvNZ9pnTPq4N9EKLz5fplwObrDUvWpQHJuLYj+82j0xqolz\r\nl5IaD9iIwciFbavBnl8daE9r3f8hYStuZb84/n3VLDpHW9XCImB6ZaKsPxnE\r\nxdgfg+IOGbNVCR23r5+JZ0GGwRNMms3EAU18DSovk3E3OpVN7R1N+QbJumO2\r\nuWnamfh+KN91puB45pmZo9wb6BxDM2VhToEz+BhjuOmzIAFcsKX1HQyMUld9\r\nKApwaRNA7UKxFDfAYC+ftpTQx7fDYh4RsMF3N8o0IJXwtARn0RwVYSey4kxI\r\nM63RupXjMIkssfPYsCgbZFy4sN3+zbiq8Lmt3QONr3bHIDVI1cnOcUTh92aO\r\n/qzjhF8bk4nUuej1XmngNIib0+7klT97IlgXSKuxO4MbjNyvq/ki268psbEv\r\nfHmDzjCAzFMCqEz9ZyGeukY5i/9wPdWoYcxA2v26e7nPF56ohr19bwvrYFVB\r\nbkNDKDQ8Ax+HB9RVazK5kQJGXGZ/NNwpxsbpe/ERHGCRviQmGJ2eC9LospLm\r\ncgQlx7QzPHCAyFkZHZMxGhbEMvk6E831tSk=\r\n=cVuo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.3_1679030597554_0.023565109580104382"},"_hasShrinkwrap":false},"1.0.4":{"name":"strict-stream","version":"1.0.4","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test && npm run build && cp -r dist/* . && rm -rf ./dist","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"13fec05985728f2795180ba0c3ae1be681080ed0","_id":"strict-stream@1.0.4","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-ui9olV6y39BureYiP5g5OTNtweS65RotwNcdV219MqWpraV8ZAqhzkIVgNrJ/R+bNvKizERhhu89d36iXcpcAw==","shasum":"2b499ed367cbe6aee868b381bf3f8bfed76eddb5","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.4.tgz","fileCount":144,"unpackedSize":629539,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD10ExyF3H0MifXDafYuL2OUY6pQ9HFTLD7isNxxKk30wIhAPe0YOoOSYT6m779x2Wf3CK0+vHpWEAcwVESkKkwLh6S"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE/9AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLFA//bu4a6FQzgcNnqeUZCgXUM82a1n6bU5lgdl+uEo27LLa+7LSy\r\n9SJuN4RPsJXXcIXn9zO3WZZKhdOzXPQ6/AHbiGqyAuZysQZg2cL3aH3ItfBT\r\nWDFyFNPc6/WKigJbq1nD/3M09X355ukKoTHktmCmaNgi7/Y2VBAZCmeq2EwZ\r\nM6l5GDOvfHr0G4zaMViIgW968av4zH9QQwKjAhbpMQyD3X2turNEPQxgnD1m\r\nOLVE28CV9mv1oatMvYyQYrvPi7h+/x3JUyIphFQx/xtzjyKs+Hn/I2htS4lK\r\nuqEIJyLnO4UtBgElquDCwWlgLSUFmdQPCeGLpdyq60uIIArnEf9R2jrIjWNL\r\nkb5A8XqOnl919W8GflL0Dt4k7ikAPvc0MZ59Q4SFCQfR3rtp6gQmd/+6LYys\r\nYYiW29INERWhOMJRD9fFc0uMSta7ot3rd4RiNmTmcsNe6aqMlhdp+ZPE3zKY\r\n9ffz1uVTmofIYAEySHtLMMYfR35padSsUFcwUc9fVW0K+kia0fMDsCNJip8i\r\nUpOvO/mtXW2BdBoBQ6X6UEF0Dq5ZD6ugEi160ohrIEdfK6fJHvyqYJutKAaQ\r\n4oIC6ISNn56NVYfZRPGMe5i/g5+MDzSq4bdiUJoRwnIBwlTnjCAsFIFi4eKP\r\nhAgisc/vVFOQBtq/z+sSpDk+AVd9dEM5tZg=\r\n=PNIV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.4_1679032128456_0.8462438557639074"},"_hasShrinkwrap":false},"1.0.5":{"name":"strict-stream","version":"1.0.5","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"50e110523ae521076ffbe0d0d6df6c5edb8369aa","_id":"strict-stream@1.0.5","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-Z4nwTZxuk7VncnmvyWWOL1JLsJLqspElrJKuzc2jFzyAGX0LTKGiWPdD0m10LBSxCtS7pak6iSGuqqo74DYzFg==","shasum":"3fe99ee8473f1b1676ee20aa66315319b7cb4d26","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.5.tgz","fileCount":153,"unpackedSize":631482,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBa6yp99JfFme8hnTu2Cot4Vs8F9JZOyGZD9SFUSCTJAiEAqodaapHcenfH8pMcrYxS5hbLEdOA6NqwhL3rtpMT0mY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFAXNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPLQ//avNprRCVFK6hf4PUn1qnNFijN79Rsux4MCfuVlb8UXaFeXdp\r\nHg5OVc/MJ7f8d34brGV3vDtZ5dxxkpPWUiK56abqi0oIVJ/xR6Q110asLO4m\r\n2GyePIFSLM/bbAfG+sDV+IHz75rwLUrI2wEacpyIQOFVJzsrCvmH6P+PnM7j\r\nY9CHuoyYxLpGCj/B8/r+inHaghqkeA4mWabAn6Ww+e1CrO1/jpYvRfXpfRgB\r\nlXZS/xNp/Y6A6aZEOsO4xRS/t6xqiBKLUByzur0hrSFQZ5PRgbuEIzsWOUlV\r\nPjfaoo2PiUpeMw/KusGbtCI824Me7ifoagLihUzm8NbXYMjCMJfsB4inpdCU\r\n3Jft9d1I/CyDzMxgjV2C8jYTHiG48M8uQ6vgu4DTstd8j9juM6tEL/d+BAUB\r\nG4LXkjQpIMNyJ0A0WC6Opy8u3L4BzOtmBD+m6KBmh9VeM0mjRULj5K4BQ5+n\r\n7Pv9/o4E8YghiLXIAPOl4Zqnc6dNbckerkoNOL0rXHV8fxIu+4Wk4ob+XgLk\r\n+eb2D28Kn+AkIxSwPJk56GfaYZovES9pyVrsNtLaeLBENV7u0gfo4+5VUNDi\r\nRxViMJ3E8IQNUBahJdFmK4TnfDNx3XBIliN3KXl+5rIQOXTLU6xrxJBqvxzq\r\nXhZ/RlyztXtmTYzYs98rPVTj7V4buAQI1Uk=\r\n=E/WF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.5_1679033805228_0.14695101321358206"},"_hasShrinkwrap":false},"1.0.6":{"name":"strict-stream","version":"1.0.6","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"5400ec9e53f5434ece8adcb475d0b4fcea8d1ad8","_id":"strict-stream@1.0.6","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-42T3z4aKLKr7kZ0i0EjZm+k70YOaPn2gfSzOXYEakgJJNDncAD12A6pRZ5PppDiFaTScklwrKdCYZSB/E1Z8kg==","shasum":"e392f2aac1130ae6fc8afa2926a2cecec4ce1bae","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.6.tgz","fileCount":153,"unpackedSize":631550,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVrSW9/BodUT6Y2UDxqxrR3cgJBazcOWriqCWXMMb6sQIgEBuzJ55jszzReorypfuH5rI5cseaDNphJm8UeWCNAPE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFAgCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX+A//U/nT3KPw0dIuEdnYSD+C4tD+pcOxtIWSbbWHFib3VA++ohgz\r\n70jABxaLu+QXTVnexkSKimKD6rw8w2AJb9DlFHuoUULJ+1qzBXWwiXabBE2a\r\nYaEuEPlkKAljTH+0oY0d5vkj1FvOty3/zcRG0sOcYHSY3EQrQ2sovtO5vXnL\r\nHAfE0Xrl7pmXRRDite1vHRZWDKsdJyJNCBB1b+v+/NtYuZRfOIcj0heVfvSa\r\nfpXr1N2cHxNt1l50W8uAcDnnBqghNxR0Axfom5KLlhFcuoIHpFEcDFCSDyqW\r\n0FokuvOuPReWT2hHM02mX/foROdypwsTqFWPkpRpIDTeFAEFSXrmmZYM+409\r\nWguMPs0Z4w0oTxvX3DiWxg0x4Q+tviROKTz3wnTX8Mms9VVPYUKZk/2ZPpsS\r\nd4ghal25YjFfyCnzB+vdMlwJZf8Qm1oFbXWeZ6NefLDlM/cFOkDJ8b2kilpH\r\nTy9VIrCNTLbA9dn2k19WfJJZMYJUgkN0CFaDy4UXJkUZpZVz5VnEs3nb1yY0\r\n/3oc154j5XL6B2db9PWDq/mYdemtZY6TaZezi2wFwvhm/uwEdIuvKowk2lRe\r\nJSXR21eHbqOKdG+3pkh3oPZ4AQHXkllrvLRvRI9ScXLC9UDeYIXmDaNLnZRu\r\nH2yNhR9FGU0ZB/94izHNUK7XpAKXuRYZ/ag=\r\n=LcgR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.6_1679034370223_0.7669293331052853"},"_hasShrinkwrap":false},"1.0.7":{"name":"strict-stream","version":"1.0.7","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"fb35217f0c742f70d567567f5a28c5c1f919aec4","_id":"strict-stream@1.0.7","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-jtH5SNjGzxgMaHd4SG80IJUo+X1fPVz8oSeEsAXvIB1sXYYk5D5kRu2X3870z40HTOOSe0Elts5s3BqG/WknGw==","shasum":"5c5b08705a0775958a9ce94e1958ed445dbb2a44","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.7.tgz","fileCount":152,"unpackedSize":630995,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH0mpEr+fLw3snVJjSc8a1MSMWE9pyjlh7OvalYfVZ0MCIQDI9kdBVZky3jEYh3uqouQu1Q2SagQUs3aUS2bFcAfL8w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFAjkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqo9w/+OaNi68vyPTil9rJu1/wUJ1cDuT/kmgRi3zeUqJ1eZIofpvzA\r\nqIFXAcabKB0Q7ZpLcHivzaeVQM3d/sqBCzGJ3Nw2trpEu1jcud2JtqQ2qpDX\r\nx28h1wBbvvG0F42Rwz/tG5y+zs+KxKlag6sUV4qDRRWP69tO02sBuOtArSer\r\n6jiwycrVkMUfSslU9uVvMrVt34Sf+cqUZEPR5spBIt/Fy0HDZRJJ3Dne0vsW\r\ndfnXJy9Qry/MvRGa7p9XxTqCfPZVT8FlMrYdq+yQcftobhpXjkfJC9Q0JIDX\r\n7pQkvb/H9X5QdfA6q7ukYrLDJAPqweNHbykkgbL8F6mAKExID7thPTQqyFOV\r\nX+RyxkkgRrCxqFXa/9zod7UjbgWUGHfimBOUFCQ40ldDJLwSFAPOl0Zh9cDq\r\nsNMwDWNxPRLMpP4BcQrZD88WeWyG8pFmwIYeoxvCncbj3Oe+MwyvOrUQjhxz\r\nUFXIES1BSmE5hn2TftyiEiuxGVOlU8nI7e+dBEiEY34YF/VIFlmhHtlUupoA\r\nsWkAdD8lSd+0hh9n/LU2stYh5L3bPu94pF4JGjyWK/lIPqyxgN9P4ON45Uoo\r\nHdi46thQQBr3BblyNG5DRyoHletJqkMjVzDExID3TTCY7TV49+BpxFMjZSYv\r\nrWOHkp9SRoQCas1r/J18NfgXh8JIrQdy8cU=\r\n=uWjX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.7_1679034595757_0.6918130606166373"},"_hasShrinkwrap":false},"1.0.8":{"name":"strict-stream","version":"1.0.8","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"67ebbd77afad76d09a1547e0da466f618f8e1d5a","_id":"strict-stream@1.0.8","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-HjRMcWp+bvqDPm9wtZJu4Ex5jS5Q59ih7/fwOoZc4gGo5ta1cKcu3dnQaECJ8pPMeMHBLYu5E212t8oF8dhEbg==","shasum":"5ba8de243533b550ab1cac1231373fd77fdefb18","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.8.tgz","fileCount":152,"unpackedSize":631623,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0CVvTLFlqjf+p1cMocdA+SbxSsQLBZHvLDYCpIxEw7AIhALL3o7aVsI2rapfVgCdIRMv/ZwSSwc22q4OKcVv3yWoD"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFEu8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuyhAAkIvdtybPMYCo/yL/9rpLh5c1im3HZMc3Wvk8w9ZUZcfeqPYU\r\nY3HMIWXvxG0m4ddc3sLYcR7/WVBsMfRsJPAcjQ3YtmScxw2oKld1jn6qJtxL\r\nRTII5fNnBtZ45lIMGYE7HfMJgwYtQlhcA4SfLsBLhy+RHTOpc/obBRn+mYoV\r\nlEpxeRYak3aM4Ajd4DBsVXEA6cFYkc678j7uFOtU+P8MNmrEGVyq3czqffNz\r\nroGluaPz8piZ0o0p/PSlMAA6U27xrGryY4d8oTx3lBFIt6K9D48UCghwvwij\r\n1teQVS5dDdJnlAIMcz1wA2cSZvO2RB7sXHYyBUJ0beoOVoCTK544A1TJMVM3\r\nG/+EOpAQureyZsUSuPnf3Be6iAvgoB3qc0/zhReVRw9p91p3ssthavXRLOEX\r\nn3xkZFLIPkMv9fszJpEC43J7pr0FA1Noy8MfRo7GHrdWsNvNImmaCw+IyuoX\r\nDCiK4zWlydFxbtI/vqpOll7EmqumGVYBTJpU860dK3Su8N0JemYT2SNXPCOs\r\n3y2FdAw26nhkWNehanfOUfNu49EwAD4jP19W5slANcGI5hhHmgmjrLVv8FzM\r\nI43zhKXvQ/o5OmOs4vdBkAPvhlZRUNQyPdJQgW9p2lfdnaOz9FKE8CQEu8Mn\r\nHgQFFUUNJ/366fSjdJosRvt+2zlGKjeEnm4=\r\n=JMSH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.8_1679051708386_0.6880632274056246"},"_hasShrinkwrap":false},"1.0.9":{"name":"strict-stream","version":"1.0.9","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.post-release":"npm install strict-stream --no-save && vitest --config src/vitest.post-release.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"63fc4eeaf23881dbfedc150f772cd17d5a7a257e","_id":"strict-stream@1.0.9","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-zptXmDyDJTKDX+pOhAF/8iHCxReZAaiguIiLUInV6+ko+KOGINe3cYJ8ztJmngoStONT8b9EcVHwQ5jLiFFinA==","shasum":"d76373b0135a702356fd2be9e4277953f5bbf97d","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.9.tgz","fileCount":152,"unpackedSize":631651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC260R3+jOjdiVxk5dZJbPqg68T0sn5Ene+D39WMqfaJwIhAMkQuvEiN9wOs4KN/XiBiMND0QliyJ/9Smcda392Dw4g"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFFgOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1MA//XzcWLw3niflYlWws/X0bSPbdpVie111B3XoRCVtG1gHDt9qc\r\nObCpfM1o73vl+z7tb44WJeulNn4FTj+7WrZk9wA4m/u7fEsaIXs7AXhT8bY/\r\nM8kovczL+8fQ2OKYP9QIV+jMtWUF7p3EWtewRtJBYuv9pE5uNzf3t/kR6GZ7\r\nmBw6UPEeXc73w0sVqOedBiEUPZ3W8abHbXtz1u+MwmRtKoKMGo55l6oYYgWg\r\nRzP/FV3g9rw0NxLiCdlHOfDH6OYMQ/MEXXVcP6seJiAQWLMoyCLeW4J/jREc\r\nA54B+TvX56BjMqQ+pHJ/jLNjAx7GJ2NsLPdzRDGKdQJdTB5TGRiH8b1CQaQD\r\nCAmRJdKyBS2nr0aZajBOLkTK9dxarPoqDYpxS6WlJvPqkDSg83+5WON3qyFL\r\nBnTv6iCN27cIqz4tz0PQslVLvfbS1IiZum3NdtZM54SXm37BImZR/Iv/xEjU\r\nFwQAHJ1GHJEAOyVfZgZNbhilwr245Jvfsu+/gxI6vc9KR2gf1iiKY7kc+DXr\r\niCijeXcqT8pA4/yJLVC/euH3FF7NHow0Vk0e1Rm7LBOeGDXwVE86KchPUdxb\r\nCBa/5Obv369MB5iBW1a9mFMI7fwX9JFMOKzGSyNQ2UeK6p3/dFFLIwmIws0d\r\nXSXN6gOIVdLcWJuB+38IG/jj3fNXz1h3b3M=\r\n=LZIm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.9_1679054862628_0.6188744608992534"},"_hasShrinkwrap":false},"1.0.10":{"name":"strict-stream","version":"1.0.10","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"9f2eb05790ee13f2bcc7d7f69c6f5c387fedd9e7","_id":"strict-stream@1.0.10","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-jkGmwCjb0jCpH9yWe17EBDOJq+XjPefZmGMLR2vcXIhutChySfU5cxfBQpKnlTLGGKacxszpJdGKQh7wrIQozw==","shasum":"e99a59412d76bda60967c9d6be0c45c1605ac6cc","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.10.tgz","fileCount":152,"unpackedSize":631646,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICpRsD5Wa+mVJHnihFZmXnHRjg0Fbq5lQsdykvhufiI6AiEA5nPHwIcQJiBBm8my3/QJfMRbIDjYC46XYU30ttNogxw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFFscACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/gQ//StygMhNocYNKQ8Rf4Wu0RX1zQ4srXH1t5mfa62WBgU8OV47H\r\nTu90eAmJv8oaeik9LR6T6kuIWbp9EGUnL1BsehLe6APJjqhnpTb6iesq24Jl\r\nh50atzwzcTvgKX+r6ExkG0a1/cukpU7Lhz4sm7QsKfrJjNjvCqDgppb1HyEq\r\nehZfXW6r8I9qBgOT3k9Axtl5OllchOFZwxHOdTobbezYSraLGz3mnoZ+VKZJ\r\n+oSjXhDckruKmWNFGcrP/N1VOvTP51ad05h7v+aYhQ5dMYaP0dWzU9YrbuoA\r\nPJrGfB2Yz26llOjPdGfTc3gkchlrXzW4meXRD6VsLpJgAeEOxQXykpSpZcqq\r\n0mA7GA6JMuxxzDjBeba2Q93B2j5wmFgAjbR+zkHE53GPEmyMwQ0V2bWHOewp\r\nXBx1u1PvYGsN+OqEk6TvmNJzrLFzXVJKKxL65yLPRS/2QCs25dVewTY+ZQPz\r\nL7Qi864A9JEPALpiSZxGH9NBxuE+wC6lge4Sh2H3MgtOW2CkjJRMpvJeiuIp\r\nV/wXNq03IEbXQZ2pov/jhBRm1L611LBt5mPeIgVelPt0MqbMhgmM1yyH2LFr\r\nVHQGXDvMI86zDzjDIcrU+Tqrwm3WAMZzB/MjAVtokCvilZy8kO5kUIHvst93\r\nEqwaEDS7r5Ev1Hic1kp/vIR03pSIp/wBpBM=\r\n=wAZo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.10_1679055644611_0.4494053996449048"},"_hasShrinkwrap":false},"1.0.11":{"name":"strict-stream","version":"1.0.11","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"ae3048facd6d29b57f41a0f8bd5e6245391c9758","_id":"strict-stream@1.0.11","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-sAQgyhv40W7nbdISge/bWV7ayE2VhSQA5ssyJcr8S6gVLNCAQ41S2kHEo7SvcK0oFzhH2/YseVmaN001xSru8w==","shasum":"ee66da84e3e17c1b019ba56dd8bd30beb5aa6851","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.11.tgz","fileCount":156,"unpackedSize":636664,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4XyGfmAXg9KkLfHFdMZj7WInw5EkGJSe7E9SBgSeScAiEAzKRjaqIhENsxbT6xUMXDm3nUd2wa9PAYOPKKswTyj9s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFGQlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZqw//dalzIXGGEWweOUFbN1xCPjPNYJ7qKJdIqbRt6C1Np3XJOaCu\r\ndPcdV8zKYIfMdn+R+9+iQMONfB5s0HrNoSF0xueLKxswJOPf1CE3fLs3RiLB\r\nY1ayryt6MEinuwVvCuX0kLEE00hP+tH/Sjtcd9EOOy+FxmEf58zFVzyqBO8W\r\n7KqEpqbN5+EPDKx9li+fyM6gsxB/hn+SGhnRv2Sldru+F2JPjRSS43vPWWdD\r\nvvZmeoO0eyt/eRTL3RtA795+4jlYCr6rV0puzeXeTlmCXaFYXLleVqZxi1TM\r\nMA6IlmhRRdQNZ559CPrriSZxrlIzwvVAcSRYwM1iQkuNnpfJWpkRK3mGQ0DR\r\nzFTN5UjoEYiBKXtZKV6qKiVd9K47vJ4y0LbzEim0mT9tsec/9W0agE/+3QsG\r\nq66goL4kqwizYYtxbrztyl6pYIKZ3/Y4NEn4fZAz8o8qgOFikajyKU1i5KgK\r\nmdnwXOki9N7d+O9xch+TwfBmpe+ImUu18iDjyOq8u4O/NguyKTPjkVYCvVLv\r\nyswx2Pj6J916u6jZDsy84NttAogYFauSaLWUYtiemutKjrBI94Uv3EmYgSIF\r\nIbdbOMa6P86BAr7YBiXYZdE1f9D5ScnyUNnzqORguLL9W52miiLIVcx39mld\r\n1GaS/FClZaYXM4v8aR/uhYgqW1xgmeTW9c4=\r\n=SkNM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.11_1679057957353_0.47087166000837555"},"_hasShrinkwrap":false},"1.0.12":{"name":"strict-stream","version":"1.0.12","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src/**/*.ts --fix","lint.only":"eslint src/**/*.ts"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"73c17bcca29f4a6a1e0407c98147565336eac0b6","_id":"strict-stream@1.0.12","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-GIx1z0MvhCebunNJS6KSp2B3dGMrdrTUr8veSmOMnRJUZJOdCJP05c1jZqTvCZ8v9keo+iR6UqoNg1uGqE5nkw==","shasum":"881e2782045bcc7a37b7d7114a54568d0a173746","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.12.tgz","fileCount":156,"unpackedSize":636664,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHlvbRGTQnGSyTcuvi+mqVpeig/GjesEc0I9zGChUeYPAiAvU5hxER36NnaV+ho+NIwblPwkzzyjHE93FtTcy0Nb+w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFGc+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqMhAApG+BwFynm4I9IplqiLcLkX6pbAsYnw9D6BpCIIKSLNHxDcCw\r\nGEwpI7YfaT+ZvYMGOQTPPyuQgz7UNfZTBjqWbhExN0+JlX2uP3qn0sMTSqn1\r\nol/k2B0I6D0nEz/O9Z81QvamezAAh+mSkRzq5SR1pKOFGB260KMuTBukLKZq\r\nm51Bnnx3sXYlOkQn21tgZR8TunV1452uylu0WBZXa339UUSy0M8RFydXKUGM\r\niJzSOrnQdo1fxqIUzIQNrSqi9lBXNmTzIfvGzjxZOfg7b8XpMl6bK2GGlxFC\r\nnnrjpgXPPmGYJa3h84jkcRPtbKAzxTbrE/T7I9I6WnZO60GG31x2u5aNlp12\r\njzh9nylidOEyAtha6XEjWdU9wpZ3iumqTDdJVHAluQOTBEMFMZ6dGM/EIcGH\r\n8I08KP0aNnTTvpTZyMXfXMJNQiS093PTdXK38/qP16cfyOD2yaU3z/ZIKp09\r\nuyRYxP9iaUS6uk9Qm9wlITt1SSCFGa49Bwg+AqxeIAFWX98fiEqBtChlRo2k\r\nr7G8twdZmxxU4opRkiNtOEe6qt86hjqNGdLmexFusR8tEbJNCVk0YSto9OoL\r\nT4dqkfhzm/fikQah1QvBzPoCUGtg2iu+zWGde805bE300kLbOnaVZTWSX9C+\r\ngcBb4dJsJM+ez+IRx53zh5BWffPSYJgIufY=\r\n=lDRQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.12_1679058750575_0.32713579520851455"},"_hasShrinkwrap":false},"1.0.13":{"name":"strict-stream","version":"1.0.13","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"a993551bdfe05b9ebbf80d49d4daeacc1e2c9889","_id":"strict-stream@1.0.13","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-DFCZWsDbsR+t0fqs9J8VInN04BhjHVQDXJF5IQNewIaUdEr8cltrO1T54mLx/9mqh/KwYVSS6Z1jrtdGjG78/g==","shasum":"69d7ba67196a964cf2417cba0977066da4e2d1e7","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.13.tgz","fileCount":160,"unpackedSize":638188,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF10WQ6lRlMLCd6uvn9sEto10PXtX3UIMD4AWAzKjAJ6AiBHalm4zjgfOoX3Z0EJ4CNHYQRZyryRvrDDFh3Gnp0sCA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGmOZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4Iw/6AqqMPpUXQSZ57ALWMnnpuQk4QpjXlKmW1E/KtJEnabQ+7tKt\r\nQDQjbBXNQW0prPPiZ1/T1MXOp+PyEc2qG/gihCawI8a6rizHmFbjiW8UhvAA\r\n9OjBIpDVhBuDMR6+YvNKn6burpWZAzsX0w+ClFVFnpjd3GmD7bJACyTT5QdD\r\nYpH5FfW75ui/CInZbuk9cFTRMBdCV98vyANamgB8i9nZ6Qp+WgU54N09fGjb\r\nLhYFtaH8KTLr0VduVTRaLZegkiC1jKCKYo6YkfqjzOw/scZFz+lXxLskhTx8\r\niTo0HyXI05xi4hmnCNSX1VZf1BF6Ct8+EYFZg7QgAfARqRj2sTWvCFpSPCMF\r\nYBVSJXe3S2Znr3OxyKsax/GolCkgIwYfZU58KYtP5a8emUvBux+U6trItBnk\r\nkOR3+kwekvsLiYRaZt0XwruLGkxkGTrj8SXS+Re6/sJvQr3YDUoBzP2ago7V\r\nCImqLkWJt6fJ6AnBSgE//wnCblRxdlKEhgcHPcDR4YuuebdYskX5KGUVgFo8\r\nQFzxzJucFxCeDzsOlGRFzLJRkeqKLoR58iGPVNGXE6NH0asKUtp9E42qMpl4\r\n98Nw7LI0TqTF5xXt5s8I0G1bHrI8ECKmOjC6Hskz5b7FHvgZZeXlud5YAtJc\r\nytIHooKU8hkjIRYl0f5/tkDkIMxggGYWu/I=\r\n=GEdH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.13_1679451032967_0.8927433097673041"},"_hasShrinkwrap":false},"1.0.14":{"name":"strict-stream","version":"1.0.14","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"d408eeabdaf977835f96de3e4562cb66e544fc39","_id":"strict-stream@1.0.14","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-CEzbXhDor5sRZqf5pySiCPKp6FtzZxdGuCYvxFZNYY4dUnF8toyom/7tJ5b0DiYPijkB4VxBEIH2bZoD/Qo3GQ==","shasum":"83167768b67275debcf0b173efb4368f368388f6","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.14.tgz","fileCount":163,"unpackedSize":641263,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWti8bGur0mKnNOm1DzLyOJ3H6ww5LEJrLLlMD93vA0AiBu3/iHm65JTAsKsNDT7oSqmLzx4VidWF7Ht606GEQs/A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGmqPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZNA/+PvEraxc6bfxE9IKVfKE51mv0NWOrrudMY9sOsnZZfm0wtd6N\r\ntofXghDVsu7QbKNzjXG0kJ7jPiLKRc4YBSZ9h6F7c0S5CvffoLCQYti4J0RP\r\nos780xwHRdZheKK3wyKfbpG3dYv5Z+UWmW/HbIe2/ZgLJ9/EF/6LIWw3hneM\r\nnouzz+IQgfVJuwnyOpFE8aj4OQrlZJakGxZtYEs0xezTeXY/2CNdKS6OvZEB\r\nSlF1j6J2NXIxXhJ2n6O8gv4w1AYEmhZxmPsMef57kaAGCRSEqw+EiIWgx/M6\r\nemSOVNUgN7lTl7VIxWdh+xU3nuHqjgSYvcHMuhGeJiZlwOFa/r0s4OvjxfyK\r\nKRvCDleeprcptgZyIC/xm0lx/6HHX2VOf+KBQkcerFivt/JDjH+Ywy3M3NyI\r\nqxVrlzY+ZcaSiSs3PNqpxL69PB5fSM6DxqbP9f5jp5jdFHGLA2ryur0/e61Q\r\nekMvZVydfvsdXQayTHC9NoPwuRhC/BJc0LUydAnt5fYrxoIuEMxD8KMdvyoI\r\nAWPAvcUPgQhqH9TGydvdsfr0fgqjk5o0bLYMpfNPL+O45WzjAF44gDR1Ke4k\r\noMdRHmjM10NV7daqDTGrKKAiuV2j3oFmVvIax+CbJB7jv/CmYXptLzLOnMqB\r\nPQFwAw9i3zoZRY7kD7BH62yP7SbRE6eLLTc=\r\n=LXvZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.14_1679452815039_0.004338321331115225"},"_hasShrinkwrap":false},"1.0.15":{"name":"strict-stream","version":"1.0.15","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"5321a919e1a3a6b5683956280c247900d2cf5711","_id":"strict-stream@1.0.15","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-NnhHzntsABX9DJ9jHIVBcNHs9oDeZrVT9DZ+Uzwqz0qD7I/Hmmi22zavL6zM4QeaDAO60ZO+eeP/AmWlt543Zg==","shasum":"6769fdf4b87dfbc48872e12b647f1cee87d2620b","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.15.tgz","fileCount":163,"unpackedSize":641308,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4I6SxxddLnGnz6qPN6CbH+LC/SwENDnLbIAud2LfhtAiEAhrNO8JP8d/bb9FHijD8FKV6VQmW9uAGyOMZqqTUj0ME="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGmwjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6Tw//TvM1pciiEhStZ3/4UqiIBH/2EP+Qr54qfkl7UHuACTxusgjf\r\nWvPIUtwa53Khg+/hc8QrsnB8Hu2AyQAh6LYtJpqW4aU3MT0PtGtPpkAn5QSZ\r\n1KmhdsFxSCeAoKmeJ/VXpP88sfJogSn4ezpe1Xv+210q7ed4bGQ4ny80S/rA\r\nLBJRTD0I64PJABwF2m9VQKPrmc3a+BW5YkvBDpWyAf+4O809lQAcLOc8qUoi\r\nDfzdGehR9xG+CVaS5EiiltDNbmgyA71eXwQttAcKnlWm9wGgqe5tSiEcDjSH\r\nVbm1EVdd2Regp5d9V8bTwXyqbOJLwR+dcmG6Pz0OamtaT+keSAy8Xri3zd7U\r\nm97Wt64RjocOKjuAg56Iea8wE3Xk2gVeCX46TdEkV0c6+aYpr2Sp1xI3A90R\r\nBh8WmXYQeUiWBp6XG0qBHGBVSg6XyQMjUQW5nUFDnwbFiyLVgxz1m5BC5rlH\r\nz45rLAv5WLlbHWXI7kIyKLBKaLT4Q2KosWK55+xMCFQ5tZ9nVqUU67r8Cn1Z\r\nr2aaMK31Tas5+ac9gL5yj0Retn9P89lmaOJoHKHp8//rlwi7Y35d0USQ2d0g\r\ntyfIENzg/6phWOfUpQYDYFYBL4FSYI0QS4heFQH3w1Xg7WTjBgKx+N3iHdE9\r\nAK7bwEWIpWIqrVyFltEnVjEOTKf17ExPcRY=\r\n=37Mh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.15_1679453219125_0.303988255624529"},"_hasShrinkwrap":false},"1.0.16":{"name":"strict-stream","version":"1.0.16","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"d4c20d59805f6d49fafe5e2ee40762334e14ec79","_id":"strict-stream@1.0.16","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-AvdPgvsm8OjkJsuFPmCYiNBrFmUwIaRoQ/cVoKxdvqpLW7im7IhvAdhcaW5HU6sxRlHppBlyySOIC6DffVcebA==","shasum":"0f0fb3d4d2d051e7556492d772c87321171ea6dd","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.16.tgz","fileCount":163,"unpackedSize":641338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVHTXp4xAT2bROXcfwfPZmGkQgefN5SHn+qrMKbZNWQAiEApdKScvjxDNMbN6EbcnMXfSR9V5riaCE9/xZTg6H4tuo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGm1CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopWA//cDS1WQS78WdRRLBwPev0kTwIh/OSzJrg+UVGfKECqh9lKPLW\r\nxyvEYediE8Z4BOEZYrU7TBpd5iemZ3USgq16BZpPZzUDcnbLzqLkA9m9I0P2\r\ncqXb4uhO7sYe/BIyfZHoGwXdfYrPPq0JvKMdrfbL22FOVxV9DAkb67Mlk3jz\r\nqykyYK2n2PoFSiUk/mpFmcr+Tr9WlKeJCN9p4YxTR/4dD9IcsUsy45H7MA03\r\n/Yuv6vapA9+8/Axf3gazgiXMYFO5R+hXHi7Li+K9BS2SScuqTg1JW9Ww/3vu\r\ndniwxKgnjHYhjFedhwZIDIykTjxJiCtXf3XkAIIbdCQVOIZTe2PA8ryFFWjp\r\n/oTV98rDyfKM8y915FePnrHLJ2hvtyyh/HHP1yuHJvC7MbBClRSEiDoVmpK9\r\nIXui6uVZbA9Vknp7k4iYs7absr8LHSEoD/BhFkr5jw4FgKswm+Q5eCgXx7qN\r\nRacfqsOsmP0iGNKvyR4OnjNCGrdqpXH7LiZ5qle9o1k0ZsGgrDNa3TGvhVYs\r\nKGbtF8yNhcqrFyxaqoHs2dZeY6J28VG2vxVPo7NrP47eG4W2Y/wnvuyi7MFx\r\nnHyaRq7MHYOHyP2xNcfkm369RB6QDzoC+oquB2EZzooMISbLPP8p9rLPii5j\r\nvFOcSx9X/3e1nMRLDAYN5tjGfr02/QWzUgQ=\r\n=Ndf1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.16_1679453505935_0.433644275352876"},"_hasShrinkwrap":false},"1.0.17":{"name":"strict-stream","version":"1.0.17","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"031947fad0453b04f7775e17431049cd0a6ce440","_id":"strict-stream@1.0.17","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-sY4MkDwoVJrq1IuEQDw+6jUJ/lT5E3bJ7A9xX1LbwvDNmMSs4Pt0FoUuwLEaKIifTznuHio9sjzmzT03WK948w==","shasum":"ee5ba7d0c45503f07b1c99e16de5cfcdb182afc2","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.17.tgz","fileCount":217,"unpackedSize":11265137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxPbwSkN14qPNke9V5SqDPzm8igY2KEm/tm9NL9m6/2QIgfhY7tz7ZdeWjLiD2DjKMYAHtOWUpjozNJqOYL34/wcA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHmSbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLEw/+JEnICxyugPAFrGxNA1XHp6r3TU42AJF+k+uWFAhLta8SDcf8\r\nl6jLeMAx23GWpg/3jmaJVxn/v9wGfYZrMFnXzywuxg1VcnI1NWeiLg6v0nAj\r\nqXp+L9+xJkcb9NCUf/VqymZjy456ZbQ6ptmGjtWbCPY9XnkQWHEvqCYySuUp\r\nsdWI7aGSs0yuse8YhitPSDtazrhItT5wBMl0NUnwv6cz6F1GGAxKRMLqe6pt\r\nDiNrgVZDChUlJpUn0k34nZfRrkJwLfhe3BRYiRKrgrCSNUSUdzwakcDeUaG7\r\nH8FUJLY4xzGl55eMA7X98Gw2nsZ2jsKvjZxrLxv9iEwkI1+Q8+0qvfgIx7Jp\r\negleJNF9KlpfSFuHdNYYo5YIBbMOtTEG9/IwNJ6aDAeQpwWlteKE1S/OyePR\r\nmuSUo2TERLB7+of/z9DU4SUs+CA+iDCMOd/xWI6wkSYS2uuDqIdr8gjuPakS\r\nbGWF/6kf5Pb1gea4G/ccvlzlaQsZAzitN02vuqn7j5p4xfscXZG26lFTg4eq\r\nMbUmW1lJtmMgavrnp9nIlVAWApUfCR3BT6q3uxlAeoaZWIL53M1n5pCEiJPy\r\n8rUMQCVF8hBIw7yfExCJeQDGEl6OcelP7wigCXFabRs0qYAyQixMbHrR1ZFw\r\nEEbLpZrG4Rb5JZS/UqpwMV6PjzAJwq+jIEY=\r\n=RaxU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.17_1679713435574_0.6141615897457167"},"_hasShrinkwrap":false},"1.0.19":{"name":"strict-stream","version":"1.0.19","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"2ff8664395e18fa8b4661b68d0bd4630b0b43c8d","_id":"strict-stream@1.0.19","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-TfZdDjWN9pbqkPF9bJ6O6r4pZ+OR8+vcntulAtK12L1C0QhvPjPLJf/wgEpQFDq6WWAm8YooRH7Wiilg3Jr+BA==","shasum":"18fa3a82ad065949c0f8bbbd6b8c86be918314c4","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.19.tgz","fileCount":217,"unpackedSize":11265137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6pBTnmpnaoxGTEewORBFAdL7xS3I0TzpBOv8LFdZ7IAiBf2iaLfvQJUjFwPOpOTiF0LVIY87+7vdKS3hqZGW63Hg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHzgNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHPRAAhJcX9cHVQ/7NW+sYzrKpHQ+VQPFhXib2HihCrL0YX/FQ64G9\r\na98rsWEuVmlWQWwhrHOXU/hLra8p4ZT1nctVL02RMGniuppfztE7W7yFfpXJ\r\nKP2/gfr1mgUErYewtrNIc8lm1fXL59c739U+JQyLUeJDyaHumVM7uh+GfPTQ\r\nZXLfrZh19a0/sV9Eeoy/hHHpZNjp3HHaQ4eYIyJ60byWjFdMd7CDzHyOtZHQ\r\ngzE1z2cE5YZ39fGL5WMD/6gjdThS1oyWprr5G7Hq+0PxjIgJ/5D3HRQt7h+e\r\n4ebRB/tVX+WaTrSb0DXNbq0UXY5loWbangMAJn1+51+y/qrh4d4wBNV0IgH8\r\nYViBVixp2PFjZkRRXdhic4oC85n5Q3WaaizM/Pxf6p7zJEtNNiVgEoqEYcgy\r\n9L6Pbst0+njMo6xr/FiDcnHm4WN1NUSJbsK+K6/Jh7ES9k6KsEQ6xi9f4Prk\r\nT1lSeI/I49dh59E25xDOztWWq0Yla0yCizhYQWb0JtEW22gyyMczb2G1plai\r\n3+yN/mNdMUh+TPjm8+UOICFMiLRwEDvia2c7vXFm90e8aOsS95OZPQvPg4Xw\r\nnx30whEZR0gPLKLua0exsZtDdDEUuoVcZpZEmQlkhT3HtwZqX1vAA4mxQfwt\r\nbnyQzhaSTjM+3Hi90GybLQyRcpktq6OBJxQ=\r\n=fHBw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.19_1679767565725_0.7163714721151284"},"_hasShrinkwrap":false},"1.0.20":{"name":"strict-stream","version":"1.0.20","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"d3de3efb0b7b2430be0b502ea75830aab7bed28b","_id":"strict-stream@1.0.20","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-rbSikw/7tsaY0Hyg5NlrwHC6uremovFRul0po/IEXMmbxYXQIsbbPf8WJScAGjlb8gbfHw0l59A6IVAXy4gHRA==","shasum":"82e296d8849251fef884f4cdd150d864ad0c7b5b","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.20.tgz","fileCount":160,"unpackedSize":676414,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICnN/E3ln+V80I0gsb5mW0gql/WzF2fk5j3rnL29USP0AiEAm1yoNgfAqcQxw71kEBKYUDG+H1WIDy8geuwPNBvnIjk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHz0aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9QA/+Iss5NTLZRI7QR01Zim2GxmvAyD1TfCKvIDXuNtVcvxRIfJ22\r\nKvFl6y/0LZXJ2lZ9wIYVZxbpIj/3trddXzucGDyw1x2ePE4HCZsbfxg1O+ip\r\nrP4/aIPpDws4cJRfUsfDr3OJKVP6PYvJ7MaFnAKUfjtxNsyDJo1EVXHATxaH\r\nth7cZhcgCFG3X1iXkm6D/zg3uJ7f9vsq2U9LtOuxNKiJ0xK6XwVdeLHOftbC\r\nFfiyJkw7Pej4yNDfLfio6dnSO4f2yniNCV0iy0XvGhwGjqNeIgHVdXdHpGcM\r\n4nCT1Dj83gylV1FMrbQpF+q1RZZarGLDKFz0V0gWOKuCebn4yIPglzVKsYx2\r\nxi+riWxupFMK1kNJoo0h0UfkAGN657dYhYToFdpbuikifgEW4Mj+RVRDTJpl\r\n6Esj/MWNIY+BL8/fzFJB8sWvJ5/F8w0fpeqWB8R/UTvgSytnq1+2MuVZPxSe\r\nhUxcRtBEw1v7EpbriHi/69N4uES5Pb/tCsT52vKV9YNN96TqHmoEyXBDYQJX\r\nFeYSVNYfyPeOAD/tqjAtJR2/FNzaMDkYmMONjMu5dVN+Gi8XYwhFmy1KAOAv\r\nKucgZjPpIQuCE95wwG2renpurjDiaYZx7Lx7TGqV84v4eJJRD8LD+IsgIY1s\r\ng+ko1BQMBhgaEr5Ct8nyahiH7CsCA13f9xo=\r\n=d8cY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.20_1679768858072_0.10359739575363669"},"_hasShrinkwrap":false},"1.0.21":{"name":"strict-stream","version":"1.0.21","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"d3358119c2483332c3bcb9989439cbee2f913a3d","_id":"strict-stream@1.0.21","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-eObkBFma92f7t7AG0kyBK1A8aP23Ectcv4GjsgQwr01d7MHoDno7S9Oa2oyfpZGq6OQVBIuFInCQS+wx/pJDTg==","shasum":"48f940c30991a8f5679e23b96af26e3f2567d37d","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.21.tgz","fileCount":160,"unpackedSize":676576,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA51PIHAob3rI+fPR9o4x3ZkMKtnixeNhfeUoObZm3DjAiBdJUvG1Kq8iDYxLC8mtM4tPjFRdJ5bNWRTJOTJQ16g2Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIWHgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXAQ//U2zDN1Brh1P3Q5J/HAwcX+ZC57k+/LQfeASdIdzir4Jckwaq\r\n/0CSD2lW20nbLX2fkxE08VVTSa9pe2E7uye1l4AnNLiCMlzpu8TKLu+RFowY\r\nhz5otIfo/8x7ldg/JsYmvHT8b0ADjyg3sgISakZJcpSaD/oRpumf8cCBOp2T\r\nEpUTjf8yFF87nAcszPXSAI1Zkknog5WVwVn/nQygotjHgej+DhwT9FiFB9ld\r\n6CuzSFzqvglsEfQXMROehINZEukiPjXzixRqKa/ixdtnWk5Jv9/NaEYvIEOY\r\nVrAbP4HFYtTPI5a1RnEEJM2KB4y0ZEXcwxjkUAyxJJrE4whLB/5YwapqVa/j\r\nSMe1sgfKDE6u/gAyrhtxMShtezUeJjA8jTNM1NkXmnWvGr2mw6+5SoNd43pA\r\nUNseXl+XLaYC+K5d0URUOtReWHmgezw3EJSROZpGs2W/e2erIvGIzAgdz85S\r\nLukUaHooyriM2+YUXadXYmldQni+/IpGq/quMxDLZDA/PPR/AZqwmxYWqxKj\r\n4pr68MwRoZZuWUgo7cGl9yVEVHs9ARwV05WcdfXMqhX3xMZJKef8RgBRP5Xm\r\nWONboiQNGd1XBh92aSG74X9HRxM2yTd+Z0oPm+SkVa2mfgw5SHRbL5vp/04N\r\nilQuQQsDqZ9Oya5IEv2mqVVisz3f0wT0mHM=\r\n=JN+O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.21_1679909344091_0.3342338223411676"},"_hasShrinkwrap":false},"1.0.22":{"name":"strict-stream","version":"1.0.22","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"78c3f5f98e6641c0e2e00b6c2f699dfaa8ec2c86","_id":"strict-stream@1.0.22","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-bcVqqJoFdP2XiAXvvdDnPl0vQIvEMdY9RSDH4vIgsTN/BVs5PEYONrFugdPIPbY6yP7K3WLnjTKPfI81enlD0Q==","shasum":"b28565e6988058b245515ab0b013ef3ad5efd477","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.22.tgz","fileCount":160,"unpackedSize":676574,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9Ijz/ppy3jQyTePLfVlrwTHxbFBFycvimjNaTzsdZxwIgaligFwaQei8Qmz6nWS2lM+/Yn0iXabCNnh8Wo6ESc2Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIWJDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLjw//VnfKooCW4AkcPV9d/0x3j+m/BEkWgaDcdG0/pE5qzL9peLF3\r\nxFtGkGWlsQboEkQPkdIBncgAapBVHtlaxbOOcQdc5v3EiSJAp/LjD/4NOrid\r\np5KI+UgNVM24DEhIOyeLqVU9Jckw5x1124CP2Svgr2UDqqkNaBVqRmhzjg6d\r\nz+G4A93g032IALAA5Mqcy8FT/tHU/7vXo5EPkSBclxdumfpQfa1rED3fy5Lr\r\nd2BTqzwUYzLGjlfAn2A1luyGE4rTbeCCK4oZtEq6/uYASN5jlNZhMJo+r0z/\r\nlumcn7wwefd04W9rqB8vqhaQw7wtj4CT+bH2c+qCOaXZwZ6373voW/fVPhN1\r\nx4B5LjDBalIsla1WytQDGAhI8OVg5BBT0Lpudzh6hVgpD1bDKdcend7tlndD\r\nk3q0x82s0e6CdwESUQihKf3CLkKKxMHMbQC3ey99UKx4uRI3S66KTvp22pzO\r\nhPd0qu1p0EQdyF6/VePzz5xG1LEcMmp6cudx5zSTNCUs9bV4wYnax8cOgT+Y\r\nd2oeL7F5rugm8Tt8710w1V89wUzz56TpvusFaDG2SfErAxWe5CY8VBpQ9Tyh\r\n7BIaMM+A9P5Lc7h9JUddx3ixpXz8pReFTSjvDiEmP35xFwOhaT+rVqwCtxEu\r\nKN5AZzrULCNWaV9q8LTueYep4OqOUWOAFtg=\r\n=ZCc0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.22_1679909443271_0.38678588121963275"},"_hasShrinkwrap":false},"1.0.23":{"name":"strict-stream","version":"1.0.23","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint src --fix","lint.only":"eslint src"},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"bbea8d1f08ef06e7464c80b4c57218e82a741ad5","_id":"strict-stream@1.0.23","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-HWuLq19xefP8ABxVwTxVWYDPJZLDd6XvJ2xIClXabsuDUec/Ed44qWRfUKL5D93KTJdf6kMJAR9pvrW+OxNo1w==","shasum":"b39a65a82cec0f6b00ed2d1bf8f91cd69b13e37c","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.23.tgz","fileCount":161,"unpackedSize":676732,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGYNAk6YLHIWmv1+PKWOH5ghCiAKtcSP9b8y0L1uPTwBAiAvx901G0z+qlvWqpJ0w3MqgRUO9kV/q4oApq5MDzhK5w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL3AEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAmRAAkBmHybL5aHdheg/UBSxyvM/9HMHiKpNp62VMPtfP0+Hutlp9\r\nmSEH39C3x9okb1GxeIBQyotbviZVjHVFKiiihm174Kxd+/BH/fEu5eZ3YBIx\r\nbKKZjvwfHHBUjq6KIkeewX+L8gB8V14x6rZv/XLT/82zMskv3daFy1OZzerD\r\nXMZMDJY6xb6WzReG7oBzwyEXnITmKUmIrLER5LOA7bXqv9N5nWu8uo3nce15\r\nRM7kcY6vxSQx0h805vJB63oz7Bhri0zPvOTw3fY/4/UgQ/kfV/x87KmPbURg\r\n+f3Wrw9sTSsVciMjy6nqj+rweTHcDdvKZfFgeZhw42SbiNQqrCLNg43jXIr2\r\nMERflCsYiIPDriuRYrOsrIoSaxhqYjvyxlR0nTDaftcPnwW3B4evVcvS+npi\r\nuapMazL7cn6Eld51bSmh5g0vMKJCwwW1zOV3POQBArvmKX+STmY39NEclMI0\r\nuRfSSQ6jjjUtImcbiL3paDp9Jy07R8D/7HGQ2nGyWG1OmuzhLdwKV++x7Pm9\r\nlNS9pNTrrClPYCmSrEr3VqDnwHqQbUOHji2MEbDqHNZ3DaNGEEg4bN30V2B3\r\nGs30FeN1eYuL68cD390nqrXyM47SliDFHhT7ka8SyPbGMou/8YCCcGL+SvgO\r\n6o6AnsqBCOm+xn5DIQNdCYnTKWDG4grwh0Y=\r\n=i+tz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.23_1680830468218_0.886596410268863"},"_hasShrinkwrap":false},"1.0.24":{"name":"strict-stream","version":"1.0.24","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.3.2"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.ci && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","test.ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint \"src/**/*.ts\" --fix","lint.only":"eslint \"src/**/*.ts\""},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"adf40c8c2cae3ab2e302b9f85c8be52b4f1b2287","_id":"strict-stream@1.0.24","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-Ntbj0IyfXGeyK7sD4IwXKVF4hRvAyZJ2lztdroQHlAe+EfBE6yJJWkkcpOqKJVX+r8+UKHMWE5zD2E9XqPitfw==","shasum":"6d7266130345373fbbdf09b474dc56209549d74c","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.24.tgz","fileCount":160,"unpackedSize":680266,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkuYHcQn++ugiK4MsbgSDWKKgnQegbIcb9bv11qBlZ5AiEA7ez+zUvtngPmWcjFqWH2VspC/qcRvyLF979DVbRBehM="}]},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.24_1692618060335_0.6725785435604485"},"_hasShrinkwrap":false},"1.0.25":{"name":"strict-stream","version":"1.0.25","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.3.2"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.ci && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","test.ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint \"src/**/*.ts\" --fix","lint.only":"eslint \"src/**/*.ts\""},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"524cf4ddf2cf4f72e22b9dd20c3b2c19524c2aeb","_id":"strict-stream@1.0.25","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-CROVowpQlMg92urOzlg2tb09MOqghmrG9v0jTOsC9PIFN9nMXPmLtF7SqVQ7lQet0QAv/N42ZdNAsV3CuAy8EQ==","shasum":"84536e09ca84211b0e8f5fe0ea88b46f6265b2d3","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.25.tgz","fileCount":160,"unpackedSize":680465,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHG9tddtNYSWzOV+bHt/J2J38c+/o+6f386I3G4hhl+AiB9nf7T9YifKjeVnUZCTgQ/Rhi2MF8DteBXHLh8wpacpg=="}]},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.25_1692698610089_0.04195434601229531"},"_hasShrinkwrap":false},"1.0.26":{"name":"strict-stream","version":"1.0.26","description":"strict-stream - strictly / strongly typed stream","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","dependencies":{},"devDependencies":{"@changesets/cli":"^2.26.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.55.0","@typescript-eslint/parser":"^5.55.0","eslint":"^8.36.0","madge":"^6.0.0","tsup":"^6.6.3","typescript":"^4.9.5","vitest":"^0.29.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.3.2"},"scripts":{"test":"npm run test.vitest.run","dev":"npm run test.vitest","ci":"npm run test.ci && npm run build","ci.clean":"git clean -f -d","release.start":"changeset","release.finish":"changeset version","release.up":"npm run release.start && npm run release.finish","release.deploy":"npm run ci && (cp -r dist/* . && rm -rf ./dist && rm -rf ./readme) && changeset publish","test.watch":"vitest --config src/vitest.config.ts","test.cd":"npm run test.release","test.release":"npm install strict-stream --no-save && vitest --config src/vitest.cd.config.ts run","test.vitest.run":"vitest --config src/vitest.config.ts run","test.compilation":"tsc --noEmit","test.deps":"npx madge --circular --ts-config tsconfig.json --extensions ts src","test.ci":"npm run test.compilation && npm run test.deps && npm run lint.only && npm run test","build.v2":"tsup src --format cjs,esm --dts","build.v1":"tsc --outDir dist --module commonjs --declaration true","build":"npm run build.v2 && npm run build.v1","lint":"eslint \"src/**/*.ts\" --fix","lint.only":"eslint \"src/**/*.ts\""},"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"author":{"name":"slava hatnuke"},"license":"MIT","bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"homepage":"https://github.com/slavahatnuke/strict-stream#readme","gitHead":"17f3933655c190ff0e70a2f5286797c0840d16c9","_id":"strict-stream@1.0.26","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-eXqjqormButXkhGbDe6v3v7AZ8GSBnZDfsOGEVUj1C+/88Siv9F0WZB8Hk3f8NVRK4O2noZuZoT58SkDuy2n9w==","shasum":"eb0e31f530e6a737b80a78f1145e7aa906581e46","tarball":"https://registry.npmjs.org/strict-stream/-/strict-stream-1.0.26.tgz","fileCount":160,"unpackedSize":680465,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8LCqbFLAyKN7xa7GL4f+sU40gFrKh9k4Q2RhPtmVxFAIhANtuiowRQ7hC/esnOMXfkQLmJXmjPmD2LSlMPf+x0IOQ"}]},"_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"directories":{},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/strict-stream_1.0.26_1693421989350_0.3358758477067263"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-15T22:57:16.103Z","0.0.1":"2023-03-15T22:57:16.279Z","modified":"2023-08-30T18:59:49.755Z","0.0.4":"2023-03-16T02:00:29.886Z","0.0.5":"2023-03-16T02:24:54.584Z","0.0.6":"2023-03-16T02:28:42.485Z","0.0.7":"2023-03-16T02:31:06.856Z","0.0.8":"2023-03-16T04:12:47.723Z","0.0.9":"2023-03-16T05:06:20.088Z","0.0.10":"2023-03-16T05:09:39.324Z","0.0.11":"2023-03-16T19:00:55.382Z","1.0.0":"2023-03-17T04:14:02.006Z","1.0.1":"2023-03-17T04:23:57.118Z","1.0.2":"2023-03-17T05:07:29.071Z","1.0.3":"2023-03-17T05:23:17.694Z","1.0.4":"2023-03-17T05:48:48.618Z","1.0.5":"2023-03-17T06:16:45.410Z","1.0.6":"2023-03-17T06:26:10.469Z","1.0.7":"2023-03-17T06:29:55.993Z","1.0.8":"2023-03-17T11:15:08.541Z","1.0.9":"2023-03-17T12:07:42.911Z","1.0.10":"2023-03-17T12:20:44.768Z","1.0.11":"2023-03-17T12:59:17.502Z","1.0.12":"2023-03-17T13:12:30.860Z","1.0.13":"2023-03-22T02:10:33.251Z","1.0.14":"2023-03-22T02:40:15.196Z","1.0.15":"2023-03-22T02:46:59.249Z","1.0.16":"2023-03-22T02:51:46.123Z","1.0.17":"2023-03-25T03:03:55.789Z","1.0.19":"2023-03-25T18:06:05.931Z","1.0.20":"2023-03-25T18:27:38.253Z","1.0.21":"2023-03-27T09:29:04.339Z","1.0.22":"2023-03-27T09:30:43.469Z","1.0.23":"2023-04-07T01:21:08.433Z","1.0.24":"2023-08-21T11:41:00.593Z","1.0.25":"2023-08-22T10:03:30.594Z","1.0.26":"2023-08-30T18:59:49.594Z"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"description":"strict-stream - strictly / strongly typed stream","homepage":"https://github.com/slavahatnuke/strict-stream#readme","keywords":["stream","strict","strict-stream","strictly-typed-stream","strongly-typed-stream","typed-stream"],"repository":{"type":"git","url":"git+https://github.com/slavahatnuke/strict-stream.git"},"author":{"name":"slava hatnuke"},"bugs":{"url":"https://github.com/slavahatnuke/strict-stream/issues"},"license":"MIT","readme":"# strict-stream\n[![CI](https://github.com/slavahatnuke/strict-stream/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/slavahatnuke/strict-stream/actions/workflows/ci.yml?branch=master) [![CD](https://github.com/slavahatnuke/strict-stream/actions/workflows/cd.yml/badge.svg?branch=master)](https://github.com/slavahatnuke/strict-stream/actions/workflows/cd.yml?branch=master)\n\n`strict-stream` is a tiny and lightweight library that helps manage `strictly/strongly typed streams` using `AsyncIterable<Type>` as the core principle to enable strict data pipelines with useful behavior.  \n\nIt ensures that the data flowing through a stream conforms to a specific data type or structure, which helps catch errors early on, reduce bugs, and make code more reliable and easier to maintain.\n\nWhy `Iterable<T>` and `AsyncIterable<T>` Matter\n-----------------------------------------------\n\nIn `JavaScript` and `TypeScript`, `Iterable<T>` and `AsyncIterable<T>` are two important interfaces that allow you to work with sequences of values. \n\nAn `Iterable<T>` is an object that can be iterated over using a `for...of` loop or the `Spread` operator, while an `AsyncIterable<T>` represents a sequence of values that are produced asynchronously, such as through a network request or database query.\n\nUsing these interfaces has several advantages:\n\n*   **Type safety:** By using `Iterable<T>` and `AsyncIterable<T>`, you can ensure that the data you're working with is strongly typed and conforms to a specific schema. This helps catch errors early in the development process and makes your code more robust and reliable.\n\n*   **Composability:** Because `Iterable<T>` and `AsyncIterable<T>` are composable, you can easily create complex data pipelines that process, transform, and filter data in a modular way. This makes it easier to reason about your code and maintain it over time.\n\n*   **Performance:** `Iterable<T>` and `AsyncIterable<T>` are highly optimized for performance, allowing you to process data streams with high throughput up to millions of records per second. This makes them an ideal choice for working with large datasets or real-time data streams.\n\n\nFor more information on `Iterable<T>` and `AsyncIterable<T>`, check out the following links:\n\n*   [MDN web docs: Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol)\n*   [MDN web docs: AsyncIterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of)\n\nInstallation\n------------\n\nTo install `strict-stream`, you can use your preferred package manager:\n\n`npm install strict-stream`\n\nor\n\n`yarn add strict-stream`\n\nUsage\n-----\n\nHere's a simple example that demonstrates how to use `strict-stream`:\n\n```typescript\nimport {of} from 'strict-stream';\nimport {filter} from 'strict-stream/filter';\n\nasync function* generateData() {\n  yield {name: 'Alice', age: 30};\n  yield {name: 'Bob', age: 40};\n  yield {name: 'Charlie', age: 50};\n}\n\nasync function example() {\n  // AsyncIterable<{name: string, age: number}>\n  const stream = of(generateData())\n    .pipe(\n      filter(({age}) => age > 30)\n    );\n\n  for await (const data of stream) {\n    console.log(`Name: ${data.name}, Age: ${data.age}`);\n  }\n  // Name: Bob, Age: 40\n  // Name: Charlie, Age: 50\n}\n\nawait example();\n````  \n- This code demonstrates how to use the `of` and `filter` functions from the library to create a typed stream and filter the data.\n- First, the `generateData` function is an `async generator` function that yields objects with a `name` and `age` property.\n- Next, the of function is used to create a `typed stream` from the generator function `generateData`. The resulting stream is an `AsyncIterable` of objects with a `name` and `age` property.\n- The `pipe` method is then used to apply a `filter` to the `stream`, keeping only the objects where the `age` property is `greater` than `30`.\n- Finally, the resulting stream is iterated over using a `for-await-of` loop. The output shows only the objects where `age` is `greater` than `30`.\n\n\n### IDE hints\n\nIt gives you these IDE hints with strong types and guides you to follow types. \n\nThere is a function `getUsers()` that gives you `AsyncIterable<{name: string, age: number}>` and all pipeline operations are type-safe.\n\n![strict stream usage](https://user-images.githubusercontent.com/302592/227898570-3a120a82-3bf7-4cef-9c5f-8dd1746ade91.gif)\n\n### A quick look at transformations\n\n```typescript\nimport {sequence} from \"strict-stream/sequence\";\nimport {map} from \"strict-stream/map\";\nimport {from} from \"strict-stream/from\";\nimport {filter} from \"strict-stream/filter\";\n\nasync function example() {\n  \n  const usersStream =\n    from(\n      // gives AsyncIterable<number> \n      // sequence 0,1,2,3,4; \n      sequence(5)\n    )\n      .pipe(\n        // takes only 0, 2, 4\n        filter((id) => id % 2 === 0)\n      )\n      .pipe(\n        // maps to {type: string, id: number, name: string}\n        map((id) => ({\n          type: 'User', \n          id, \n          name: `User ${id}`\n        }))\n      )\n\n  // inferred type\n  // AsyncIterable<{type: string, id: number, name: string}>\n  for await (const user of usersStream) {\n    console.log(user)\n  }\n\n  // { type: 'User', id: 0, name: 'User 0' }\n  // { type: 'User', id: 2, name: 'User 2' }\n  // { type: 'User', id: 4, name: 'User 4' }\n}\n```\n\n1. There is a `sequence` function that generates a sequence of numbers 0,1,2,3,4. \n2. This sequence is filtered using the `filter` function to include only the even numbers (i.e., 0, 2, and 4). \n3. And the resulting sequence is mapped using the `map` function to convert each number into a `user object` with a `type`, `name` and `id`. \n4. Finally `userStreams` is a strictly typed `AsyncIterable<{type: string, id: number, name: string}>`\n\n### How to make a stream with AsyncGenerator?\n\nAn example of how to create a stream / `AsyncIterable` with a generator:\n\n```typescript\nasync function* generateData() {\n  yield {name: 'Alice', age: 30};\n  yield {name: 'Bob', age: 40};\n  yield {name: 'Charlie', age: 50};\n}\n\nasync function example() {\n  const stream = generateData();\n\n  for await (const data of stream) {\n    console.log(`Name: ${data.name}, Age: ${data.age}`);\n  }\n  // Name: Alice, Age: 30\n  // Name: Bob, Age: 40\n  // Name: Charlie, Age: 50\n}\n\nawait example();\n```\n\n- In this example, `generateData` is a generator function that yields three objects with `name` and `age` properties.\n- The `example` function creates a stream from the generator by simply calling it and assigns it to the `stream` variable. \n- Then, it iterates over the stream using a `for await...of` loop and logs the `name` and `age` properties of each object. \n\n\n### How to make a stream with reader?\n\n`reader` function which creates an async iterable stream from a reader function. \n\nThe reader function is called every time a new value is requested from the stream and should return the value or DONE if there are no more values.\n\n```typescript\nimport { reader } from 'strict-stream/reader';\n\nasync function example() {\n  const array = [1, 2, 3];\n  \n  const stream = reader<number>(() => {\n    const value = array.shift();\n    return value === undefined ? reader.DONE : value;\n  });\n\n  for await (const number of stream) {\n    console.log(number);\n  }\n  // Output: 1\n  // Output: 2\n  // Output: 3\n}\n\nawait example();\n```\n\n- In this example, the reader function is called with a generator function that pops a value from the array on each call. \n- When there are no more values, it returns `reader.DONE`, which signals to the stream that there are no more values to yield. \n- Finally, the for `await...of` loop is used to consume the values from the `stream`.\n\n### How to transform a stream?\n\n```typescript\nimport {reader} from 'strict-stream/reader';\nimport {map} from 'strict-stream/map';\n\nasync function example() {\n  const array = [1, 2, 3];\n\n  const stream = reader<number>(async () => {\n    const value = array.shift();\n    return value !== undefined ? value : reader.DONE;\n  });\n\n  const transformedStream = of(stream)\n    .pipe(\n      map((value) => value * 2)\n    );\n\n  for await (const value of transformedStream) {\n    console.log(value);\n  }\n  // Output: 2, 4, 6\n}\n\nawait example();\n```\n\n- In this example, the function passed to reader returns the next value in the array each time it is called, using `array.shift()`. \n- If there are no more values in the array, it returns the special `reader.DONE` value to indicate that the stream is complete.\n- The `of` function is then used to create a `composable` stream from the `AsyncIterable` returned by `reader`. \n- This stream has a `pipe` method that can be used to apply a `series of transformations` to the `stream`.\n- The `map` operator is used to `transform` the stream by multiplying each value by `2`. \n- The `map` operator takes a function that is applied to `each value in the stream`, and returns a `new stream with the transformed values`.\n- Finally, the transformed stream is iterated over using a for `await...of` loop. \n- In this case, the output will be `2, 4, 6` which are the values of the original array multiplied by `2`.\n\n## API\n\n### `of<Type>(inputStream: StrictStream<Type>): StrictStreamOf<Type>`\n- `of` is a factory function that creates a new instance of a composable stream by wrapping an `AsyncIterable` \n- The resulting stream can be composed with other stream functions using the `pipe` method. \n\n#### An example:\n\n```typescript\nimport {of} from \"strict-stream\";\nimport {map} from \"strict-stream/map\";\n\nasync function* generateIds() {\n  yield 1\n  yield 2\n  yield 3\n}\n\nasync function example() {\n  const stream = of(generateIds())\n    .pipe(\n      map(async (id) => ({id, name: `User ${id}`}))\n    );\n\n  for await (const data of stream) {\n    console.log(`Id: ${data.id}, Name: ${data.name}`);\n  }\n  // Id: 1, Name: User 1\n  // Id: 2, Name: User 2\n  // Id: 3, Name: User 3\n}\n\nawait example();\n```\n\n- The code above is a simple to create and `transform` streams of data.\n- The `generateIds` function is a generator that yields three numbers (1, 2, and 3) in sequence.\n- The `of` function is used to create a stream from the generator by passing `generateIds` as its argument.\n- The `pipe` method is used to apply a transformation to the stream. \n- In this case, the `map` function is used to transform each item in the stream. \n- The `map` function takes a callback that is called with each item in the stream, and returns a new value for that item. \n- In this case, the callback takes an `id` value and returns an object with two properties: `id` and `name`.\n- Finally, the transformed stream is consumed with a `for-await-of` loop, which iterates through each item in the stream and logs its id and name properties to the console. \n- The output will be `Id: 1, Name: User 1`, `Id: 2, Name: User 2`, and `Id: 3, Name: User 3`.\n\n#### An example (advanced, custom mapper):\n\n```typescript\nimport {of, StrictStreamMapper} from \"strict-stream\";\n\nasync function* generateIds() {\n  yield 1\n  yield 2\n  yield 3\n}\n\nasync function example() {\n\n  // my first stream mapper; maps inputStream to mappedStream;\n  function myMap<Input, Output>(mapper: (input: Input) => Promise<Output>): StrictStreamMapper<Input, Output> {\n    // receives inputStream\n    return (inputStream) => {\n      return (\n        async function* () {\n          // reads input stream\n          for await (const record of inputStream) {\n            // map values\n            yield await mapper(record)\n          }\n        }\n      )()\n    };\n  }\n\n  const stream = of(generateIds())\n    .pipe(\n      myMap(async (id) => ({id, name: `User ${id}`}))\n    );\n\n  for await (const data of stream) {\n    console.log(`Id: ${data.id}, Name: ${data.name}`);\n  }\n  // Id: 1, Name: User 1\n  // Id: 2, Name: User 2\n  // Id: 3, Name: User 3\n}\n\nawait example();\n```\n\n- `of` creates a new stream instance from the `generateIds` async generator. \n- the resulting stream is composed with the `myMap` function that transforms each `id` into an object with `id` and `name` properties. \n- finally, the transformed stream is iterated using a `for await...of` loop.\n\n### `from<Input>(streamLike: StrictStreamLike<Input>): StrictStreamOf<Input>`\n\nThe `from` function is used to convert any `iterable` object, whether `synchronous` or `asynchronous`, to a `StrictStream`.\n\nIt takes a single argument of type `StrictStreamLike<Input>`, which can be either an `Iterable` or an `AsyncIterable`;\n\nThe `from` function returns a `StrictStream` object of type `StrictStreamOf<Input>`, which has a `pipe` method that can be used to transform the `stream`.\n\n`StrictStreamLike<Type>` type means `AsyncIterable<Type> | Iterable<Type> | Type[]`\n\n#### An example\n\n```typescript\nimport {from} from \"strict-stream/from\";\nimport {map} from \"strict-stream/map\";\n\nasync function* generateIds() {\n  yield 1\n  yield 2\n  yield 3\n}\n\nasync function example() {\n\n  const streamLike1: Iterable<number> = [1, 2, 3];\n  const streamLike2: AsyncIterable<number> = generateIds();  // is equivalent\n\n  // could consume `streamLike1` or `streamLike2`\n  const stream = from(streamLike1)\n    .pipe(\n      map(async (id) => ({id, name: `User ${id}`}))\n    );\n\n  for await (const data of stream) {\n    console.log(`Id: ${data.id}, Name: ${data.name}`);\n  }\n  // Id: 1, Name: User 1\n  // Id: 2, Name: User 2\n  // Id: 3, Name: User 3\n}\n\nawait example();\n\n```\n\n- The example demonstrates how to use the `from` function to turn an iterable into a `composable stream`.\n- An asynchronous generator function called `generateIds` is defined that yields the numbers `1, 2, and 3.`\n- `streamLike1` is defined as an array containing the numbers `1, 2, and 3`.\n- `streamLike2` is defined as an `async iterable` that is equivalent to `generateIds`.\n- The `from` function is then used to create a stream from `streamLike1`.\n- This stream is then piped through a `map` function that maps each number to an object containing an `id` and a `name` field.\n- Finally, the resulting stream is consumed using a `for await` loop\n\n### `tap<Input>(fn: (input: Input) => Promised<any>): StrictStreamMapper<Input, Input>`\n`tap` is a utility function that allows you to perform `side-effects` on each element of a stream without modifying the stream itself. \n\nIt works by taking a callback function as an argument, which is invoked for each element of the stream, \n\nbut then simply returns the original element, so that it can be passed on to the next step in the pipeline unchanged.\n\n#### An example:\n\n```typescript\nimport {of} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\n\nasync function example() {\n  async function* generateIds() {\n    yield 1\n    yield 2\n    yield 3\n  }\n\n  const transformedStream = of(generateIds())\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  for await (const value of transformedStream) {\n    /* empty */\n  }\n  // 1\n  // 2\n  // 3\n}\n\nawait example();\n```\n\n- In this example, we start with an asynchronous generator that yields three numbers: 1, 2, and 3. \n- We then use the `of` function to wrap this generator in a composable stream, and then use the `pipe` method to apply the `tap` function to the stream. \n- The `tap` function simply logs each element of the stream to the console.\n- Finally, we iterate over the transformed stream using a `for-await-of` loop, which triggers the evaluation of the stream and executes the `side-effects` of the `tap` function. \n- However, since tap returns each element unchanged, the loop does not actually output anything to the console.\n- The output of the example, therefore, is simply the values 1, 2, and 3, printed to the console by the tap function.\n\n### `run<Type, Default = undefined>(stream: StrictStream<Type>, defaultValue?: Default): Promise<Type | Default>`\n- Consumes the given `AsyncIterable`, iterating over its values, and returns a Promise that resolves to the `last value` of the `stream`.\n- If the `stream` is empty, the function returns a `default value`, which is optional and defaults to `undefined`.\n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\n\nasync function example() {\n  async function* generateIds() {\n    yield 1\n    yield 2\n    yield 3\n  }\n\n  const stream = of(generateIds())\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(stream)\n  // Output\n  // 1\n  // 2\n  // 3\n}\n\nawait example();\n```\n\n- It then creates a stream by calling of with `generateIds` as its argument. It then pipes this stream through a tap operation which logs each value emitted by the stream to the console.\n- Finally, it calls the run function to execute the stream. The run function returns a Promise that resolves when the stream has completed. \n- In this case, it logs the numbers 1, 2, and 3 to the console.\n\n### `sequence(length: number): StrictStream<number>`\n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\nimport {sequence} from \"strict-stream/sequence\";\n\nasync function example() {\n  const sequenceStream = of(sequence(3))\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(sequenceStream)\n  // 0\n  // 1\n  // 2\n}\n\nawait example();\n```\n\n- The code is an example of how to use the `sequence` function to generate a stream of numbers with a `given length`\n- And then use the of and `pipe` functions to `transform` the `stream` by appending a `tap` function that `logs each value` in the `stream` to the `console`.\n- Specifically, the `sequence` function generates a `stream of numbers` from `0 up to the given length`. \n- The of function is then used to create a new stream from the output of the `sequence` function, and the `pipe` method is called to add the `tap` function as a transform to the stream. \n- Finally, the `run` function is called to consume the `stream` and `log each value` to the console.\n\nWhen the example function is called \n- It creates a new stream using `of(sequence(3))`, which generates a stream of numbers from `0 to 2`. \n- The `pipe` method is then used to append a `tap` function that `logs each value` in the `stream` to the console. \n- Finally, the `run` function is called to consume the stream and log each value to the console. \n- The output is: 1, 2, 3\n\n### `map<Input, Output>(mapper: (input: Input) => Promised<Output>): StrictStreamMapper<Input, Output>`\n\nThe `map` function is a higher-order function that takes a function `mapper` as input and returns another function that applies the mapper function to every element in a stream. \n\nThe mapper function `transforms` each element of the stream and returns a new output element. \n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\nimport {sequence} from \"strict-stream/sequence\";\nimport {map} from \"strict-stream/map\";\n\nasync function example() {\n  const sequenceStream = of(sequence(3))\n    .pipe(\n      map((id) => id * 2)\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(sequenceStream)\n  // 0\n  // 2\n  // 4\n}\n\nawait example();\n```\n\n- In the example function, the `of` function is used to create a new stream from the `sequence generator` function that generates a sequence of numbers from `0 to 2`. \n- This stream is then `piped` through the `map` function, which multiplies each number in the stream by 2. \n- The resulting stream is then piped through the `tap` function, which `logs each element` in the stream to the console. \n- Finally, the `run` function is called to consume the stream and output its elements.\n- The output of the example function will log the numbers `0, 2, and 4` to the console, which are the result of multiplying the original numbers generated by sequence by `2`.\n\n### `filter<Input>(condition: (input: Input) => Promised<boolean | undefined | null>): StrictStreamMapper<Input, Input>`\nThe `filter` function is a higher-order function that takes a `condition` function as its input and returns a function that can be used as a `stream mapper`. \n\nThe condition function is applied to each item in the stream, and only those items for which the condition function returns a truthy value are included in the output stream.\n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\nimport {sequence} from \"strict-stream/sequence\";\nimport {filter} from \"strict-stream/filter\";\n\nasync function example() {\n  const stream = of(sequence(3))\n    .pipe(\n      filter((id) => id > 0)\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(stream)\n  // 1\n  // 2\n}\n\nawait example();\n```\n\n- In the example function, the `of` function is used to create a stream from the `sequence` generator that yields three numbers (`0, 1, and 2`). \n- This stream is then piped to a `filter` mapper that only allows numbers `greater than 0` to pass through. \n- The resulting stream is then piped to a `tap` mapper that `logs each item` to the console. \n- Finally, the `run` function is used to execute the stream and log the output to the console. \n- The output of this code will be the numbers `1 and 2`, since those are the only numbers in the original sequence that meet the filter condition `greater than 0`.\n\n### `reduce<Input, Accumulator>(reducer: (accumulator: Accumulator, input: Input) => Promised<Accumulator>, initial: Accumulator): StrictStreamMapper<Input, Accumulator>`\n\nThe `reduce` function is a higher-order function that takes a `reducer` function and an `initial value` as input, and returns a new function that can be used to `transform` a `stream` of values. \n\nThe reducer function takes an `accumulator` value and an `input` value, and returns a `new accumulator` value. \n\nThe reduce function applies the reducer function to each value in the stream, `accumulating` the results into a final value that is `emitted by the resulting stream`.\n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {sequence} from \"strict-stream/sequence\";\nimport {reduce} from \"strict-stream/reduce\";\n\nasync function example() {\n  const stream = of(sequence(5))\n    .pipe(\n      reduce(({counter}) => ({counter: counter + 1}), {counter: 0})\n    );\n\n  const result = await run(stream);\n  console.log(result)\n  // { counter: 5 }\n}\n\nawait example();\n```\n\n- In the example, the reduce function is used to count the number of values in a stream. \n- The stream is created using the `sequence` function, which generates a stream of numbers from `0 to 4`. \n- The `reduce` function takes an object with a `counter` property as the `initial value`, and a reducer function that increments the counter property for each input value. \n- The `resulting stream` emits a `single object` with the final value of the counter property, which is `5` in this case. \n- The `run` function is used to execute the stream and log the final result.\n\n### `batch<Input>(size: number): StrictStreamMapper<Input, Input[]>`\n\n- `batch` is a function that returns a `mapper` function that takes an `input stream` and emits an array of inputs that are processed in `batches of a given size`.\n- And when the batch reaches the desired size it emits the batch downstream.\n\n#### An example\n\n```typescript\nimport {of, run} from \"strict-stream\";\nimport {sequence} from \"strict-stream/sequence\";\nimport {batch} from \"strict-stream/batch\";\n\nasync function example() {\n  const stream = of(sequence(3))\n    .pipe(\n      batch(2)\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(stream)\n  // Output\n  // [ 0, 1 ]\n  // [ 2 ]\n}\n\nawait example();\n```\n\n- The example code creates a `sequence` stream of 3 numbers \n- And pipes it through the `batch` function with a `batch size of 2`. \n- The resulting stream emits two arrays, \n- The first with the values `[0, 1]` and the second with the value `[2]`. \n- The `tap` function is used to log each emitted value to the console.\n\n\n### `flat<Type>(): StrictStreamMapper<Type | StrictStreamLike<Type>, Type>`\n\n- The `flat` function is a `stream transformer` that flattens the first level of stream or an array (`Iterable`). \n- If the input stream contains arrays or nested streams \n- the `flat` function will iterate over each element in the array or nested stream and emit it as a separate item in the output stream.\n\n#### An example\n\n```typescript\nimport {run} from \"strict-stream\";\nimport {from} from \"strict-stream/from\";\nimport {flat} from \"strict-stream/flat\";\nimport {tap} from \"strict-stream/tap\";\n\nasync function example() {\n  const stream = from(\n    [\n      [1, 2],\n      [3, 4],\n      5\n    ]\n  )\n    .pipe(\n      flat()\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(stream)\n  // 1\n  // 2\n  // 3\n  // 4\n  // 5\n}\n\nawait example();\n```\n\n- In the example code, the `from` function is used to create a stream from an array that contains nested arrays and a single value. \n- The `flat` function is then used to `flatten` the first level of stream so that each element in the nested arrays is emitted as a separate item in the output stream. \n- Finally, the `tap` function is used to log each item.\n- When the `example` function is run, the output stream contains each element in the nested arrays and the single value, emitted as separate items in the stream.\n\n### `flatMap<Input, Output>(mapper: (input: Input) => Promised<Output | StrictStreamLike<Output>>): StrictStreamMapper<Input, Output>`\n\n- `flatMap` is a function that `maps each element` of a stream to another stream and `then flattens the first level of resulting stream` of streams into a single stream. \n- It takes a `mapper` function that `maps the input element`. \n- The resulting `stream` is then `flat` mapped, meaning that it is flattened so that all elements are emitted in a single stream.\n\n#### An example\n\n```typescript\nimport {run} from \"strict-stream\";\nimport {from} from \"strict-stream/from\";\nimport {flatMap} from \"strict-stream/flatMap\";\n\nasync function example() {\n  type User = {\n    id: number;\n    name: string;\n    orders: Order[];\n  };\n\n  type Order = {\n    id: number;\n    product: string;\n    price: number;\n  };\n\n  const users: User[] = [\n    {\n      id: 1,\n      name: \"Alice\",\n      orders: [\n        {id: 101, product: \"Widget A\", price: 10.0},\n        {id: 102, product: \"Widget B\", price: 20.0},\n      ],\n    },\n    {\n      id: 2,\n      name: \"Bob\",\n      orders: [\n        {id: 201, product: \"Widget C\", price: 30.0},\n        {id: 202, product: \"Widget D\", price: 40.0},\n        {id: 203, product: \"Widget E\", price: 50.0},\n      ],\n    },\n  ];\n\n  async function fetchStreamOfUsers(): Promise<StrictStreamOf<User>> {\n    return from(users);\n  }\n\n  // StrictStreamOf<{userId: number, orderId: number}\n  const stream = (await fetchStreamOfUsers())\n    .pipe(\n      flatMap(async (user) => {\n        return from(user.orders)\n          .pipe(\n            map(\n              async (order) => {\n                return {\n                  userId: user.id,\n                  orderId: order.id,\n                  price: order.price\n                }\n              })\n          )\n      })\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(stream)\n  // { userId: 1, orderId: 101, price: 10 }\n  // { userId: 1, orderId: 102, price: 20 }\n  // { userId: 2, orderId: 201, price: 30 }\n  // { userId: 2, orderId: 202, price: 40 }\n  // { userId: 2, orderId: 203, price: 50 }\n}\n\nawait example();\n```\n\n- In the provided example, `flatMap` is used to `flatten` the orders of the `users`. \n- A stream of `users` is created using the `from` function. \n- The `flatMap` function is then called on this stream, mapping each user to a stream of orders using the `from` function again. \n- The resulting `stream of orders` is then `mapped to an object` with the `userId`, `orderId`, and `price` using the `map` function. \n- Finally, the resulting stream of objects is logged using the `tap` function.\n- When the stream is run using the `run` function, it logs each object in the stream, which contains the `userId`, `orderId`, and `price` for each order.\n\n### `pipe<In, Out>(mapper: StrictStreamMapper<In, Out>): StrictStreamPlumber<In, Out>`\n\n- The `pipe` function is used to create `composable behavior` for `StrictStream`s. \n- It takes a `StrictStreamMapper` as an input, which is a function that transforms a `StrictStream` of one type to a `StrictStream` of another type. \n- `pipe` then returns a `StrictStreamPlumber`, which is a function that takes a `StrictStream` of the original input type and returns a `StrictStream` of the final output type.\n- `pipe` also has a `pipe` method on the returned function, which allows for easy `composition of multiple` `StrictStreamMapper`s. \n\n\n#### An example\n\n```typescript\nimport {run, pipe} from \"strict-stream\";\nimport {from} from \"strict-stream/from\";\nimport {map} from \"strict-stream/map\";\n\nasync function example() {\n  // composable behavior\n  const addFive = pipe(\n    map((input: number) => input + 4)\n  )\n    .pipe(\n      map(async (input) => input + 1)\n    )\n\n  // High order function to manage / compose part of the pipe\n  function multiple(x: number) {\n    return pipe(\n      map(async (value: number) => value * x)\n    );\n  }\n\n  const stream = from([1, 2, 3])\n    .pipe(\n      addFive\n    )\n    .pipe(multiple(2))\n    .pipe(tap((value) => console.log(value)))\n\n  await run(stream)\n  // 12\n  // 14\n  // 16\n}\n\nawait example();\n```\n\n- In the `example` function, we create two separate `StrictStreamMapper`s using `pipe`.\n- We then use the `multiple` function to create another `StrictStreamMapper` that `multiplie`s the input value by a `given number`. \n- We then `compose` these three mappers using `pipe` and use the resulting `StrictStreamPlumber` to create a `stream of numbers`. \n- Finally, we `run` the `stream` and log each value as it is processed. \n- The output will be `12, 14, 16`.\n\n#### An example of `flatMap` implementation\n\nThere is a composition of `map` and `flat` functions.\n\n```typescript\nexport function flatMap<Input, Output>(mapper: (input: Input) => Promised<Output | StrictStreamLike<Output>>): StrictStreamMapper<Input, Output> {\n  return pipe(\n    map(mapper)\n  ).pipe(\n    flat()\n  );\n}\n```\n- The `flatMap` function is implemented using the `pipe` function, which `composes` a set of `StrictStreamMapper` functions into a single `StrictStreamMapper`. \n- In the implementation of `flatMap`, the `map` function is first applied to the `mapper` argument\n- Resulting in a new `StrictStreamMapper` that transforms the input values using the `mapper` function. \n- This transformation may result in an output value or a `StrictStreamLike` object that contains a set of output values.\n- The resulting `StrictStreamMapper` is then piped into the `flat` function, which flattens any `StrictStreamLike` objects into a stream of individual output values.\n\n### `scaleSync<Input, Output>(size: number, mapper: (input: Input) => Promised<Output>): StrictStreamMapper<Input, Output>`\n\n- Basically the `map` function with desired `concurrency` to process records. That keeps the ordering of output stream unchanged.\n- The `scaleSync` function takes two arguments, the first one is a `number` which represents the concurrency, and the second one is a mapper function that maps the `input` to the `output`.\n\n#### An example\n\n```typescript\nimport {run, of} from \"strict-stream\";\nimport {scaleSync} from \"strict-stream/scaleSync\";\n\nasync function fetchUserById(id: number) {\n  // some logic to fetch the use\n  return {\n    id,\n    userName: `User ${id}`\n  };\n}\n\nasync function getUserIds() {\n  return sequence(3);\n}\n\nasync function example() {\n  const usersStream = of(await getUserIds())\n    .pipe(\n      // run's the async queries concurrently, keeps the ordering of output stream unchanged\n      scaleSync(5, async (id) => fetchUserById(id))\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    );\n\n  await run(usersStream)\n  // { id: 0, userName: 'User 0' }\n  // { id: 1, userName: 'User 1' }\n  // { id: 2, userName: 'User 2' }\n}\n\nawait example();\n```\n\n- In the example, the `scaleSync` function is used to `fetch user` details for a given set of user ids. \n- The `fetchUserById` function fetches the user details `asynchronously` for a given `user id`, and the `getUserIds` function `generates a stream` of user ids. \n- The `usersStream` is created with concurrency of 5, and executing the `fetchUserById` function for each id. \n- The resulting `user details` are logged to the console using the `tap` function.\n\n\n### `concatenate<T>(...streams: StrictStream<any>[]): StrictStream<T>`\n- `concatenate` is a function that concatenates multiple streams into a single stream\n- ensuring that the records are read sequentially one by one, and maintains the ordering of the output stream unchanged.\n- The implementation of the function is done using rest parameters to allow for an `arbitrary number of streams to be concatenated`\n\n#### An example\n\n```typescript\nimport {run, of} from \"strict-stream\";\nimport {concatenate} from \"strict-stream/concatenate\";\nimport {from} from \"strict-stream/from\";\nimport {tap} from \"strict-stream/tap\";\n\nasync function* generateIds() {\n  yield 10\n  yield 20\n  yield 30\n}\n\nasync function example() {\n\n  const streamLike1: Iterable<number> = [1, 2, 3];\n  const streamLike2: AsyncIterable<number> = generateIds();  // is equivalent\n\n  const stream = from(\n    concatenate(\n      from(streamLike1),\n      from(streamLike2),\n    )\n  ).pipe(\n    tap((value) => console.log(value))\n  );\n\n  await run(stream)\n  // 1\n  // 2\n  // 3\n  // 10\n  // 20\n  // 30\n}\n\nawait example();\n```\n\n- In the provided example, two stream-likes, one iterable and one async iterable, are concatenated using `concatenate`. \n- The resulting stream is then converted into a strict stream using the `from` function\n- And a `tap` operation is performed on it to log each record. \n- Finally, the stream is run using the `run` function, which is a utility function to consume and execute the stream. \n- The output shows that the resulting stream contains all the records from both input streams in the correct order.\n\n### `interval(ms: number, startImmediate = false): IInterval`\n\n- `interval` is a function that creates a `stream` that emits a sequence of integers at regular intervals. \n- It takes two parameters: the `duration` of the interval in `milliseconds`, and a `boolean flag` indicating whether the stream should start emitting `immediately` or after one interval has elapsed.\n- The function returns a `StrictStream` object with an additional method `stop` that can be used to stop the interval stream.\n\n#### An example\n\n```typescript\nimport {run, of} from \"strict-stream\";\nimport {tap} from \"strict-stream/tap\";\nimport {map} from \"strict-stream/map\";\nimport {interval} from \"strict-stream/interval\";\n\nasync function example() {\n  // every 300ms\n  const source = interval(300);\n\n  let counter = 0;\n\n  const stream = of(source)\n    .pipe(\n      map(() => {\n        counter++\n\n        if (counter > 3) {\n          // stops the interval stream\n          source.stop()\n        }\n\n        return counter;\n      })\n    )\n    .pipe(\n      tap((value) => console.log(value))\n    )\n\n  await run(stream)\n  // 1\n  // 2\n  // 3\n  // 4\n}\n\nawait example();\n```\n \n- This example creates an `interval stream` that emits every `300ms`\n- And uses the `map` operator to increment a counter and stop the stream after `4 emissions`. \n- The `tap` operator is used to log the emitted values to the console.\n\n\n### Node.JS integration\n#### `nodeReadable<Output>(readable: Readable): StrictStreamOf<Output>`\nTurns readable to `StrictStreamOf`\n\n```typescript\nimport {nodeReadable} from \"strict-stream/nodeReadable\";\nimport {Readable} from \"stream\";\n\nconst readable = Readable.from('Hello Stream');\n\nconst stream = nodeReadable<string>(readable)\n  .pipe(map((chunk) => `${chunk} + OK`))\n```\n\n#### `nodeWritable<Type>(writable: Writable, encoding: BufferEncoding = 'utf-8'): StrictStreamMapper<Type, Type>`\nIntegrates writable stream\n\n```typescript\nimport {from} from \"strict-stream/from\";\nimport {nodeWritable} from \"strict-stream/nodeWritable\";\nimport {Readable, Writable} from \"stream\";\n\nconst written: { chunk: any }[] = []\nconst myWritable = new Writable({\n  write(chunk, encoding: BufferEncoding, callback) {\n    written.push({chunk})\n    callback()\n  },\n});\n\nconst buffer = Buffer.from([100, 101, 102]);\nconst stream = from([buffer])\n  .pipe(nodeWritable(myWritable));\n```\n\n#### `nodeTransform<Input, Output>(transform: Transform, options: ReadableOptions = {}): StrictStreamMapper<Input, Output>`\nIntegrates transform stream\n\n```typescript\nimport {from} from \"strict-stream/from\";\nimport {nodeTransform} from \"strict-stream/nodeTransform\";\nimport {Readable, Transform} from \"stream\";\n\nconst myTransform = new Transform({\n  transform(chunk: any, encoding, callback) {\n    callback(null, `${chunk} + OK`)\n  },\n});\n\nconst stream = from(Readable.from('Hello'))\n  .pipe(nodeTransform(myTransform));\n```\n\n\n## Beta API\n\n### Beta Transformations\n\n#### `scale<Input, Output>(max: number, mapper: (input: Input) => Promised<Output>): StrictStreamMapper<Input, Output>`\nMaps the stream with `max` concurrently. Does not guarantee the ordering of stream items for sure. See `scaleSync` for the ordered stream.\n```typescript\nconst out = of(sequence(4))\n  .pipe(\n    scale(10, async (value) => {\n      return value\n    })\n  );\n```\n#### `batchTimed<Input>(size: number, maxTimeout: Milliseconds): StrictStreamMapper<Input, Input[]>`\n\nEmit batches by `size` or `maxTimeout`; Useful in the `infinity` streams to handle batches.\n\n```typescript\n// batch by timeout\nconst stream = of(sequence(5))\n  .pipe(tap(() => {\n    return delay(100)\n  }))\n  .pipe(batchTimed(2, 10));\n```\n\n```typescript\n// batch by timeout\nconst stream = of(sequence(5))\n  .pipe(tap(() => {\n    return delay(100)\n  }))\n  .pipe(batchTimed(2, 10));\n```\n\n```typescript\n// batch by size\nconst stream = of(sequence(5))\n  .pipe(tap(() => {\n    return delay(10)\n  }))\n  .pipe(batchTimed(2, 500));\n```\n\n#### `buffer<Input>(size: number): StrictStreamMapper<Input, Input>`\n\nSimply adds a bit of buffer to have more room for reader / upstream. \n\n```typescript\nconst out = of(sequence(4))\n  .pipe(\n    buffer(3)\n  );\n```\n\n### Beta Source Operations\n#### `merge<Type>(...streams: StrictStream<any>[]): StrictStream<Type>`\n\nMerge streams concurrently. Does not guarantee the ordering. See `concatenate` for ordered streams.\n\n```typescript\nconst usersV1Stream = from([{type: 'userV1', name: 'User Name'}])\n  .pipe(tap(() => delay(100)));\n\nconst usersV2Stream = from([{type: 'userV2', firstName: 'User', lastName: 'Name'}]);\nconst usersStream = merge(usersV1Stream, usersV2Stream);\n```\n\n#### `objectReader<T extends object | object[]>(read: () => Promised<T | null | undefined | boolean | number>): StrictStream<T>`\n\nSimplifies reading source of objects;\n\n```typescript\nconst array = [{id: 1}, {id: 2}]\nconst stream = objectReader(() => array.shift());\n```\n\n### Utilities\n#### `toArray<T>(input: StrictStream<T>): Promise<T[]>`\nNot recommended for production usage. Could lead to RAM consumption.\n```typescript\nconst stream = from([1, 2, 3]);\nconst outputs = await toArray(stream);\n\nexpect(outputs).toEqual([1, 2, 3])\n```\n\n## License\n\n`strict-stream` is licensed under the **MIT License**.\n","readmeFilename":"README.md"}