{"_id":"compact-encoding-bitfield","_rev":"4-03174ce9e27bf1b4df7772993744bd8b","name":"compact-encoding-bitfield","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"compact-encoding-bitfield","version":"1.0.0","author":{"name":"Kasper Isager Dalsgarð","email":"kasper@funktionel.co"},"license":"ISC","_id":"compact-encoding-bitfield@1.0.0","maintainers":[{"name":"kasperisager","email":"kasperisager@gmail.com"}],"homepage":"https://github.com/compact-encoding/compact-encoding-bitfield#readme","bugs":{"url":"https://github.com/compact-encoding/compact-encoding-bitfield/issues"},"dist":{"shasum":"39f923263dffb68b266b6cb9dc0bae2d42cf5c4a","tarball":"https://registry.npmjs.org/compact-encoding-bitfield/-/compact-encoding-bitfield-1.0.0.tgz","fileCount":4,"integrity":"sha512-3nMVKUg+PF72UHfainmCL8uKvyWfxsjqOtUY+HiMPGLPCTjnwzoKfFAMo1Ad7nwTPdjBqtGK5b3BOFTFW4EBTg==","signatures":[{"sig":"MEUCIDqiPdShAe6T2ZCchMMfr30tBTH/ba3I6akW38Qo0vKCAiEAwzEjMB9Dn8fKT06HGIfJ9MOz46v5bnosCIKh7li/S3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJib7loACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKyQ//ZbNI28KAG0eJDqBNvXWBiaF7O8IUB1izFH1RcTfu7X0nQTj+\r\n+CzOQs9Mqdh1okaodgz2iTCMCRgChzd0pI4Y1z+RcHLIvIBaZgS3IsfOXHI2\r\n5z79n7yritgjgXAwcKwgsP7jQKAoXVx05PNdA6RkRyNxi+MHZgwaj0HW/QRD\r\ng1bTqD8XRgeR9/xqxUh1p6cN+JpYvbALZwqGQpPNmxXTpRyKaCvFyevZ1T8U\r\nMxEf9e2hVIC0nmp+tnoYMfY+bgj5wo8uCtFpTle3qA405FV2caUP5EIzDi7l\r\nBXpEAwmvIFLEXNRUMOpWsCq/Imp5QiRx8SvACHr4FtARvptNIzZO2nE8nCet\r\n+UJO/48Bg+XrHn1yV+ARGkkKyLsqdoCRFmoqFUpl0nfT3RXMAtA5slcwKz/P\r\nQegs7cT3gIYX4TH7OPCGhGgwLlYSm+b8cpWZxUDlDVanf3T/vJWds9unzQ4J\r\nbhhCJDhsdtl0RulGDHqPMmhQ5OYi9tYkX5iIjyO+mbXAynR1jInCGFYU7BHJ\r\nkAx7uCVaWxk9zgWRcH7Q/JfMMDLET/aIXK0VbJVOp8+yfcW59pC1enrmzZK+\r\nPBCvOy5rP9tDxJeaf4H0+klrIFugd4EZk9CC/JckqzhpEQ8EMO7pxv6voibM\r\nxqIBXov3OOuYemkLvVHx3oZEBXp6Rt1w99s=\r\n=lUWf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"7913e76973c5e6ca0fa59ce75c4db37a441e30bc","scripts":{"test":"standard && brittle test.mjs"},"_npmUser":{"name":"kasperisager","email":"kasperisager@gmail.com"},"standard":{"ignore":["__snapshots__/**"]},"repository":{"url":"git+https://github.com/compact-encoding/compact-encoding-bitfield.git","type":"git"},"_npmVersion":"8.5.5","description":"Compact codec for bitfields","directories":{},"_nodeVersion":"17.8.0","dependencies":{"compact-encoding":"^2.4.1"},"_hasShrinkwrap":false,"devDependencies":{"brittle":"^1.3.5","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/compact-encoding-bitfield_1.0.0_1651489128546_0.5218683904577393","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"compact-encoding-bitfield","version":"1.1.0","description":"Compact codec for bitfields","main":"index.js","scripts":{"format":"prettier --write .","lint":"prettier --check . && lunte","test":"npm run test:node && npm run test:bare","test:node":"brittle-node --coverage test.mjs","test:bare":"brittle-bare --coverage test.mjs"},"repository":{"type":"git","url":"git+https://github.com/compact-encoding/compact-encoding-bitfield.git"},"author":{"name":"Holepunch"},"license":"Apache-2.0","bugs":{"url":"https://github.com/compact-encoding/compact-encoding-bitfield/issues"},"homepage":"https://github.com/compact-encoding/compact-encoding-bitfield#readme","imports":{"util":{"bare":"bare-utils","default":"util"}},"dependencies":{"compact-encoding":"^3.0.0"},"devDependencies":{"bare-utils":"^1.5.1","brittle":"^3.1.0","lunte":"^1.3.0","prettier":"^3.6.2","prettier-config-holepunch":"^1.0.0"},"gitHead":"1a2a7101dbf735070d66103d350e3db82d8bb9aa","_id":"compact-encoding-bitfield@1.1.0","_nodeVersion":"24.13.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-F6wliSKHi50BsBStmnsRJAzJgYSIYzdfSe3M0oHj4uQ1RcctJK/NQVD7wF51bj/DBMne2i5gUxrGUFkNZQns5w==","shasum":"dbdd1e2e7c473dcafa47b8f7ae6d715fa9e3412e","tarball":"https://registry.npmjs.org/compact-encoding-bitfield/-/compact-encoding-bitfield-1.1.0.tgz","fileCount":4,"unpackedSize":15661,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCqY4tXLnKmCx4nsftF5OS/kpPV/aQ+YBI0DCDpU3W/hAIgbJ45JCH8ynKDhyG2a1J9ah/ZSJbPL6aGd5E5gKWPtqE="}]},"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/compact-encoding-bitfield_1.1.0_1778000328829_0.11139444218938777"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-02T10:58:48.546Z","modified":"2026-05-05T16:58:49.089Z","1.0.0":"2022-05-02T10:58:48.695Z","1.1.0":"2026-05-05T16:58:48.979Z"},"bugs":{"url":"https://github.com/compact-encoding/compact-encoding-bitfield/issues"},"author":{"name":"Holepunch"},"license":"Apache-2.0","homepage":"https://github.com/compact-encoding/compact-encoding-bitfield#readme","repository":{"type":"git","url":"git+https://github.com/compact-encoding/compact-encoding-bitfield.git"},"description":"Compact codec for bitfields","maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"readme":"# compact-encoding-bitfield\n\n[compact-encoding](https://github.com/compact-encoding/compact-encoding) codec for bitfields. Uses a variable length encoding that is ABI compatible with `cenc.uint`.\n\n```sh\nnpm install compact-encoding-bitfield\n```\n\n## Usage\n\n```js\nconst cenc = require('compact-encoding')\nconst bitfield = require('compact-encoding-bitfield')\n\nconst buffer = cenc.encode(bitfield(8), 0b1110_1011)\n// <Buffer fd eb 00>\n\ncenc.decode(bitfield(8), buffer)\n// <Buffer eb>\n```\n\nBitfields are represented as buffers. For each byte, the least significant bit denotes the first bit and the most significant bit denotes the last bit. For example, bit `0` will be the least significant bit of the first byte and bit `15` will be the most significant bit of the second byte.\n\nThe encoding will convert numbers to buffers. Buffers may also be passed directly and will be returned on decode.\n\n## ABI\n\nDepending on `length`, the bitfield is stored using a variable number of bytes:\n\n1. `length < 8`: 1 byte with no prefix.\n2. `length <= 16`: 2 bytes with a `0xfd` prefix.\n3. `length <= 32`: 4 bytes with a `0xfe` prefix.\n4. `length <= 64`: 8 bytes with a `0xff` prefix.\n\n`length` must not exceed 64 bits.\n\n## License\n\nApache 2.0\n","readmeFilename":"README.md"}