{"_id":"@bcts/multipart-ur","_rev":"11-bb9404b5186e804fcae40d7a92ed5daf","name":"@bcts/multipart-ur","dist-tags":{"beta":"1.0.0-beta.6","latest":"1.0.0-beta.6"},"versions":{"1.0.0-beta.0":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.0","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.0","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"7ae73c148202e303769ca4bf72d886aa2326e476","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.0.tgz","fileCount":34,"integrity":"sha512-zArzhy6cVlS5iiiEIWmn4cE/KRlhlLxxxgGGyZtBdw+pxfzB8HN7HWt/VjSjdLtUos7+GIsQFBmQyO6mTrYQDw==","signatures":[{"sig":"MEYCIQCKbnWUfrI8YksPej9QTz1qD6N0+X/9ZHZx6OSzeQQWVgIhALAVCFdukFkSIjAU0IpOBf7pd0MFGn6k3k0hakXhfRr3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965474},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"ae45f944417bf7a62c23834ab4ca8e02e903daee","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run clean && bun run build && bun test"},"_npmUser":{"name":"leonardocustodio","email":"leonardo@custodio.me"},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.6.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.1","tsdown":"^0.21.0","vitest":"^4.1.5","typedoc":"^0.28.19","prettier":"^3.8.3","commander":"^14.0.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.0","@types/node":"^25.6.0","@bcts/eslint":"workspace:*","@types/omggif":"^1.0.5","@bcts/tsconfig":"workspace:*","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.0_1777302052467_0.4869442468285101","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.1","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.1","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"9e79b987ef49b1008064a83d9204c2042a094a22","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.1.tgz","fileCount":34,"integrity":"sha512-FH6biZ8M6mLIE/n0/dLO9o2kTOUJkEukcHlhFlAIhBC0TUkojhi9eTpyC2vWHqIR38wRO3IPPgPrqAIQq2iM2w==","signatures":[{"sig":"MEUCIQDOkYyLqkKHwXuCOMbooBSjNtFIeOZeIwq1IkxLm6YLfgIgWnhcBq8P12rSANeyd8f9yJmx8M/2KYvm+qOyRsi3a9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":970219},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"11234f7181005794b6f668f053be3a3eff25ef01","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"bun run clean && bun run build && bun test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.13.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","tsdown":"^0.22.0","vitest":"^4.1.7","typedoc":"^0.28.19","prettier":"^3.8.3","commander":"^14.0.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.1","@types/node":"^25.9.1","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.1_1779920382225_0.8037387802611828","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.2","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.2","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"948d053eabf44bfa23dd6330d4a3395c99c656e0","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.2.tgz","fileCount":33,"integrity":"sha512-e6CST+8nwWvrPDF2ZLns56Q8w88Sm+o62OJvSybf/FVOQza2+Xi/iwrOzVNh0DQH1LDi+5/c0dJydjwtMfrNyg==","signatures":[{"sig":"MEUCIQC0YjpbtSr+qoFjG6KHxtG/33dZwkmwmLvy5CRfQXwd4QIgRJYmfbCvkfi7RnQryHdnafOb0nDOwLQRfaGwhWixUqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":965668},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"ce36e1a5824eb1c285514b4955dde48b0082b8d8","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.13.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.5.0","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","prettier":"^3.8.4","commander":"^15.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.2","@types/node":"^25.9.3","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.2_1781646938814_0.8159609125573748","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.3","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.3","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"5ed02b2fc69ed589789f0bbdad933353f81ac3e5","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.3.tgz","fileCount":33,"integrity":"sha512-05ZXVNZBkX6cI8+wwCAXrT2wmlNjGZWboVBiElY6cTvC2R9fYodh9MVUrpY32e4IiD+3Mc7RLAjPEYl+f039dQ==","signatures":[{"sig":"MEQCIDRZg8ydYiY17YDIKBfUNzb51Ayki1V1KsYkk+6eJ5z9AiApX/gOuR7nbTfm3mWD4abtVHEUPnYQY3B4bKX2DfzWvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":965732},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"ca3bfdde5e9109279fbd2a00b9e725ea0a9c1e8e","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.13.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.5.0","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","prettier":"^3.8.4","commander":"^15.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.3","@types/node":"^25.9.3","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.3_1782167587609_0.9143392456754089","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.4","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.4","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"6c7e624f9efc494e74b0e8eaeec9098d1f2b6d0f","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.4.tgz","fileCount":33,"integrity":"sha512-rz3p/k4tW3F0rWlbxHEJ7pKVt8KTnTGckTMOXPnqL7JqN9blMnn2u0UW9kA4FLxb0PvnZ1mADUBRtHcpbDB4WQ==","signatures":[{"sig":"MEUCIQDbqN2sJJYD8OKZdQqq1pCZk+xBCcuGj3aERKbppVi2gAIgA6EzLL7aWwjt/RhhGsphLJT5COq0tJD2YrsP3kf+9OE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":965703},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"a8102e623e9d806cb6114252bf724514b9da3bf9","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.13.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","prettier":"^3.9.1","commander":"^15.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.4","@types/node":"^26.0.1","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.4_1782700731217_0.5936992922630058","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.5","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.5","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"542d91adf829ed0e3ec88232e220f1a1d007358f","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.5.tgz","fileCount":33,"integrity":"sha512-1FSh/BDd9i8+c8kYMkZm4odvuHqv6L9BLHK87UavXeba3G/X/iaF7Y7V9RM5kSXisbzsnuO+QEwGStxx/Y1EQA==","signatures":[{"sig":"MEUCIBFxgZDQmtBsruePXWBL6xy4GaHURNlkg+O+UxC9Vx6NAiEAyD8w7b0b2NlnVArhCWSCelf2THKv8BvkDUHPzNeQ/NQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":965703},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"42b792571b335d447f3b20ba553a4f291c82e55d","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.13.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","tsdown":"^0.22.3","vitest":"^4.1.9","typedoc":"^0.28.19","prettier":"^3.9.1","commander":"^15.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.5","@types/node":"^26.0.1","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.5_1782911495560_0.7099553845701418","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@bcts/multipart-ur","version":"1.0.0-beta.6","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","_id":"@bcts/multipart-ur@1.0.0-beta.6","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"bin":{"mur":"dist/bin/mur.cjs"},"dist":{"shasum":"cf7729fb7787bb1ef70699baf5c4c786bfeaee6c","tarball":"https://registry.npmjs.org/@bcts/multipart-ur/-/multipart-ur-1.0.0-beta.6.tgz","fileCount":33,"integrity":"sha512-c5xyq5Cjy9TmRe1MQfWPJhIHBiEQj22h/zeLwT1P1u0xAJDb2xj+Isyon4gi7wpnjlBUXySwLPuE2PebfB8H3w==","signatures":[{"sig":"MEQCIE4g8NUgn25QvJaXn5zcNCADENII3hhocn5zUD+5wEjWAiBY1DDr7QFZ/JO2MJqJXYuIxa1h4MIjeWIpx9hhWwgq8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fmultipart-ur@1.0.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":964247},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","browser":"dist/index.iife.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"e513fbff48a0c657e204ce84a6a71b943533e90d","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:94b14112-aa90-435f-8f81-1cdeda0283d8"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"_npmVersion":"11.16.0","description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"gifenc":"^1.0.3","omggif":"^1.0.10","jpeg-js":"^0.4.4","fast-png":"^8.0.0","webp-wasm":"^1.0.6","qrcode-generator":"^2.0.4","@resvg/resvg-wasm":"^2.6.2","@bcts/uniform-resources":"^1.0.0-beta.6"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","tsdown":"^0.22.14","vitest":"^4.1.10","typedoc":"^0.28.20","prettier":"^3.9.6","commander":"^15.0.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@bcts/dcbor":"^1.0.0-beta.6","@types/node":"^26.1.2","@bcts/eslint":"^0.1.0","@types/omggif":"^1.0.5","@bcts/tsconfig":"^0.1.0","@types/qrcode-generator":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/multipart-ur_1.0.0-beta.6_1785340494349_0.1351323131082962","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-27T15:00:52.329Z","modified":"2026-07-29T15:56:45.246Z","1.0.0-beta.0":"2026-04-27T15:00:52.720Z","1.0.0-beta.1":"2026-05-27T22:19:42.379Z","1.0.0-beta.2":"2026-06-16T21:55:39.017Z","1.0.0-beta.3":"2026-06-22T22:33:07.766Z","1.0.0-beta.4":"2026-06-29T02:38:51.378Z","1.0.0-beta.5":"2026-07-01T13:11:35.780Z","1.0.0-beta.6":"2026-07-29T15:54:54.550Z"},"bugs":{"url":"https://github.com/paritytech/bcts/issues"},"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"BSD-2-Clause-Patent","homepage":"https://bcts.dev","keywords":["multipart-ur","ur","qrcode","blockchain-commons","fountain","animated","encoding"],"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/multipart-ur"},"description":"Multipart UR QR code generator - single-frame and animated fountain-coded QR sequences with optional logo overlay.","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"readme":"# Blockchain Commons Multipart UR for TypeScript\n\n> Disclaimer: This package is under active development and APIs may change.\n\n## Introduction\n\n`@bcts/multipart-ur` is a multipart [Uniform Resource (UR)](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md) QR code generator. It produces single-frame and animated fountain-coded QR sequences — suitable for transmitting arbitrarily large UR-encoded payloads through an airgap — with an optional logo overlay.\n\nThis package provides:\n\n- Single-frame QR code rendering from raw bytes or UR strings\n- Logo overlay with module-aligned compositing (square or circle clear shape)\n- Animated multipart fountain-coded QR sequences (GIF output)\n- ProRes 4444 encoding via optional ffmpeg integration (Node only)\n- Frame dump as numbered PNGs for custom pipelines\n- Configurable QR error correction level, colors, quiet zone, and module size\n- Density safety checks to prevent unreadable QR codes\n- CLI tool `mur` with `single`, `animate`, and `frames` subcommands\n\nThe library is browser-compatible. The `mur` CLI and the `encodeProres` helper require Node.js; ProRes output additionally requires `ffmpeg` on `PATH`.\n\n## Specification\n\nBuilt on top of the [Uniform Resources (UR)](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md) specification — specifically its multipart fountain-coded form for QR animations.\n\n## Rust Reference Implementation\n\nThis TypeScript implementation is based on [bc-mur-rust](https://github.com/BlockchainCommons/bc-mur-rust) **v0.1.0** ([commit](https://github.com/BlockchainCommons/bc-mur-rust/tree/15c7c701d0b7bce8215d092014510595d577f827)).\n\n## Install\n\n```sh\nbun add @bcts/multipart-ur\n```\n\n## Usage\n\n```ts\nimport { Color, CorrectionLevel, renderUrQr } from \"@bcts/multipart-ur\";\n\nconst img = renderUrQr(\n  \"ur:bytes/hdcxdwinvezm\",\n  CorrectionLevel.Low,\n  512, // target pixel size (square)\n  Color.BLACK,\n  Color.WHITE,\n  1, // quiet zone modules\n  null, // no logo\n);\nconst pngBytes = img.toPng();\n```\n\n## CLI\n\n```sh\nmur single ur:bytes/hdcxdwinvezm -o out.png\nmur animate ur:bytes/... -o out.gif\nmur frames ur:bytes/... -o out_frames/\n```\n","readmeFilename":"README.md"}