{"_id":"@alessiofrittoli/crypto-encoder","_rev":"17-b649094631af0483a0c4cb14ca432baa","name":"@alessiofrittoli/crypto-encoder","dist-tags":{"latest":"3.3.0"},"versions":{"0.1.0":{"name":"@alessiofrittoli/crypto-encoder","version":"0.1.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@0.1.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"322a39ad8c16c891ce200c5b97d97bae324d14ff","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-0.1.0.tgz","fileCount":15,"integrity":"sha512-8RoLjfK/O3Qnppvi7EgoktJhAw7BP9q0pEHcKZV06d2M95Tm8CsHPxqRpCnSFUuK1xsZiaveh+V7j31mPc4YGg==","signatures":[{"sig":"MEQCIBdIJHfsMd2j0nJmdLsBQk95/TQHd8oFEaL64M8DFyjdAiB7YE7YfpTn2pKB8d7dLLguFYgzP0vbMw8Q7iO7aY67EA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11398},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"}},"gitHead":"dd11ee74a3de94efe3c47ef286fb2a2aafd27df5","scripts":{"lint":"eslint","test":"jest --watchAll --verbose","build":"eslint && pnpm test:ci && pnpm test:ci:jsdom && tsup","test:ci":"jest --ci --verbose","test:jest":"pnpm test jest.test.ts","test:jsdom":"JSDOM=true pnpm test","test:base64":"pnpm test base64.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:base64:jsdom":"JSDOM=true pnpm test:base64"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.5","eslint":"^9.16.0","globals":"^15.12.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.16.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@jest/globals":"^29.7.0","typescript-eslint":"^8.16.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_0.1.0_1733075561032_0.5029838683480676","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@alessiofrittoli/crypto-encoder","version":"1.0.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@1.0.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"1a7ea440fb44e6ef6f585a349432c2c6c56efa7d","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-1.0.0.tgz","fileCount":15,"integrity":"sha512-s/LQRN6n28MdiZMDIZowvY2p9bswKNZ6WsYs+NvXgr72KlEiQ0r8ZS8ouixRj425e9bOGcuMF0ksX0t3g4EA6w==","signatures":[{"sig":"MEUCIDvfI7EM7l7RHkmJ25njrVUELXNj0QqpiMXFNEBcvXTfAiEA9d+Njj6AQ5N6cZvEWF+m/rssgmp/ALT50SvyzZ4Qchs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32988},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"}},"gitHead":"0f125524f1e24255d8b023f2c35a8139d83d1b3f","scripts":{"lint":"eslint","test":"jest --watchAll --verbose","build":"eslint && pnpm test:ci && pnpm test:ci:jsdom && tsup","test:ci":"jest --ci --verbose","test:jest":"pnpm test jest.test.ts","test:jsdom":"JSDOM=true pnpm test","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^0.3.1","@alessiofrittoli/crypto-buffer":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.16.0","globals":"^15.13.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.16.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@jest/globals":"^29.7.0","typescript-eslint":"^8.17.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_1.0.0_1733338127717_0.18929081616550714","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@alessiofrittoli/crypto-encoder","version":"1.1.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@1.1.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"7a6671cefe8a256291df9fcccccbd141a7d124e6","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-1.1.0.tgz","fileCount":15,"integrity":"sha512-qq/QPPaRF+hNEV2Szc7xlqef8N4NfrOT4vJS87g4d4WAVYLpPps24Hq8a8bFI0MH+q9ZppOT7UBUHZGT3TRiyQ==","signatures":[{"sig":"MEYCIQDXyT34bWiixa5KVhODbu40tpjdSDmg5Dxe3l6xXXXGGAIhAJw4NmtXFCJP9LmUe9po2n92zEgUaCvkW6wfQckCsMA7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32918},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"}},"gitHead":"2b39adc8bc31fbd0ca69ab9cb5d88b21889c7d16","scripts":{"lint":"eslint","test":"jest --watchAll --verbose","build":"eslint && pnpm test:ci && pnpm test:ci:jsdom && tsup","test:ci":"jest --ci --verbose","test:jest":"pnpm test jest.test.ts","test:jsdom":"JSDOM=true pnpm test","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^0.3.2","@alessiofrittoli/crypto-buffer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.16.0","globals":"^15.13.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.16.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@jest/globals":"^29.7.0","typescript-eslint":"^8.17.0","jest-environment-jsdom":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_1.1.0_1733430402296_0.452081854402385","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@alessiofrittoli/crypto-encoder","version":"2.0.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.0.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"acf716ad28492acb905e561aa9703674c0860760","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.0.0.tgz","fileCount":15,"integrity":"sha512-9MmQ6gNV/o6HLN9JN8PEflAxfLyRkkU3oK86nxEFdTja/QU5IcEyB9s0VoEMsfNXcG3sSYY193YAK/lpxAvJQQ==","signatures":[{"sig":"MEYCIQCY4pMaZNKWGvWLYpbCsCyVfiEZzz97ZQXgCNkRYIQ89gIhAJaCuJRPWw88ouZGP+kR6Zgm52ipY6ICjf7S9wIt2+ww","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33294},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"}},"gitHead":"cad5eb4919cb9a209c0905dc65cf03e8d5b9d725","scripts":{"lint":"eslint","test":"pnpm test:watch","build":"pnpm lint && pnpm test:ci && pnpm test:ci:jsdom && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:jest":"pnpm test:watch jest.test.ts","test:jsdom":"JSDOM=true pnpm test:watch","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:coverage":"pnpm test:watch --coverage","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:ci:coverage":"pnpm test:ci --coverage","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64","test:coverage:jsdom":"JSDOM=true pnpm test:coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:jsdom:serve":"JSDOM=true pnpm test:coverage:serve"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^1.5.0","@alessiofrittoli/crypto-buffer":"3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.17.0","globals":"^15.14.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.17.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","http-server":"^14.1.1","concurrently":"^9.1.1","@jest/globals":"^29.7.0","typescript-eslint":"^8.18.2","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.0.0_1735510855230_0.9960485881782684","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@alessiofrittoli/crypto-encoder","version":"2.0.1","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.0.1","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"0b3bbd29bcb24b2419b2fec07db6b9c3a99002fd","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.0.1.tgz","fileCount":15,"integrity":"sha512-FFYBSdoEB2Dlo5+ZRmdUgXxoHpDbKwsU4zIWmT6UN/SzGnv8ldqgtUQEvmMECap47BYRhjHjjxKP8TQGE2KM6g==","signatures":[{"sig":"MEQCIAd7ckf8JORGOCtf1Mc8mBarydnoQdDsSc26CS54p+7GAiB18D87OZU9ptgbKoUxsqvOYiA8DyTb8PCMrq3f1RCQeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33558},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"}},"gitHead":"f28adfe632dab303397911baa970b0011b5a23ac","scripts":{"lint":"eslint","test":"pnpm test:watch","build":"pnpm lint && pnpm test:ci && pnpm test:ci:jsdom && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:jest":"pnpm test:watch jest.test.ts","test:jsdom":"JSDOM=true pnpm test:watch","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:coverage":"pnpm test:watch --coverage","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:ci:coverage":"pnpm test:ci --coverage","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64","test:coverage:jsdom":"JSDOM=true pnpm test:coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:jsdom:serve":"JSDOM=true pnpm test:coverage:serve"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^1.5.0","@alessiofrittoli/crypto-buffer":"3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.17.0","globals":"^15.14.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.17.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","http-server":"^14.1.1","concurrently":"^9.1.1","@jest/globals":"^29.7.0","typescript-eslint":"^8.18.2","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.0.1_1735511160301_0.7199890263157724","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@alessiofrittoli/crypto-encoder","version":"2.1.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.1.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"6b7fd9e9f65faf086a72855b81fd118707c36f69","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.1.0.tgz","fileCount":19,"integrity":"sha512-PzpWK3KezzWqI88iNkmA1JNWvVJu1XRh23D0LJOkBf0yiA3V1EmVu5r75lkfE52Ip660i1gnag269ezsB8vJkA==","signatures":[{"sig":"MEYCIQC3bFDRE4JwS+6lXQl4tB2Wzw/Pad8aPjfUTYXBf587QAIhAIiSLSav0Mr/3BcNQk9MC69V/6+znKf9EL4AbPgfwBFH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47510},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"gitHead":"ac58ee89377b77a9a7965e5b86fb59269b8be196","scripts":{"lint":"eslint","test":"pnpm test:watch","build":"pnpm lint && pnpm test:ci && pnpm test:ci:jsdom && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:jest":"pnpm test:watch jest.test.ts","test:jsdom":"JSDOM=true pnpm test:watch","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:encoder":"pnpm test encoder.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:coverage":"pnpm test:watch --coverage","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:ci:coverage":"pnpm test:ci --coverage","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64","test:encoder:jsdom":"JSDOM=true pnpm test:encoder","test:coverage:jsdom":"JSDOM=true pnpm test:coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:jsdom:serve":"JSDOM=true pnpm test:coverage:serve"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^1.5.0","@alessiofrittoli/crypto-buffer":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.17.0","globals":"^15.14.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.17.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.19.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.1.0_1735646723423_0.24150599445872611","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@alessiofrittoli/crypto-encoder","version":"2.1.1","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.1.1","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"50562eef0b90be8c2f7c90a6a04a6d7fd7f6caac","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.1.1.tgz","fileCount":19,"integrity":"sha512-HhT3+o5FFTC15yS6sFpDctQHcjNbto/b7DhGGTyugvvB0duUGlmv+sRguuL/PCU1jNMv0aMxxPZR2wVMIeBU1g==","signatures":[{"sig":"MEYCIQCOs5/Q5sjf4qBQ/iIQNUAVhLVVlUjjGfiUWWU7ckWIwgIhAIKXdy42gC49sr6//MsLXQQPiB1ysAnPtMq983JotmJd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47513},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"gitHead":"53f14c285922e2db33854de189f97aa89872512a","scripts":{"lint":"eslint","test":"pnpm test:watch","build":"pnpm lint && pnpm test:ci && pnpm test:ci:jsdom && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:jest":"pnpm test:watch jest.test.ts","test:jsdom":"JSDOM=true pnpm test:watch","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test base32.test.ts","test:base64":"pnpm test base64.test.ts","test:encoder":"pnpm test encoder.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:coverage":"pnpm test:watch --coverage","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:ci:coverage":"pnpm test:ci --coverage","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64","test:encoder:jsdom":"JSDOM=true pnpm test:encoder","test:coverage:jsdom":"JSDOM=true pnpm test:coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:jsdom:serve":"JSDOM=true pnpm test:coverage:serve"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"@alessiofrittoli/type-utils":"^1.5.0","@alessiofrittoli/crypto-buffer":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^16.4.7","eslint":"^9.17.0","globals":"^15.14.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","@eslint/js":"^9.17.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.19.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.1.1_1735647025898_0.7893283782093885","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@alessiofrittoli/crypto-encoder","version":"2.2.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.2.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"bf34e3cdce733cc66ebccbe7fc45d7ad6f7ee5b7","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.2.0.tgz","fileCount":27,"integrity":"sha512-pzecfqewuMhmnerpqdHBPbJNhu5dmKOn8UciGx4ONAg1wF7liCX+z76qct1o+CGZO67ba0zJ/qL8EBfUVYsSQg==","signatures":[{"sig":"MEUCIQCI5SpfgJ3ISXwXO9giMoWyiHbz/1KwW0RHh4yMiUwYsgIgTmLNCI2BzryCfW+rgtvUeoJ2zfoop7EewtmFIODSpN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149025},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"a2141af801444f9253d07f42b76bf800b3590ec8","scripts":{"//1a":"*********************************************************************","//1b":"*********************** BUILD - LINT - RELEASE **********************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm test:ci:jsdom && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:jest":"pnpm test:watch jest.test.ts","test:jsdom":"JSDOM=true pnpm test:watch","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:ci:jsdom":"JSDOM=true pnpm test:ci","test:coverage":"pnpm test:watch --coverage","test:jest:jsdom":"JSDOM=true pnpm test:jest","test:ci:coverage":"pnpm test:ci --coverage","test:base32:jsdom":"JSDOM=true pnpm test:base32","test:base64:jsdom":"JSDOM=true pnpm test:base64","test:encoder:jsdom":"JSDOM=true pnpm test:encoder","test:coverage:jsdom":"JSDOM=true pnpm test:coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:jsdom:serve":"JSDOM=true pnpm test:coverage:serve"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"@alessiofrittoli/type-utils":"^1.6.1","@alessiofrittoli/crypto-buffer":"3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","dotenv":"^16.4.7","eslint":"^9.22.0","globals":"^16.0.0","ts-jest":"^29.2.6","ts-node":"^10.9.2","@eslint/js":"^9.22.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.10","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.27.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.2.0_1742482133233_0.7252929290647263","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@alessiofrittoli/crypto-encoder","version":"2.3.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.3.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"d2891211dba91e0d574f89d1fdb181c79fe47e77","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.3.0.tgz","fileCount":27,"integrity":"sha512-ikptkRdd4TgFp1FkXED3GWhJTfRh1gzltJ3J//7JYum0tSBMMG1571hxYUutazAS6A8ShUUm+mTMRTATPDitig==","signatures":[{"sig":"MEQCIGTJy27fJbZffi3V5ejDvf5SEA7Qn5H8Zwc2U7WQ4FHNAiAYg9Ahk2PTehESlUy5tIVWPnv53PNY0njaPPuk1Ux3JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148263},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"1d0f162c2707a685dc7386d25c4e7a6df4fafeb1","scripts":{"//1a":"*********************************************************************","//1b":"*********************** BUILD - LINT - RELEASE **********************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && tsup","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","test:watch":"jest --watchAll --verbose","build:watch":"tsup --watch","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:ci:coverage":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"@alessiofrittoli/type-utils":"^1.7.0","@alessiofrittoli/crypto-buffer":"3.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","dotenv":"^16.4.7","eslint":"^9.22.0","globals":"^16.0.0","ts-jest":"^29.2.6","ts-node":"^10.9.2","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.27.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.3.0_1742643441645_0.11934909575811492","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@alessiofrittoli/crypto-encoder","version":"2.4.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@2.4.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"9ee7fb7f208b947a0c95b825a92c0f3761d36f96","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-2.4.0.tgz","fileCount":25,"integrity":"sha512-rR+pxvj55BzNuEfsYOxobAJwqA48F9Bvt4AEzd6WDd57FfIfewKqmMYyKQUgQSqo8iz9Fkz5xzCsM1ECIjzmVg==","signatures":[{"sig":"MEYCIQD80VZKGPuxoMSSM+s0r0FtHDs5JkZFEnzMaM75wct2RgIhANpZgckYePh6NX9TJB8rA4J1aubWBtSApRaO5bcpet5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41603},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"da841fdbd9a4730e580e32c8ea99339433d40eac","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.0.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","dotenv":"^16.5.0","eslint":"^9.26.0","globals":"^16.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","@eslint/js":"^9.26.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.31.1","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_2.4.0_1746272900483_0.22172051343967492","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@alessiofrittoli/crypto-encoder","version":"3.0.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.0.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"f194514b17014343ddc1f02161fce734a32eb645","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.0.0.tgz","fileCount":25,"integrity":"sha512-JQ8hTh3YVdVVsEqEF0h6wBD6uD9/1OOy+j694jffY3+RYcVh7R/ibmXjgcP+svxdIdUhjYsLoOCvfl2AgQ/Y9w==","signatures":[{"sig":"MEUCIDg3vEkpQIGgo0UDqDEvAJlcqjrmHXXUtNUrgbpP2sQ/AiEAwSsJaR4zhEaVB8H30B6xPhv4E9fNQ6QBwY4BeeSnEa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41272},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"99799a4471e398f4888c89730f7fbd127fff77a8","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.4.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.0","dotenv":"^16.5.0","eslint":"^9.27.0","globals":"^16.2.0","ts-jest":"^29.3.4","ts-node":"^10.9.2","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.22","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.33.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.0.0_1748368293021_0.20309283427415692","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@alessiofrittoli/crypto-encoder","version":"3.0.1","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.0.1","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"e7714d429c0b30471ddac34c04b7958eb94011a7","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.0.1.tgz","fileCount":25,"integrity":"sha512-PTJ9wkZfuoYHhN6hBf/IvOgJUDTaN2R0Zdl09QVO+txeYpu/ubANC3+gzpjZGFoImAkOS4NZQ+DENgKV49GMqQ==","signatures":[{"sig":"MEUCIQCbAn8SXYukPsPA+CuB55RHqPo68ijFGfQAmjcvIHdiLQIgVIwgrywzqakgbsYgMX3NC6gk6oakEze9ptTkCsmOKbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41304},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"8b532f72e4e7481d4a7af4c8c8f72d54ffac52b5","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.4.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.6.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.0","dotenv":"^16.5.0","eslint":"^9.27.0","globals":"^16.2.0","ts-jest":"^29.3.4","ts-node":"^10.9.2","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.23","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.33.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.0.1_1748372589846_0.20640799969880774","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@alessiofrittoli/crypto-encoder","version":"3.0.2","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.0.2","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"47bd09902e85705481ea3513b0d63f79bb1dd156","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.0.2.tgz","fileCount":25,"integrity":"sha512-UslzJuMUrwuhGkWtBMGmDRkkVcgx2Q8O8v3IinzXzhbaYlvnvPDKLoeuSZF5T0ege7CR5KejX7vOoktynCr/uw==","signatures":[{"sig":"MEUCIQCw6HvexfKw7/JVZh8CloNOWl/feGQtNr0uaIEszKRJlAIgCRTK1E/VG9FtRK61UWuDsk+u85ys/1XGIZAvHzGznLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41372},"main":"./dist/index.js","pnpm":{"onlyBuiltDependencies":["@alessiofrittoli/type-utils","esbuild"]},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"24a6927d10b42d92228993b21c46b53cf402515d","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.4.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.6.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.0","dotenv":"^16.5.0","eslint":"^9.27.0","globals":"^16.2.0","ts-jest":"^29.3.4","ts-node":"^10.9.2","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.23","http-server":"^14.1.1","concurrently":"^9.1.2","@jest/globals":"^29.7.0","typescript-eslint":"^8.33.0","jest-environment-jsdom":"^29.7.0","@alessiofrittoli/node-scripts":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.0.2_1748374083364_0.5526082471842011","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@alessiofrittoli/crypto-encoder","version":"3.1.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.1.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"51ce003b3c1ead7fb29b7e368371c9ecfb7ce6f8","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.1.0.tgz","fileCount":25,"integrity":"sha512-/LX12fOGX+mffVuQmf8lMC76DDL9RvB5ci7zgUrv6sJgO45766xAMBIK8GvVveibif4OIGNu+D45VZ/csoJhEQ==","signatures":[{"sig":"MEUCIQCyQs2RnojTZQ5s96L1Vmghn6vpuTfmureENK979haNrwIgWgr2t75C/FdDlz75cITWwTZjfAvsh0vbsgPUvA5+taU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41274},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"e2beab64b5e2796638b0b60b8bed33502498a567","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","actor":{"name":"alessiofrittoli","type":"user","email":"info@alessiofrittoli.it"},"email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.4.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","tsup":"^8.5.0","dotenv":"^16.6.0","eslint":"^9.29.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.29.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","http-server":"^14.1.1","concurrently":"^9.2.0","@jest/globals":"^30.0.3","typescript-eslint":"^8.35.0","jest-environment-jsdom":"^30.0.2","@alessiofrittoli/node-scripts":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.1.0_1751018929995_0.369151402851321","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@alessiofrittoli/crypto-encoder","version":"3.1.1","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.1.1","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"2bfca90a204562be00d5a4e8e9d70f1335595897","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.1.1.tgz","fileCount":25,"integrity":"sha512-TkUlvAjgwSIRRaXgHNkqEYGh7GqS5OAfFWCcugUaqsV02H38sfUSF4zJ58ZOs9jNbInQm9fEmmy+7+FaQXtxNg==","signatures":[{"sig":"MEUCIQCiSqkmCPFt1Ljd1PFlRwR50fDtp7fxXkSxzPTHZGpnQAIgC4PcxfeWA0zeV0pXYek2w3+xzrlBarWpJSqO5Y2bnZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40997},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./Base32":{"types":"./dist/Base32.d.ts","import":"./dist/Base32.mjs","require":"./dist/Base32.js"},"./Base64":{"types":"./dist/Base64.d.ts","import":"./dist/Base64.mjs","require":"./dist/Base64.js"},"./Encoder":{"types":"./dist/Encoder.d.ts","import":"./dist/Encoder.mjs","require":"./dist/Encoder.js"}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"3548a565d0e7fac2caaf06116fb9c12634879d27","scripts":{"dev":"NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/publish.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","actor":{"name":"alessiofrittoli","type":"user","email":"info@alessiofrittoli.it"},"email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.4.0","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.8.0","@alessiofrittoli/crypto-buffer":"3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","tsup":"^8.5.0","dotenv":"^16.6.0","eslint":"^9.29.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.29.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","http-server":"^14.1.1","concurrently":"^9.2.0","@jest/globals":"^30.0.3","typescript-eslint":"^8.35.0","jest-environment-jsdom":"^30.0.2","@alessiofrittoli/node-scripts":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.1.1_1751019207584_0.9638475443062349","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@alessiofrittoli/crypto-encoder","version":"3.2.0","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"author":{"url":"https://alessiofrittoli.it","name":"Alessio Frittoli","email":"info@alessiofrittoli.it"},"license":"MIT","_id":"@alessiofrittoli/crypto-encoder@3.2.0","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"dist":{"shasum":"baa8863b72a392be4a2de83be1ef34ee63d8da60","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.2.0.tgz","fileCount":25,"integrity":"sha512-aXMfDnCugnLZjcmwUBa7asNRtsUlerbt9d9cS02h8PNsArVQ3Ty066abUOuOJqIKhxanSFJl9ZXe+asjQFOLcA==","signatures":[{"sig":"MEUCIQCmIGbPVaDkgRMrY1a7L6ZfeBBNywZGazxe/RQtc4vbAwIgUI4VOdyFQlINi6hrG/omT7bgfXvUB/0r9+HoutcNBtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41368},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./Base32":{"import":{"types":"./dist/Base32.d.mts","default":"./dist/Base32.mjs"},"require":{"types":"./dist/Base32.d.ts","default":"./dist/Base32.js"}},"./Base64":{"import":{"types":"./dist/Base64.d.mts","default":"./dist/Base64.mjs"},"require":{"types":"./dist/Base64.d.ts","default":"./dist/Base64.js"}},"./Encoder":{"import":{"types":"./dist/Encoder.d.mts","default":"./dist/Encoder.mjs"},"require":{"types":"./dist/Encoder.d.ts","default":"./dist/Encoder.js"}}},"funding":[{"url":"https://github.com/sponsors/alessiofrittoli","type":"github"}],"gitHead":"43e55b788c4484576a9af1a6b673e411cb7130cd","scripts":{"dev":"cross-env NODE_ENV=development tsup --watch","//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","lint":"eslint","test":"jest --verbose","build":"pnpm lint && pnpm test:ci && pnpm build:prod","release":"node scripts/release.js --verbose --npm","test:ci":"jest --ci --verbose","build:prod":"cross-env NODE_ENV=production tsup","test:watch":"jest --watchAll --verbose","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent"},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"repository":{"url":"git+https://github.com/alessiofrittoli/crypto-encoder.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight TypeScript encoder/decoder library","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@alessiofrittoli/type-utils":"^1.9.0","@alessiofrittoli/crypto-buffer":"3.8.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.1","dotenv":"^17.2.3","eslint":"^9.39.1","globals":"^16.5.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","cross-env":"^10.1.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.1","http-server":"^14.1.1","concurrently":"^9.2.1","@jest/globals":"^30.2.0","typescript-eslint":"^8.48.1","jest-environment-jsdom":"^30.2.0","@alessiofrittoli/node-scripts":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-encoder_3.2.0_1764866186398_0.6226732881214099","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@alessiofrittoli/crypto-encoder","version":"3.3.0","description":"Lightweight TypeScript encoder/decoder library","author":{"name":"Alessio Frittoli","email":"info@alessiofrittoli.it","url":"https://alessiofrittoli.it"},"license":"MIT","funding":[{"type":"github","url":"https://github.com/sponsors/alessiofrittoli"}],"keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"repository":{"type":"git","url":"git+https://github.com/alessiofrittoli/crypto-encoder.git"},"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./Encoder":{"import":{"types":"./dist/Encoder.d.mts","default":"./dist/Encoder.mjs"},"require":{"types":"./dist/Encoder.d.ts","default":"./dist/Encoder.js"}},"./Base32":{"import":{"types":"./dist/Base32.d.mts","default":"./dist/Base32.mjs"},"require":{"types":"./dist/Base32.d.ts","default":"./dist/Base32.js"}},"./Base64":{"import":{"types":"./dist/Base64.d.mts","default":"./dist/Base64.mjs"},"require":{"types":"./dist/Base64.d.ts","default":"./dist/Base64.js"}}},"sideEffects":false,"scripts":{"//1a":"*********************************************************************","//1b":"******************** DEV - BUILD - LINT - RELEASE *******************","//1c":"*********************************************************************","dev":"cross-env NODE_ENV=development tsup --watch","build:prod":"cross-env NODE_ENV=production tsup","build":"pnpm lint && pnpm test:ci && pnpm build:prod","lint":"eslint","release":"node scripts/release.js --verbose --npm","//2a":"*********************************************************************","//2b":"***************************** UNIT TESTS ****************************","//2c":"*********************************************************************","test":"jest --verbose","test:watch":"jest --watchAll --verbose","test:ci":"jest --ci --verbose","//3a":"*********************************************************************","//3b":"************************ UNIT TESTS COVERAGE ************************","//3c":"*********************************************************************","test:coverage":"pnpm test:watch --coverage","test:coverage:ci":"pnpm test:ci --coverage","test:serve-coverage":"http-server ./coverage/lcov-report --gzip true -p 0 -o --silent","test:coverage:serve":"concurrently --prefix none --kill-others \"pnpm test:coverage\" \"pnpm test:serve-coverage\"","//4a":"*********************************************************************","//4b":"************************ TARGETED UNIT TESTS ************************","//4c":"*********************************************************************","test:base32":"pnpm test:watch base32.test.ts","test:base64":"pnpm test:watch base64.test.ts","test:encoder":"pnpm test:watch encoder.test.ts"},"devDependencies":{"@alessiofrittoli/node-scripts":"^3.3.0","@eslint/js":"^9.39.1","@jest/globals":"^30.2.0","@types/jest":"^30.0.0","@types/node":"^24.10.1","concurrently":"^9.2.1","cross-env":"^10.1.0","dotenv":"^17.2.3","eslint":"^9.39.1","globals":"^16.5.0","http-server":"^14.1.1","jest":"^30.2.0","jest-environment-jsdom":"^30.2.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.48.1"},"dependencies":{"@alessiofrittoli/crypto-buffer":"3.8.0","@alessiofrittoli/type-utils":"^1.9.0"},"_id":"@alessiofrittoli/crypto-encoder@3.3.0","gitHead":"5b49edbd3905aff0b1d68d26085b621c5f649b44","_nodeVersion":"22.15.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-QeFZQAnC8gr7F2/97J2Zv1pWFuMgfAgX6vEaH17KdJDSlFwNijce7tRLk4zqGGN6o3NUWBxMDWDkSBXZzEpBvg==","shasum":"312a5fe6d20a34feb7d66e6cd4f059dbd4a268b2","tarball":"https://registry.npmjs.org/@alessiofrittoli/crypto-encoder/-/crypto-encoder-3.3.0.tgz","fileCount":25,"unpackedSize":41368,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD0EKsVhejx19PGKzc7k0INVg82he62mfcwFn//jq8XDQIhAJLoYu53B1mlKT/NZMr1KlBWJ4UWyaaZPQ15BIY97bTi"}]},"_npmUser":{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"},"directories":{},"maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crypto-encoder_3.3.0_1764875280611_0.42691401689799946"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-01T17:52:40.950Z","modified":"2025-12-04T19:08:00.989Z","0.1.0":"2024-12-01T17:52:41.214Z","1.0.0":"2024-12-04T18:48:47.889Z","1.1.0":"2024-12-05T20:26:42.824Z","2.0.0":"2024-12-29T22:20:55.428Z","2.0.1":"2024-12-29T22:26:00.494Z","2.1.0":"2024-12-31T12:05:23.628Z","2.1.1":"2024-12-31T12:10:26.107Z","2.2.0":"2025-03-20T14:48:53.397Z","2.3.0":"2025-03-22T11:37:21.859Z","2.4.0":"2025-05-03T11:48:20.660Z","3.0.0":"2025-05-27T17:51:33.237Z","3.0.1":"2025-05-27T19:03:10.087Z","3.0.2":"2025-05-27T19:28:03.563Z","3.1.0":"2025-06-27T10:08:50.170Z","3.1.1":"2025-06-27T10:13:27.815Z","3.2.0":"2025-12-04T16:36:26.557Z","3.3.0":"2025-12-04T19:08:00.788Z"},"bugs":{"url":"https://github.com/alessiofrittoli/crypto-encoder/issues","email":"info@alessiofrittoli.it"},"author":{"name":"Alessio Frittoli","email":"info@alessiofrittoli.it","url":"https://alessiofrittoli.it"},"license":"MIT","homepage":"https://github.com/alessiofrittoli/crypto-encoder#readme","keywords":["nodejs","base32","base64","base64url","encoding","decoding"],"repository":{"type":"git","url":"git+https://github.com/alessiofrittoli/crypto-encoder.git"},"description":"Lightweight TypeScript encoder/decoder library","maintainers":[{"name":"alessiofrittoli","email":"info@alessiofrittoli.it"}],"readme":"# Crypto Encoder 🧮\n\n[![NPM Latest Version][version-badge]][npm-url] [![Coverage Status][coverage-badge]][coverage-url] [![Socket Status][socket-badge]][socket-url] [![NPM Monthly Downloads][downloads-badge]][npm-url] [![Dependencies][deps-badge]][deps-url]\n\n[![GitHub Sponsor][sponsor-badge]][sponsor-url]\n\n[version-badge]: https://img.shields.io/npm/v/%40alessiofrittoli%2Fcrypto-encoder\n[npm-url]: https://npmjs.org/package/%40alessiofrittoli%2Fcrypto-encoder\n[coverage-badge]: https://coveralls.io/repos/github/alessiofrittoli/crypto-encoder/badge.svg\n[coverage-url]: https://coveralls.io/github/alessiofrittoli/crypto-encoder\n[socket-badge]: https://socket.dev/api/badge/npm/package/@alessiofrittoli/crypto-encoder\n[socket-url]: https://socket.dev/npm/package/@alessiofrittoli/crypto-encoder/overview\n[downloads-badge]: https://img.shields.io/npm/dm/%40alessiofrittoli%2Fcrypto-encoder.svg\n[deps-badge]: https://img.shields.io/librariesio/release/npm/%40alessiofrittoli%2Fcrypto-encoder\n[deps-url]: https://libraries.io/npm/%40alessiofrittoli%2Fcrypto-encoder\n\n[sponsor-badge]: https://img.shields.io/static/v1?label=Fund%20this%20package&message=%E2%9D%A4&logo=GitHub&color=%23DB61A2\n[sponsor-url]: https://github.com/sponsors/alessiofrittoli\n\n## Lightweight TypeScript encoder/decoder library\n\n### Table of Contents\n\n- [Getting started](#getting-started)\n- [Base32](#base32)\n- [Base64](#base64)\n- [Encoder](#encoder)\n- [Development](#development)\n  - [Install depenendencies](#install-depenendencies)\n  - [Build the source code](#build-the-source-code)\n  - [ESLint](#eslint)\n  - [Jest](#jest)\n- [Contributing](#contributing)\n- [Security](#security)\n- [Credits](#made-with-)\n\n---\n\n### Getting started\n\nRun the following command to start using `crypto-encoder` in your projects:\n\n```bash\nnpm i @alessiofrittoli/crypto-encoder\n```\n\nor using `pnpm`\n\n```bash\npnpm i @alessiofrittoli/crypto-encoder\n```\n\n---\n\n### Supported input data types\n\nThis module supports different input data types and it uses the `coerceToUint8Array` utility function from [`@alessiofrittoli/crypto-buffer`](https://npmjs.com/package/@alessiofrittoli/crypto-buffer) to convert it to a `Uint8Array`.\n\nSee [`CoerceToUint8ArrayInput`](https://npmjs.com/package/@alessiofrittoli/crypto-buffer#input-type-1) for a list of supported input data types.\n\n### Base32\n\nThis module provides a `Base32` utility class for encoding and decoding data according to various `Base32` specifications.\\\nIt supports multiple `Base32` variants and offers flexible options for encoding.\n\n<details>\n\n<summary>Overview</summary>\n\nThe `Base32` class provides methods to encode and decode data using Base32, supporting multiple variants as defined by the following specifications:\n\n- [Base32 from RFC4648](https://tools.ietf.org/html/rfc4648)\n- [Base32hex from RFC4648](https://tools.ietf.org/html/rfc4648)\n- [Crockford's Base32](http://www.crockford.com/wrmg/base32.html)\n\n</details>\n\n<details>\n\n<summary>Variants</summary>\n\nThe following Base32 variants are supported:\n\n- `RFC3548` - Alias for `RFC4648`\n- `RFC4648` - The standard Base32 encoding.\n- `RFC4648-HEX` - Base32 encoding with a hexadecimal-like alphabet.\n- `Crockford` - A Base32 variant designed to be human-friendly.\n\n</details>\n\n<details>\n\n<summary>API Reference</summary>\n\n#### Static Properties\n\n##### `Base32.VARIANT`\n\nAn object containing the available Base32 variants:\n\n```ts\nBase32.VARIANT = {\n    RFC3548\t\t: 'RFC3548',\n    RFC4648\t\t: 'RFC4648',\n    RFC4648_HEX\t: 'RFC4648-HEX',\n    Crockford\t: 'Crockford',\n}\n```\n\n#### Static Methods\n\n##### `Base32.encode()`\n\nEncodes data to a Base32 string.\n\n###### Parameters\n\n| Parameter         | Type            | Description                        |\n|-------------------|-----------------|------------------------------------|\n| `data`            | `CoerceToUint8ArrayInput` | The data to encode. See the [list of supported input data types](#supported-input-data-types). |\n| `variant`         | `Variant`       | The Base32 variant to use. |\n| `options`         | `EncodeOptions` | (Optional) Encoding options. |\n| `options.padding` | `boolean`       | If set, forcefully enable or disable padding. The default behavior is to follow the default of the selected variant. |\n\n###### Returns\n\nType: `string`\n\nA Base32 encoded string.\n\n###### Example usage\n\n```ts\nimport { Base32 } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Base32 } from '@alessiofrittoli/crypto-encoder/Base32'\n\nconsole.log( Base32.encode( 'some value', 'RFC3548' ) )\n// or\nconsole.log( Base32.encode( 'some value', Base32.VARIANT.RFC3548 ) )\n// Outputs: 'ONXW2ZJAOZQWY5LF'\n```\n\n---\n\n##### `Base32.decode()`\n\nDecodes a Base32 data.\n\n###### Parameters\n\n| Parameter | Type                      | Description                                  |\n|-----------|---------------------------|----------------------------------------------|\n| `data`    | `CoerceToUint8ArrayInput` | The Base32-encoded data. See the [list of supported input data types](#supported-input-data-types). |\n| `variant` | `Variant`                 | The Base32 variant used to encode the input. |\n\n###### Returns\n\nType: `Uint8Array`\n\nAn `Uint8Array` containing the decoded data.\n\n###### Example usage\n\n```ts\nimport { Base32 } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Base32 } from '@alessiofrittoli/crypto-encoder/Base32'\n\nconst input\t\t= 'ONXW2ZJAOZQWY5LF'\nconst decoded\t= Base32.decode( input, 'RFC3548' )\n// or\nconst decoded\t= Base32.decode( input, Base32.VARIANT.RFC3548 )\n\nconsole.log( Buffer.from( decoded ).toString() ) // Node.js\n// or\nconsole.log( new TextDecoder().decode( decoded ) ) // client-side\n// or\nconsole.log( Base32.toString( decoded ) ) // Node.js + client-side\n// Outputs: 'some value'\n```\n\n</details>\n\n---\n\n### Base64\n\nThis module provides a static `Base64` utility class for encoding and decoding data to and from Base64/Base64url formats. It supports various input types and offers options for normalization between Base64 and Base64url formats.\n\n<details>\n\n<summary>Overview</summary>\n\nThe `Base64` class provides static methods for:\n\n- Encoding data to Base64/Base64url strings.\n- Decoding Base64/Base64url strings to binary data.\n- Normalizing strings between Base64 and Base64url formats.\n\nThe implementation is compatible with both browser and Node.js environments.\n\n</details>\n\n<details>\n\n<summary>API Reference</summary>\n\n#### Static Methods\n\n##### `Base64.encode()`\n\nEncodes data to a Base64 or Base64url string.\n\n###### Parameters\n\n| Parameter   | Type            | Default | Description                                   |\n|-------------|-----------------|---------| ----------------------------------------------|\n| `data`      | `CoerceToUint8ArrayInput` | - | The data to encode. See the [list of supported input data types](#supported-input-data-types). |\n| `normalize` | `boolean`       | `true` | Whether to normalize the output to Base64url. |\n\n###### Returns\n\nType: `string`\n\nA Base64 or Base64url encoded string.\n\n###### Example\n\n```ts\nimport { Base64 } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Base64 } from '@alessiofrittoli/crypto-encoder/Base64'\n\nconst data\t\t= 'Hello, World!'\nconst base64\t= Base64.encode( data, false )\nconst base64url\t= Base64.encode( data )\n\nconsole.log( base64 ) // Outputs: 'SGVsbG8sIFdvcmxkIQ=='\nconsole.log( base64url ) // Outputs: 'SGVsbG8sIFdvcmxkIQ'\n```\n\n---\n\n##### `Base64.decode()`\n\nDecodes a Base64 or Base64url string.\n\n###### Parameters\n\n| Parameter | Type                      | Description                               |\n|-----------|---------------------------|-------------------------------------------|\n| `data`    | `CoerceToUint8ArrayInput` | The Base64 or Base64url encoded data. See the [list of supported input data types](#supported-input-data-types). |\n\n###### Returns\n\nType: `Buffer | Uint8Array`\n\nA `Buffer` containing the decoded data.\n\n###### Example\n\n```ts\nimport { Base64 } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Base64 } from '@alessiofrittoli/crypto-encoder/Base64'\n\nconst base64\t= 'SGVsbG8sIFdvcmxkIQ=='\nconst base64url\t= 'SGVsbG8sIFdvcmxkIQ'\n\nconsole.log( Base64.toString( Base64.decode( base64 ) ) )\n// or\nconsole.log( Base64.toString( Base64.decode( base64url ) ) )\n// Outputs: 'Hello, World!'\n```\n\n</details>\n\n---\n\n### Encoder\n\nThe `Encoder` class provides static methods for encoding and decoding data using various encoding schemes, including custom ones like `base32`.\n\n<details>\n\n<summary>API Reference</summary>\n\n#### **Types**\n\n##### `Encoding`\n\nRepresents the encoding types supported by the `Encoder` class. Includes all standard `BufferEncoding` types as well as the custom `base32` encoding.\n\n#### Static Properties\n\n##### `Encoder.SUPPORTED_ENCODINGS`\n\nType: `Encoding[]`\n\nA list of all encodings supported by the `Encoder` class. Includes standard `BufferEncoding` types and the custom `base32` encoding.\n\n#### Static Methods\n\n##### `Encoder.encode()`\n\nEncodes the provided data using the specified encoding scheme.\n\n###### Parameters\n\n| Parameter       | Type       | Default | Description                                |\n|-----------------|------------|---------| -------------------------------------------|\n| `data`          | `CoerceToUint8ArrayInput` | - | The data to encode. See the [list of supported input data types](#supported-input-data-types). |\n| `encoding`      | `Encoding` | `utf8`  | (Optional) The output encoding.            |\n| `inputEncoding` | `Encoding` | -       | (Optional) The encoding of the input data. |\n\n###### Returns\n\nType: `string`\n\nThe encoded data as a string.\n\n###### Behavior\n\n- If `encoding` is `base32`, uses the [`Base32`](#base32) class with the `RFC3548` standard.\n- If `encoding` is `base64` or `base64url`, uses the [`Base64`](#base64) class.\n- Otherwise, falls back to `Buffer` (if available) or the `binaryToString` function for encoding.\n\n###### Example\n\n```ts\nimport { Encoder } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Encoder } from '@alessiofrittoli/crypto-encoder/Encoder'\n\nconst data = 'Hello, world!'\nconst buffer = Buffer.from( data )\nconst bytes = [\n    72, 101, 108, 108, 111,\n    44,  32, 119, 111, 114,\n    108, 100,  33\n]\n\nconsole.log( Encoder.encode( data, 'hex' ) )\nconsole.log( Encoder.encode( data, 'base32' ) )\nconsole.log( Encoder.encode( data, 'base64' ) )\nconsole.log( Encoder.encode( buffer ) )\nconsole.log( Encoder.encode( bytes ) )\n```\n\n---\n\n##### `Encoder.decode()`\n\nDecodes the provided data using the specified encoding scheme.\n\n###### Parameters\n\n| Parameter | Type                      | Description                               |\n|-----------|---------------------------|-------------------------------------------|\n| `data`    | `CoerceToUint8ArrayInput` | The input data to decode. See the [list of supported input data types](#supported-input-data-types). |\n| `encoding`| `Encoding` | The encoding of the input data. |\n\n###### Returns\n\nType: `Buffer | Uint8Array`\n\nA `Buffer` containing the decoded data.\n\n###### Behavior\n\n- If `encoding` is `base32`, uses the [`Base32`](#base32) class with the `RFC3548` standard.\n- If `encoding` is `base64` or `base64url`, uses the [`Base64`](#base64) class.\n- Otherwise, falls back to `Buffer` (if available) or coerces the input data to a `Uint8Array`.\n\n###### Example\n\n```ts\nimport { Encoder } from '@alessiofrittoli/crypto-encoder'\n// or\nimport { Encoder } from '@alessiofrittoli/crypto-encoder/Encoder'\n\nconst decoded = Encoder.decode( 'JBSWY3DPFQQHO33SNRSCC===', 'base32' )\nconsole.log( Encoder.toString( decoded ) ) // Outputs: 'Hello, world!'\n```\n\n</details>\n\n---\n\n### Development\n\n#### Install depenendencies\n\n```bash\nnpm install\n```\n\nor using `pnpm`\n\n```bash\npnpm i\n```\n\n#### Build the source code\n\nRun the following command to test and build code for distribution.\n\n```bash\npnpm build\n```\n\n#### [ESLint](https://www.npmjs.com/package/eslint)\n\nwarnings / errors check.\n\n```bash\npnpm lint\n```\n\n#### [Jest](https://npmjs.com/package/jest)\n\nRun all the defined test suites by running the following:\n\n```bash\n# Run tests and watch file changes.\npnpm test:watch\n\n# Run tests in a CI environment.\npnpm test:ci\n```\n\n- See [`package.json`](./package.json) file scripts for more info.\n\nRun tests with coverage.\n\nAn HTTP server is then started to serve coverage files from `./coverage` folder.\n\n⚠️ You may see a blank page the first time you run this command. Simply refresh the browser to see the updates.\n\n```bash\ntest:coverage:serve\n```\n\n---\n\n### Contributing\n\nContributions are truly welcome!\n\nPlease refer to the [Contributing Doc](./CONTRIBUTING.md) for more information on how to start contributing to this project.\n\nHelp keep this project up to date with [GitHub Sponsor][sponsor-url].\n\n[![GitHub Sponsor][sponsor-badge]][sponsor-url]\n\n---\n\n### Security\n\nIf you believe you have found a security vulnerability, we encourage you to **_responsibly disclose this and NOT open a public issue_**. We will investigate all legitimate reports. Email `security@alessiofrittoli.it` to disclose any security vulnerabilities.\n\n### Made with ☕\n\n<table style='display:flex;gap:20px;'>\n  <tbody>\n    <tr>\n      <td>\n        <img alt=\"avatar\" src='https://avatars.githubusercontent.com/u/35973186' style='width:60px;border-radius:50%;object-fit:contain;'>\n      </td>\n      <td>\n        <table style='display:flex;gap:2px;flex-direction:column;'>\n          <tbody>\n              <tr>\n                <td>\n                  <a href='https://github.com/alessiofrittoli' target='_blank' rel='noopener'>Alessio Frittoli</a>\n                </td>\n              </tr>\n              <tr>\n                <td>\n                  <small>\n                    <a href='https://alessiofrittoli.it' target='_blank' rel='noopener'>https://alessiofrittoli.it</a> |\n                    <a href='mailto:info@alessiofrittoli.it' target='_blank' rel='noopener'>info@alessiofrittoli.it</a>\n                  </small>\n                </td>\n              </tr>\n          </tbody>\n        </table>\n      </td>\n    </tr>\n  </tbody>\n</table>\n","readmeFilename":"README.md"}