{"_id":"sqids","_rev":"10-7a82ed244f221149e3a52b86a553bd46","name":"sqids","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.1":{"name":"sqids","version":"0.0.1","description":"Generate YouTube-like ids from numbers.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"homepage":"https://github.com/sqids/sqids-javascript#readme","_id":"sqids@0.0.1","_nodeVersion":"20.2.0","_npmVersion":"9.6.6","dist":{"integrity":"sha512-v+nNjG6EH3yTwvktxoWumbuN0yMJfKhqvm38fHjf1UKVSIm4X9qn/9AwOlsf9nYdZdW9WTirAikAcJ/Few+7bQ==","shasum":"e3572aa335300cbafcbdb0d1e1e3cac83b263a11","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.0.1.tgz","fileCount":2,"unpackedSize":490,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+Lm9/y65InflMwnlucGBbTUU68bjaUmLl0qR1UlKzUAiB/Qodzh5sn9xWgTjcvJqcKljwBnHG6KSceZfEEIHcvFQ=="}]},"_npmUser":{"name":"4kimov","email":"ivan@fossfox.com"},"directories":{},"maintainers":[{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.0.1_1690466446700_0.7185411570989593"},"_hasShrinkwrap":false},"0.1.0":{"name":"sqids","version":"0.1.0","description":"Generate YouTube-like ids from numbers.","keywords":["sqids","encode","ids"],"homepage":"https://sqids.org/javascript","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"license":"MIT","author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"},"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"exports":{".":{"import":"./esm/sqids.js","require":"./cjs/index.js"},"./*":{"import":"./esm/*.js","require":"./cjs/*.js"},"./cjs":{"require":"./cjs/index.js"},"./cjs/*":{"require":"./cjs/*.js"},"./esm/*":{"import":"./esm/*.js"},"./package.json":"./package.json"},"main":"cjs/index.js","unpkg":"dist/sqids.js","module":"esm/sqids.js","source":"src/sqids.ts","scripts":{"benchmark":"yarn ts-node -O '{\"module\": \"commonjs\"}' -T src/tests/benchmark","postinstallDev":"yarn prepare","prepare":"rrun husky install .config/husky && yarn beemo create-config","build":"yarn build:cjs && yarn build:esm && yarn build:umd","release":"beemo run-script release","build:cjs":"yarn rrun tsc --outDir cjs --module commonjs --target es6 -p tsconfig.build.json","build:esm":"yarn rrun tsc --outDir esm --module esnext --target es6 -p tsconfig.build.json && ./add-extension.sh","build:umd":"beemo webpack --entry=./src/sqids.ts --env 'outDir=dist' --env 'moduleTarget=umd' --env 'engineTarget=web' --env 'codeTarget=es6' --env 'name=Sqids' --env 'export=default' --env 'filename=sqids.js'","clean":"git clean -dfX --exclude=node_modules src && beemo typescript:sync-project-refs","test:lint":"rrun eslint 'src/**'","test:code":"beemo jest","test:types":"yarn rrun tsc --noEmit","test:format":"yarn rrun prettier --check \"./{src,tests}/**/*[!.d].{.js,jsx,ts,tsx,json,md}\"","test":"yarn test:format && yarn test:types && yarn test:lint && yarn test:code","format":"yarn rrun prettier --write \"./{src,tests}/**/!(*.d).{.js,jsx,ts,tsx,json,md}\""},"browserslist":["last 2 version","> 0.5%","maintained node versions","not dead"],"devDependencies":{"@niieani/scaffold":"^1.7.3","nodemark":"^0.3.0","require-from-web":"^1.2.0","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","master",{"name":"main","channel":false},"next",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}]},"packageManager":"yarn@3.6.1","_id":"sqids@0.1.0","gitHead":"356bc51ff70420ea93d490071c2d0323dcf4ede0","_nodeVersion":"20.5.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-FpDPY2hdZOleRsU9FQFx5xDhiP6RidKz5g95q8Ba/jzARXesORIz+W5/Q7NeBejWXtXxJ4qS098TDS+NwG951g==","shasum":"8953da9b005eb5ade45dea62f8a32485e7267a79","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.1.0.tgz","fileCount":19,"unpackedSize":147613,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQkoAGOc+gapmg/ChV3lnBaK7bwDIEQG0a+dn++xmtJQIhAKmrTpFTrvOMibesYZgAgy39AymjxT+qojiinp6CLIVR"}]},"_npmUser":{"name":"4kimov","email":"ivan@fossfox.com"},"directories":{},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.1.0_1693151425441_0.5530550025468179"},"_hasShrinkwrap":false},"0.1.1":{"name":"sqids","version":"0.1.1","description":"Generate YouTube-like ids from numbers.","keywords":["sqids","hashids","encode","ids"],"homepage":"https://sqids.org/javascript","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"license":"MIT","author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"},"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"exports":{".":{"import":"./esm/sqids.js","require":"./cjs/index.js"},"./*":{"import":"./esm/*.js","require":"./cjs/*.js"},"./cjs":{"require":"./cjs/index.js"},"./cjs/*":{"require":"./cjs/*.js"},"./esm/*":{"import":"./esm/*.js"},"./package.json":"./package.json"},"main":"cjs/index.js","unpkg":"dist/sqids.js","module":"esm/sqids.js","source":"src/sqids.ts","scripts":{"benchmark":"yarn ts-node -O '{\"module\": \"commonjs\"}' -T src/tests/benchmark","postinstallDev":"yarn prepare","prepare":"rrun husky install .config/husky && yarn beemo create-config","build":"yarn build:cjs && yarn build:esm && yarn build:umd","release":"beemo run-script release","build:cjs":"yarn rrun tsc --outDir cjs --module commonjs --target es6 -p tsconfig.build.json","build:esm":"yarn rrun tsc --outDir esm --module esnext --target es6 -p tsconfig.build.json","build:umd":"beemo webpack --entry=./src/sqids.ts --env 'outDir=dist' --env 'moduleTarget=umd' --env 'engineTarget=web' --env 'codeTarget=es6' --env 'name=Sqids' --env 'export=default' --env 'filename=sqids.js'","clean":"git clean -dfX --exclude=node_modules src && beemo typescript:sync-project-refs","test:lint":"rrun eslint 'src/**'","test:code":"beemo jest","test:types":"yarn rrun tsc --noEmit","test:format":"yarn rrun prettier --check \"./{src,tests}/**/*[!.d].{.js,jsx,ts,tsx,json,md}\"","test":"yarn test:format && yarn test:types && yarn test:lint && yarn test:code","format":"yarn rrun prettier --write \"./{src,tests}/**/!(*.d).{.js,jsx,ts,tsx,json,md}\""},"browserslist":["last 2 version","> 0.5%","maintained node versions","not dead"],"devDependencies":{"@niieani/scaffold":"^1.7.3","nodemark":"^0.3.0","require-from-web":"^1.2.0","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","master",{"name":"main","channel":false},"next",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}]},"packageManager":"yarn@3.6.1","_id":"sqids@0.1.1","gitHead":"3d0d5d189f24ea38c5cfac3ad78d3468af17afc3","_nodeVersion":"20.5.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-FLGO8+GWPtTpXrb2/Lu8Z5ZjtGBdKSA495UISTu75U3DVEaEiAeG7YG+SGm9DlC6doSxeOoiKVDWgStMcoDeJg==","shasum":"138c7cf890ccdf3b14d254422260501ba873256d","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.1.1.tgz","fileCount":18,"unpackedSize":131226,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn5MH+VAPWBkLAnT3wVt45mmPrXtnL52CAepwOMY0t2wIgBlntSR8eCKq7wQ4qsURDcWYjIx8ir3tOdfK97xRu2LU="}]},"_npmUser":{"name":"4kimov","email":"ivan@fossfox.com"},"directories":{},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.1.1_1693152207005_0.14629027537980033"},"_hasShrinkwrap":false},"0.1.2":{"name":"sqids","version":"0.1.2","description":"Generate YouTube-like ids from numbers.","keywords":["sqids","hashids","encode","ids"],"homepage":"https://sqids.org/javascript","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"license":"MIT","author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"},"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"exports":{".":{"import":"./esm/sqids.js","require":"./cjs/sqids.js"},"./*":{"import":"./esm/*.js","require":"./cjs/*.js"},"./cjs":{"require":"./cjs/sqids.js"},"./cjs/*":{"require":"./cjs/*.js"},"./esm/*":{"import":"./esm/*.js"},"./package.json":"./package.json"},"main":"cjs/sqids.js","unpkg":"dist/sqids.js","module":"esm/sqids.js","source":"src/sqids.ts","scripts":{"benchmark":"yarn ts-node -O '{\"module\": \"commonjs\"}' -T src/tests/benchmark","postinstallDev":"yarn prepare","prepare":"rrun husky install .config/husky && yarn beemo create-config","build":"yarn build:cjs && yarn build:esm && yarn build:umd","release":"beemo run-script release","build:cjs":"yarn rrun tsc --outDir cjs --module commonjs --target es6 -p tsconfig.build.json","build:esm":"yarn rrun tsc --outDir esm --module esnext --target es6 -p tsconfig.build.json","build:umd":"beemo webpack --entry=./src/sqids.ts --env 'outDir=dist' --env 'moduleTarget=umd' --env 'engineTarget=web' --env 'codeTarget=es6' --env 'name=Sqids' --env 'export=default' --env 'filename=sqids.js'","clean":"git clean -dfX --exclude=node_modules src && beemo typescript:sync-project-refs","test:lint":"rrun eslint 'src/**'","test:code":"beemo jest","test:types":"yarn rrun tsc --noEmit","test:format":"yarn rrun prettier --check \"./{src,tests}/**/*[!.d].{.js,jsx,ts,tsx,json,md}\"","test":"yarn test:format && yarn test:types && yarn test:lint && yarn test:code","format":"yarn rrun prettier --write \"./{src,tests}/**/!(*.d).{.js,jsx,ts,tsx,json,md}\""},"browserslist":["last 2 version","> 0.5%","maintained node versions","not dead"],"devDependencies":{"@niieani/scaffold":"^1.7.3","nodemark":"^0.3.0","require-from-web":"^1.2.0","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","master",{"name":"main","channel":false},"next",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}]},"packageManager":"yarn@3.6.1","_id":"sqids@0.1.2","gitHead":"a034f3788cc44c8c5f428cd19e6c60d1ca931825","types":"./cjs/sqids.d.ts","_nodeVersion":"20.5.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-fq/uN3T/tkiElDzMjFvipz8EPx99QetD+er/A90goiYIbSScv0TE1oOnPhFoRSuO4JiYD9ETIpkBCy5nhjVhqA==","shasum":"1807b407ffe1d0433d478eafad252f6689cc9f5a","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.1.2.tgz","fileCount":18,"unpackedSize":131226,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDBq736D9+QvCRNsPCsqlZteH0/LFBoJjhNCy/MrMb9AiEA2lk+UC1rAqpupuL5D3y/Fh7IZu73pxOPigJHPRKiCrc="}]},"_npmUser":{"name":"4kimov","email":"ivan@fossfox.com"},"directories":{},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.1.2_1693229854022_0.8865587318629333"},"_hasShrinkwrap":false},"0.1.3":{"name":"sqids","version":"0.1.3","description":"Generate YouTube-like ids from numbers.","keywords":["sqids","hashids","encode","ids"],"homepage":"https://sqids.org/javascript","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"license":"MIT","author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"},"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"exports":{".":{"import":"./esm/sqids.js","require":"./cjs/sqids.js"},"./*":{"import":"./esm/*.js","require":"./cjs/*.js"},"./cjs":{"require":"./cjs/sqids.js"},"./cjs/*":{"require":"./cjs/*.js"},"./esm/*":{"import":"./esm/*.js"},"./package.json":"./package.json"},"main":"cjs/sqids.js","unpkg":"dist/sqids.js","module":"esm/sqids.js","source":"src/sqids.ts","scripts":{"benchmark":"yarn ts-node -O '{\"module\": \"commonjs\"}' -T src/tests/benchmark","postinstallDev":"yarn prepare","prepare":"rrun husky install .config/husky && yarn beemo create-config","build":"yarn build:cjs && yarn build:esm && yarn build:umd","release":"beemo run-script release","build:cjs":"yarn rrun tsc --outDir cjs --module commonjs --target es6 -p tsconfig.build.json","build:esm":"yarn rrun tsc --outDir esm --module esnext --target es6 -p tsconfig.build.json","build:umd":"beemo webpack --entry=./src/sqids.ts --env 'outDir=dist' --env 'moduleTarget=umd' --env 'engineTarget=web' --env 'codeTarget=es6' --env 'name=Sqids' --env 'export=default' --env 'filename=sqids.js'","clean":"git clean -dfX --exclude=node_modules src && beemo typescript:sync-project-refs","test:lint":"rrun eslint 'src/**'","test:code":"beemo jest","test:types":"yarn rrun tsc --noEmit","test:format":"yarn rrun prettier --check \"./{src,tests}/**/*[!.d].{.js,jsx,ts,tsx,json,md}\"","test":"yarn test:format && yarn test:types && yarn test:lint && yarn test:code","format":"yarn rrun prettier --write \"./{src,tests}/**/!(*.d).{.js,jsx,ts,tsx,json,md}\""},"browserslist":["last 2 version","> 0.5%","maintained node versions","not dead"],"devDependencies":{"@niieani/scaffold":"^1.7.8","nodemark":"^0.3.0","require-from-web":"^1.2.0","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","master",{"name":"main","channel":false},"next",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}]},"packageManager":"yarn@3.6.1","types":"./cjs/sqids.d.ts","gitHead":"8103161f619264a1499b2ea25be4fce5f93e8050","_id":"sqids@0.1.3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-s0jtUSxouDizRny+gsnUgOtxbJKWNwbpTrNJtAzl19WRUPpa4fbYRl1PWjoKcsB6rvr5xRu72vQ47vsYYGN6pg==","shasum":"dc2ccbccb3237a3eb94c1b32ec6a34196c462474","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.1.3.tgz","fileCount":18,"unpackedSize":132154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoXMi9tIFQdd+aPm20DMTFpx6yEq3+2zsZqlGJmRqLVwIhANwqb1AxWWrvqz6qpOM7TVWKaQH5OPkoiW1lLwQN07ao"}]},"_npmUser":{"name":"niieani","email":"npm@invent.life"},"directories":{},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.1.3_1693411394998_0.6042098351094367"},"_hasShrinkwrap":false},"0.3.0":{"name":"sqids","version":"0.3.0","description":"Generate YouTube-like ids from numbers.","keywords":["sqids","hashids","encode","ids"],"homepage":"https://sqids.org/javascript","bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"license":"MIT","author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"},"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"exports":{".":{"import":"./esm/sqids.js","require":"./cjs/sqids.js"},"./*":{"import":"./esm/*.js","require":"./cjs/*.js"},"./cjs":{"require":"./cjs/sqids.js"},"./cjs/*":{"require":"./cjs/*.js"},"./esm/*":{"import":"./esm/*.js"},"./package.json":"./package.json"},"main":"cjs/sqids.js","unpkg":"dist/sqids.js","module":"esm/sqids.js","source":"src/sqids.ts","scripts":{"benchmark":"yarn ts-node -O '{\"module\": \"commonjs\"}' -T src/tests/benchmark","postinstallDev":"yarn prepare","prepare":"rrun husky install .config/husky && yarn beemo create-config","build":"yarn build:cjs && yarn build:esm && yarn build:umd","release":"beemo run-script release","build:cjs":"yarn rrun tsc --outDir cjs --module commonjs --target es6 -p tsconfig.build.json","build:esm":"yarn rrun tsc --outDir esm --module esnext --target es6 -p tsconfig.build.json","build:umd":"beemo webpack --entry=./src/sqids.ts --env 'outDir=dist' --env 'moduleTarget=umd' --env 'engineTarget=web' --env 'codeTarget=es6' --env 'name=Sqids' --env 'export=default' --env 'filename=sqids.js'","clean":"git clean -dfX --exclude=node_modules src && beemo typescript:sync-project-refs","test:lint":"rrun eslint 'src/**'","test:code":"beemo jest","test:types":"yarn rrun tsc --noEmit","test:format":"yarn rrun prettier --check \"./{src,tests}/**/*[!.d].{.js,jsx,ts,tsx,json,md}\"","test":"yarn test:format && yarn test:types && yarn test:lint && yarn test:code","format":"yarn rrun prettier --write \"./{src,tests}/**/!(*.d).{.js,jsx,ts,tsx,json,md}\""},"browserslist":["last 2 version","> 0.5%","maintained node versions","not dead"],"devDependencies":{"@niieani/scaffold":"^1.7.8","nodemark":"^0.3.0","require-from-web":"^1.2.0","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","master",{"name":"main","channel":false},"next",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}]},"packageManager":"yarn@3.6.1","types":"./cjs/sqids.d.ts","gitHead":"0f0974ddd0aabb47c7e8399ec491f388a5df6f1f","_id":"sqids@0.3.0","_nodeVersion":"18.17.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-lOQK1ucVg+W6n3FhRwwSeUijxe93b51Bfz5PMRMihVf1iVkl82ePQG7V5vwrhzB11v0NtsR25PSZRGiSomJaJw==","shasum":"969eabe54a362682e44cb73fce2bfea84e504dec","tarball":"https://registry.npmjs.org/sqids/-/sqids-0.3.0.tgz","fileCount":18,"unpackedSize":127872,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+HbTOTl6rLmqbAcRLlLHdkD3PFZ9jHwfsZbUs81DqpAIhAOMg5NRAPsvJuWfOsiIN7g40vnvRgeGwsg+KMCpJHGei"}]},"_npmUser":{"name":"niieani","email":"npm@invent.life"},"directories":{},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sqids_0.3.0_1694216726102_0.7243317907251103"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-27T14:00:46.700Z","0.0.1":"2023-07-27T14:00:46.846Z","modified":"2023-09-08T23:45:26.517Z","1.0.0":"2023-08-23T05:04:15.923Z","0.1.0":"2023-08-27T15:50:25.608Z","0.1.1":"2023-08-27T16:03:27.173Z","0.1.2":"2023-08-28T13:37:34.201Z","0.1.3":"2023-08-30T16:03:15.358Z","0.2.0":"2023-09-08T23:24:01.209Z","0.3.0":"2023-09-08T23:45:26.282Z"},"maintainers":[{"name":"niieani","email":"npm@invent.life"},{"name":"4kimov","email":"ivan@fossfox.com"}],"description":"Generate YouTube-like ids from numbers.","homepage":"https://sqids.org/javascript","repository":{"type":"git","url":"git+https://github.com/sqids/sqids-javascript.git"},"bugs":{"url":"https://github.com/sqids/sqids-javascript/issues"},"license":"MIT","readme":"# [Sqids JavaScript](https://sqids.org/javascript)\n\n[![npm version](https://img.shields.io/npm/v/sqids.svg)](https://www.npmjs.com/package/sqids)\n[![Downloads](https://img.shields.io/npm/dm/sqids)](https://www.npmjs.com/package/sqids)\n\n[Sqids](https://sqids.org/javascript) (*pronounced \"squids\"*) is a small library that lets you **generate unique IDs from numbers**. It's good for link shortening, fast & URL-safe ID generation and decoding back into numbers for quicker database lookups.\n\nFeatures:\n\n- **Encode multiple numbers** - generate short IDs from one or several non-negative numbers\n- **Quick decoding** - easily decode IDs back into numbers\n- **Unique IDs** - generate unique IDs by shuffling the alphabet once\n- **ID padding** - provide minimum length to make IDs more uniform\n- **URL safe** - auto-generated IDs do not contain common profanity\n- **Randomized output** - Sequential input provides nonconsecutive IDs\n- **Many implementations** - Support for [40+ programming languages](https://sqids.org/)\n\n## 🧰 Use-cases\n\nGood for:\n\n- Generating IDs for public URLs (eg: link shortening)\n- Generating IDs for internal systems (eg: event tracking)\n- Decoding for quicker database lookups (eg: by primary keys)\n\nNot good for:\n\n- Sensitive data (this is not an encryption library)\n- User IDs (can be decoded revealing user count)\n\n## 🚀 Getting started\n\nInstall Sqids via:\n\n```bash\nyarn add sqids\n```\n\n## 👩‍💻 Examples\n\nSimple encode & decode:\n\n```javascript\nconst sqids = new Sqids()\nconst id = sqids.encode([1, 2, 3]) // \"86Rf07\"\nconst numbers = sqids.decode(id) // [1, 2, 3]\n```\n\n> **Note**\n> 🚧 Because of the algorithm's design, **multiple IDs can decode back into the same sequence of numbers**. If it's important to your design that IDs are canonical, you have to manually re-encode decoded numbers and check that the generated ID matches.\n\nEnforce a *minimum* length for IDs:\n\n```javascript\nconst sqids = new Sqids({\n  minLength: 10,\n})\nconst id = sqids.encode([1, 2, 3]) // \"86Rf07xd4z\"\nconst numbers = sqids.decode(id) // [1, 2, 3]\n```\n\nRandomize IDs by providing a custom alphabet:\n\n```javascript\nconst sqids = new Sqids({\n  alphabet: 'FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE',\n})\nconst id = sqids.encode([1, 2, 3]) // \"B4aajs\"\nconst numbers = sqids.decode(id) // [1, 2, 3]\n```\n\nPrevent specific words from appearing anywhere in the auto-generated IDs:\n\n```javascript\nconst sqids = new Sqids({\n  blocklist: new Set(['86Rf07']),\n})\nconst id = sqids.encode([1, 2, 3]) // \"se8ojk\"\nconst numbers = sqids.decode(id) // [1, 2, 3]\n```\n\n## 📝 License\n\n[MIT](LICENSE)","readmeFilename":"README.md","keywords":["sqids","hashids","encode","ids"],"contributors":[{"name":"Bazyli Brzóska","email":"npm@invent.life","url":"https://twitter.com/niieani"}],"author":{"name":"sqids.org","email":"npm@invent.life","url":"https://github.com/sqids"}}