{"_id":"@4bitlabs/readers","_rev":"13-6c19c54dfbcb530d15e1330438e7ba7f","name":"@4bitlabs/readers","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.0":{"name":"@4bitlabs/readers","version":"1.0.0","author":{"name":"J. Holmes","email":"32bitkid@gmail.com"},"license":"ISC","_id":"@4bitlabs/readers@1.0.0","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"dist":{"shasum":"489f18b68387abe9b7f80af99f74884fb70fa421","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-1.0.0.tgz","fileCount":20,"integrity":"sha512-8nRx/f42MvTi7RYj10ugcIzvXam2Dbp9X2dB5WtsD2EwGfRKwvWG8ywcSj+M9GrVZvkEgtuw3EykDzLIACW7Jg==","signatures":[{"sig":"MEUCIAOBrrZ7CFQLZSgz5nV55yX9Nz23QBH1v8BN79lBC7jzAiEAlYpIVTUWOo9Gv6bYUy2LW6kPdgOXthrKFNBVV7ma+Kw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47323},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"01d9baaae4fd014386c88332e547cd432aa28912","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"_npmVersion":"9.8.1","description":"A collection of bit-readers for javascript and typescript.","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_1.0.0_1700510299911_0.5783833357803079","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@4bitlabs/readers","version":"1.1.0","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"32bitkid@gmail.com"},"license":"ISC","_id":"@4bitlabs/readers@1.1.0","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"8754ad475d766ba7c5e1c89b3e742ed637e9a78d","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-1.1.0.tgz","fileCount":20,"integrity":"sha512-DnUE7M3GZiuOmL6v1aI1hy73ZsxiD7rSYVJ258TVlPr0nPPiY5Z1KchV3aBZYBOmq6411Jz+sDHIsGjQrsfV1w==","signatures":[{"sig":"MEQCIGYJDNiv7SjgpRrD0q0FaFUJ9j1Dk/wyvrcYIAVdOWoOAiAPjf4iO1+fwnPT1KhqUyeciS1zHHl2fjBVK8dwEhDd+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54021},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3358c91c9e2ac4c0ab062337b3dce2db3a939448","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+ssh://git@github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_1.1.0_1700790623589_0.8191963352312521","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@4bitlabs/readers","version":"1.2.0","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"32bitkid@gmail.com"},"license":"ISC","_id":"@4bitlabs/readers@1.2.0","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"847a50410a72c2aea226fc2d790ad4a73da859a1","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-1.2.0.tgz","fileCount":20,"integrity":"sha512-/5bi3pie0x3i33ihnIf7vlWnnFYI3HcTHknrOW9U3J1CbsauoM4Umxrmc0t1d1/f1CXO94kFKpkPa8XRqLGFAA==","signatures":[{"sig":"MEUCIGLcLQ69OeMyWzx0PPYjk/9YUu6k8F8/vDXpPGQqIZeHAiEAq58xG/aWhH+Rv3Gjf3YLMWT1B4XKvO0jdbIcnAQwvac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54715},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c69bcc3bd83df9027a5b958c06499c0a3b3f4d42","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+ssh://git@github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_1.2.0_1701024322610_0.026663496265179276","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@4bitlabs/readers","version":"2.0.0","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"32bitkid@gmail.com"},"license":"ISC","_id":"@4bitlabs/readers@2.0.0","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"5bbacba0d53e728331900f702777dee81c48861b","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.0.tgz","fileCount":56,"integrity":"sha512-/gTMXOy/WFbpaz7bKe/Dd0fwAkLbRawU3LGXgdjvULMSVM52+z8riwDUfUaFS/4JBM8948rG/I3k+uTut1P0yQ==","signatures":[{"sig":"MEYCIQDcILzjJ6LKDKEl4LpJHXaKBWlyXeIzNb5z9sVkxsFeIQIhAJJjwIzl6Scc844ZVPr7AeTb6KhU2Y9z6o07WkiLl+h+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76185},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e117b249995cdb3e15fc244c720b9ea5b4b8353c","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+ssh://git@github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.0_1710089803978_0.320356587528416","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@4bitlabs/readers","version":"2.0.1","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.1","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"a72b52988bfbb7bf6c97ee7e40da95cebf5edd29","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.1.tgz","fileCount":57,"integrity":"sha512-LHbvWl3EmKd7Q+twnlNViDD/bzPR0OUl5Plb8l8Q6KVHteCLNpompnBnxwHa2qk0Pj9mfhAp05Qp1V6RfmXrKQ==","signatures":[{"sig":"MEYCIQDSTFedxZ+vbEolQt8QpQPjPANV0lBDVNMkC+LFEgJIHwIhAOBVnv/TzuQ/gQT/4b8IslsvjdjXYE7LBd/nb49/bHhN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88277},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"c73305df841f0337f0a7b5aa7ea6b8b7a7c74491","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+ssh://git@github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"lerna/8.1.2/node@v18.18.2+arm64 (darwin)","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.1_1710272043701_0.4895027661549829","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@4bitlabs/readers","version":"2.0.2","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.2","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"4c81a6d8fb0befef5b6c9f805aab0165302eec20","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.2.tgz","fileCount":56,"integrity":"sha512-HQCHqCUb5frtx4MX5vNHUzB5SmNQZtqUCfNXe6oxGWFtsrrlnueujW9ffDcyLNXfrT1dQeopzri5Rvo8dePgIA==","signatures":[{"sig":"MEYCIQCRhOoq3lhpVpTiB3C7/6fTiRjZWG5Ye+LjvCxNwQCC/wIhAKXTqu3yfPjhaXwru2wxKwzql+RALNWR3Htg+ycuuDnD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87324},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"7afc3fe136140fe3149985d833f2134ca83deec1","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+ssh://git@github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.2_1710446520127_0.837276795842554","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@4bitlabs/readers","version":"2.0.3","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.3","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"0fd16692d2e5a4adf7ce026cde27b8ea76c65cf7","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.3.tgz","fileCount":57,"integrity":"sha512-Rs0ys1Ysr7wtPevSe7fFEM4yuLSrkiJQNkm6nxhtr4kN21umqMvwUsXoo9L4evBtUOBd1UU0Wo8nQMsXdLWSmg==","signatures":[{"sig":"MEYCIQD4oWPcKZaLhd7WtcSiNGqhvU3b4xMl2nIqFQ597oMZDAIhANOk7loikkbozLolgS0Pk+eVQIlTczBrU5V8t2xPXaIV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88388},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"8d9fdbde1a2e59589936ad7201fe472f41df4ee7","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"lerna/8.1.2/node@v18.18.2+arm64 (darwin)","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.3_1711088125788_0.273756281570001","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@4bitlabs/readers","version":"2.0.4","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.4","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"cf23937d209c13c44df444ac0aeecfaad8195831","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.4.tgz","fileCount":55,"integrity":"sha512-UvXhntFKjOdsjHSkMloqmSOVAH3RJGo69zvnyPd6vv+GOrhxZrctFvTY0E66Z+A0UfWwenIpyOSxSr+bkwDHfQ==","signatures":[{"sig":"MEQCIG63FVWcCZ89Mmy9m56fgzZi0OU3W2T0l/bygMHXqMbCAiBTfPbvoeLv49CirMDzYdHmi5Z1rY307dbexZ2631mxGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51610},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"dcf4b7ce34a3c2610d4f14a7f92daf3c67cb60c3","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.4_1712292019159_0.11988288834900773","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@4bitlabs/readers","version":"2.0.5","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.5","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"4dfe97a74a3c83931232a57ac833c84014e02b23","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.5.tgz","fileCount":55,"integrity":"sha512-D2BBFWznMChzqvIISu3q7eJdxEy+dF9VSn1US6mUQQ+e1SVcGTzj+/SW/fAJ32KVupGNhHdRAXqNxMvzsMimwA==","signatures":[{"sig":"MEUCIF5YzIWSW/KI1X3ET/Ro4aK/EXqEyYbWomlxK3M3iZtHAiEA/1JD56Z7qTBX8P393m2kjCshh/m2erenPi1QGrbueHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51985},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"e20954075368b2f53b8cfb7f17896f51bad47baa","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.5_1715629624269_0.6885859901854114","host":"s3://npm-registry-packages"}},"2.0.6":{"name":"@4bitlabs/readers","version":"2.0.6","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@2.0.6","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://github.com/32bitkid/sci.js/tree/main/libs/readers#readme","bugs":{"url":"https://github.com/32bitkid/sci.js/issues"},"dist":{"shasum":"ba8777b2e376d04ea18c1be4cb2dc763b96c4b0a","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.6.tgz","fileCount":55,"integrity":"sha512-oxi1VQ6q4N+uPReKPd7bhZ68oW17U57FNkhjKwq7auhsguybtGdKwvIRF5kvHakcMxydvucvwBwE5DOEvPwIzQ==","signatures":[{"sig":"MEYCIQCOw+KhZy5HYpXn3ROWyUoRwFSqvWkbLSxiGpsxqCCnLAIhAK/t3z+cwqh4IPBvV5yNgWLv2bwtb7xI1WNVfHv/ecTk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51989},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"a589d589d1044c6f16652021cf52a48b5435e9f5","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/sci.js.git","type":"git"},"_npmVersion":"10.5.0","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.6_1718499072720_0.7524629241701952","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"@4bitlabs/readers","version":"2.0.7","keywords":["bitreader","bits"],"author":"J. Holmes <j@holmes.codes>","license":"ISC","_id":"@4bitlabs/readers@2.0.7","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://32bitkid.github.io/4bitlabs.bits/modules/_4bitlabs_readers.html","bugs":{"url":"https://github.com/32bitkid/4bitlabs.bits/issues"},"dist":{"shasum":"07ce704b3360945e1777cacc740a757df7cac31e","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-2.0.7.tgz","fileCount":55,"integrity":"sha512-djJicKoExWOD5sXScPqj4kGUOiON7lDdm+H738AGJn61e2wgL1h9RHJ7bvK8/rsn+tAFeYA3/4m5MFrfJOFpOw==","signatures":[{"sig":"MEUCIB27XIF+SavezmYkY8MARCjTkTGc4Ia4lufYu5jEqOdtAiEAvfjtlP2wYVb9BhE2qEAlNm5lG5H2ffNuI/R9BbSr6PM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50542},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"701af4acd63ec51c99a3080091694060e339d9d7","scripts":{"test":"jest src/","build":"tsc --build","clean":"tsc --build --clean","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/4bitlabs.bits.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v20.15.1+arm64 (darwin)","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"20.15.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_2.0.7_1722111856016_0.5535185689871918","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@4bitlabs/readers","version":"3.0.0","keywords":["bitreader","bits"],"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","_id":"@4bitlabs/readers@3.0.0","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"homepage":"https://32bitkid.github.io/4bitlabs.bits/modules/_4bitlabs_readers.html","bugs":{"url":"https://github.com/32bitkid/4bitlabs.bits/issues"},"dist":{"shasum":"119595fe49e4b793b14c18f195171268c173fc1a","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-3.0.0.tgz","fileCount":33,"integrity":"sha512-jYUlTK3c+591ZiFeCFv9uTvxgTV63Uy7MHFGVESvVKSd9d7rVr87AOOjiUUlNhZdJ8NXa+zDGhyHYiiLX3oUBA==","signatures":[{"sig":"MEUCIHMeGv2vHxlcCx+m0X3/yWP6MDnKuPi0HlqHNi2ED3N4AiEA8FA8d29c8+fEcN+YUOW8gQjrZZQqETgd8iCfsl9FqLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50452},"type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"aeafbebac85dfbdc78525783292536cdbed45be6","scripts":{"test":"vitest run","build":"tsdown","clean:wipe":"rimraf ./dist"},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"repository":{"url":"git+https://github.com/32bitkid/4bitlabs.bits.git","type":"git"},"_npmVersion":"11.18.0","description":"A collection of low-level bit-readers for byte-arrays","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readers_3.0.0_1784335806188_0.281232575415562","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@4bitlabs/readers","version":"3.0.1","description":"A collection of low-level bit-readers for byte-arrays","keywords":["bitreader","bits"],"type":"module","exports":"./dist/index.js","types":"./dist/index.d.ts","homepage":"https://32bitkid.github.io/4bitlabs.bits/modules/_4bitlabs_readers.html","repository":{"type":"git","url":"git+https://github.com/32bitkid/4bitlabs.bits.git"},"bugs":{"url":"https://github.com/32bitkid/4bitlabs.bits/issues"},"scripts":{"clean:wipe":"rimraf ./dist","build":"tsdown","test":"vitest run"},"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","gitHead":"e781617fab1192618c80f767341c2db6be7c00aa","_id":"@4bitlabs/readers@3.0.1","_nodeVersion":"22.23.1","_npmVersion":"lerna/9.0.7/node@v22.23.1+arm64 (darwin)","dist":{"integrity":"sha512-yVmumsnDGxPSmz+N8nl+FLN8QY7I1VU0HOTzXIeGIOmap1pjiw0u/0JSYYKYIc/sXT5QuI61JGN4sWGvM9A8/g==","shasum":"b85784b4765877d9b6e5af128252ffb7bbce937a","tarball":"https://registry.npmjs.org/@4bitlabs/readers/-/readers-3.0.1.tgz","fileCount":33,"unpackedSize":50559,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGufsp0RJsEpJiya2MUA8N/MPR+PijSgtkl4UJjZPkwdAiBarQm8RmUeEB0a2rHC7SkREUNf/Mle5NPS1JWSyiNm6g=="}]},"_npmUser":{"name":"32bitkid","email":"32bitkid@gmail.com"},"directories":{},"maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/readers_3.0.1_1785386323412_0.2523692800849533"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-20T19:58:19.796Z","modified":"2026-07-30T04:38:43.741Z","1.0.0":"2023-11-20T19:58:20.092Z","1.1.0":"2023-11-24T01:50:23.764Z","1.2.0":"2023-11-26T18:45:22.863Z","2.0.0":"2024-03-10T16:56:44.148Z","2.0.1":"2024-03-12T19:34:03.910Z","2.0.2":"2024-03-14T20:02:00.262Z","2.0.3":"2024-03-22T06:15:25.994Z","2.0.4":"2024-04-05T04:40:19.353Z","2.0.5":"2024-05-13T19:47:04.421Z","2.0.6":"2024-06-16T00:51:12.918Z","2.0.7":"2024-07-27T20:24:16.245Z","3.0.0":"2026-07-18T00:50:06.320Z","3.0.1":"2026-07-30T04:38:43.569Z"},"bugs":{"url":"https://github.com/32bitkid/4bitlabs.bits/issues"},"author":{"name":"J. Holmes","email":"j@holmes.codes"},"license":"ISC","homepage":"https://32bitkid.github.io/4bitlabs.bits/modules/_4bitlabs_readers.html","keywords":["bitreader","bits"],"repository":{"type":"git","url":"git+https://github.com/32bitkid/4bitlabs.bits.git"},"description":"A collection of low-level bit-readers for byte-arrays","maintainers":[{"name":"32bitkid","email":"32bitkid@gmail.com"}],"readme":"# @4bitlabs/readers \n\n[![License][license]][npm] \n[![NPM Version][version]][npm] \n[![NPM Downloads][dl]][npm]\n[![Ko-fi][kofibadge]][kofi]\n\n[npm]: https://www.npmjs.com/package/@4bitlabs/readers\n[version]: https://img.shields.io/npm/v/%404bitlabs%2Freaders\n[license]: https://img.shields.io/npm/l/%404bitlabs%2Freaders\n[dl]: https://img.shields.io/npm/dy/%404bitlabs%2Freaders\n[kofibadge]: https://shields.io/badge/ko--fi-donate-ff5f5f?logo=ko-fi&style=for-the-badgeKo-fi\n[kofi]: https://ko-fi.com/32bitkid\n\nA collection of bit-readers for javascript and typescript.\n\n## Installation\n\nUsing npm:\n\n```shell\n$ npm install --save @4bitlabs/readers\n```\n\n## Documentation\n\nFull documentation for the library can be found [here](https://32bitkid.github.io/4bitlabs.bits/modules/_4bitlabs_readers.html)\n\n## Usage\n\n```js\nimport { createBitReader } from '@4bitlabs/readers';\nconst reader = createBitReader(sourceData);\n\n// ...\n\nconst firstTenBits = reader.read32(10);\n```\n\n## What is a bit-reader?\n\nA bit-reader allows for bits level access to a sequence of bytes, allowing bit-level reads that easily cross byte-level\nboundaries. You can think of a bit-reader like a long sequence of bits that can be _shifted_ off, providing access to\nlater bits. Consider:\n\n```js\nconst source = Uint8Array.of(0b1111_0011, 0b1100_1111, 0b1010_1010);\n```\n\nIf you wanted the _most-significant_ 4-bits of this byte sequence, you could use a bitmask and a bitwise shifts:\n\n```js\nconst value = (source[0] & 0b1111_0000) >>> 4; // 15\n```\n\nThis can be useful for simple encoded data, however, can become unweildly when crossing multiple bytes. Let's say you\nwanted to get the bits\n\n```text\n        From           To\n         |-------------|\n         v             v\n0b1111_0011_1100_1111_1010_1010\n```\n\nWith bitwise operators on a `Uint8Array`, you'd have to:\n\n```js\nconst value =\n  // select and shift the most-significant bits\n  ((source[0] & 0b0000_0011) << 10) |\n  // select and shift the middle bits\n  (source[1] << 2) |\n  // select and shift the least-significant bits\n  ((source[2] & 0b1100_0000) >>> 6);\n```\n\nWith a bit-reader, you can instead say:\n\n```js\nconst reader = createBitReader(source);\nreader.skip(6); // skip the first 6 bits\nconst value = reader.read(12); // take the next 12 bits\n```\n\nThis can be very useful when parsing densely-packed data-structures, especially when they use _variable-length_ encoding.\n\n## Limitations\n\nAs of the _initial_ version, both `MsbReader` and `AsyncBitReader` only support a maximum of **32-bit** reads at time.\nHowever, those **32-bits** do not need to be _byte-aligned_ bits, and can occur anywhere in the bitstream. This limitation\nis due to the precision of the bitwise operators in javascript. In the future, this might be addressed to allow for\n53-bit reads, the maximum-safe integer size for double-precision numbers.\n\n## License\n\n[ISC](https://github.com/32bitkid/4bitlabs.bits/blob/HEAD/libs/readers/LICENSE.txt)","readmeFilename":"README.md"}