{"_id":"xksuid","_rev":"4-4370342dbc4d6c2cdd70b68b92509b5b","name":"xksuid","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"xksuid","version":"0.0.1","description":"Extended K-Sortable UID for browser & NodeJS 16+","type":"module","main":"./src/index.js","scripts":{"test":"node tests/index.js","benchmark":"node benchmark.js"},"keywords":["ksuid","crypto","uuid"],"author":{"name":"ValeriaVG","email":"mail@valeriavg.dev"},"license":"MIT","devDependencies":{"tiny-jest":"^1.2.1"},"gitHead":"f2a904d8d71794d2db6ca7033952c1b6200c6808","_id":"xksuid@0.0.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-orgP23WUvLROQGYmsLYV/AdubOkqKxJEsmpIkAn3wWEzpD0zpnWkoR/+O8TL5EgOxX8JzBvNns6VXVkK/5Ib0A==","shasum":"2ea1e613c1f2caa30866ddda13adabeca289e072","tarball":"https://registry.npmjs.org/xksuid/-/xksuid-0.0.1.tgz","fileCount":10,"unpackedSize":12976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/FuZCRA9TVsSAnZWagAAm/AP/iQf9t9drZrCB4GP/3AW\nTAdsy4sARJ4W4ix3ONo13qQ71lof8LOY5oFGuTeKt6QjW96Qt/Bwy83d0hUu\nErX0PqMPy5Avd7i7kJBbKYqvhDpsgglJSE6gyxrVCF7xKtEhoDZCtX5/o0yd\neOqeXNsfwqhOm1pma/MqKKIHZ2Owq5B+wnzO2MO7Bfj3lZJVXCjM0BkAcpUf\nwOvsEYx+VCtWQ++VNYi2c8sAxP3iTv6kL3UxsvK4byEoDzZMJru5rnXuWy9F\ncifaYRt/nRVdIOfzfYF/c/SaXTNSYkr3ketWc5O88aM8K0VH4KOUprMSUWG6\neYneauI+8ZJ4CFLW1wHnnbAi0hiT5RJy/ojfTDPYkhhHDvmW+UBI07c+Dufs\nVqfi5wSDnx4n+74twdvWpV/Hn26y35ey+/JWcKCUaPaXJjMurhbKWaa3/I9M\nS1HJ92MEHDvyG3xHgeaGxldODNJ9jg4ijWpFX/c2QJRGb1pu6w+BR86vZJuf\nvHfzhFrdTC0Mpa3Xqwly6nkeZhqay3H39gnAF0tTjGis3avSCrJkt0jlf7I+\n1DxHnW9Fbla8UMdxhb6yXtYy9ZS6V6GH5NvQexOsi2QUMQV5EM6UNRrmUXlw\n95TVySto36tZXvb7dIlWW3vNQl8exAZVaRPzF3vEqbYqWhGtsYEi7rbhdwXn\nsihr\r\n=qae6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvjYVOSIjMzfVTArQLIB73zkdkwJfgEcQGmXitYMaXIAIhALH9gYL0nrzpZdl0tx4Ao7cNekl4fRca+z/75B52pW8d"}]},"_npmUser":{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"},"directories":{},"maintainers":[{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xksuid_0.0.1_1643928473737_0.44727319208054905"},"_hasShrinkwrap":false},"0.0.2":{"name":"xksuid","version":"0.0.2","description":"Extended K-Sortable UID for browser & NodeJS 16+","type":"module","main":"./src/index.js","homepage":"https://github.com/ValeriaVG/xksuid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/ValeriaVG/xksuid.git"},"bugs":{"url":"https://github.com/ValeriaVG/xksuid/issues"},"scripts":{"test":"node tests/index.js","benchmark":"node benchmark.js"},"keywords":["ksuid","crypto","uuid"],"author":{"name":"ValeriaVG","email":"mail@valeriavg.dev"},"license":"MIT","devDependencies":{"tiny-jest":"^1.2.1"},"gitHead":"0b951069a106f81f81747156bd0aa6936ac8f6b9","_id":"xksuid@0.0.2","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-kKUHfC+PGyxe5g/Nf8sZOyXPOoh+8QfLRRw7F/+7jm2tqapF2RsoXweLrNrH6hi/1fVDspWtop1K12ECleQ/MQ==","shasum":"f92af6a7aacf55dcb92e9968b88e4501ab53a77a","tarball":"https://registry.npmjs.org/xksuid/-/xksuid-0.0.2.tgz","fileCount":10,"unpackedSize":13755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/GCwCRA9TVsSAnZWagAAhE4P/3/IdS+yGIIeSI/suXWE\nJ9xeJMWIUNigNLxSIwreaZrCxI3CO4xDUUBCions5SaV/DN15HSvrGEeaHVK\nH4ZQ1gExgs7TFfl1N1gfKOQklsakjVJZY0n0agvX8dkiTWFjjWyYK8k9KU6O\nZ+H8JkzR7xPlP6py6WzuEYdumeI5H7wTAQ2VGw90BENiBNWbfSrXnE72cJWe\nRZns61Q+6TalSrclegajcY8IvP35GZ9AlafyClNaaPASXFQRGntKzEUbYk3W\nT7E+2kTWzPq8Il5oh+y3paaxQPHLS9m3yJCyek+74Ljkf5DTl0WQi/QuPgU1\n0ZCZBd3cMjED1iogviZfH66Ylk7N6Pm4hC4RUb0a2hJEwt6FLTGJ8Uv4D4e9\nMz/5pu2K+UdwZ7k+NdX7hyIPAbeIxC3mzx2rdENCib74uoMlrsNL9SacFty2\n3ST0C679o9aIQAJ5oDE2uNAD4o//C1YnOjfNw50pVwu0QM4WzzEi7JuibHXZ\n0M9JWi6R9K6hEN5ZFZGRLruqL10OYg6ghqjZnzjFtI80zppekUDX++Z051oR\nNWHsUYhmRGkpOFlbqg3xD9bFchJywvTYtBSYxJEvUm1gYEXASYBRe5F52hFm\nc71bgLJCr/dRReRddzulNypcyQ7X7ggIyRapP2lO19gCmoCCZjGx9xXz0vIq\nFSz8\r\n=Wget\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1Gz77CP3IFpB38GOt/N8ZBUK1hdCbg5ywt0gzXqhE3AiEA0tZsOvj5LEPZOidNeVKSZCVQ1zxE09tjZDyYkuAw18w="}]},"_npmUser":{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"},"directories":{},"maintainers":[{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xksuid_0.0.2_1643929776125_0.9068138928751881"},"_hasShrinkwrap":false},"0.0.3":{"name":"xksuid","version":"0.0.3","description":"Extended K-Sortable UID for browser & NodeJS 16+","type":"module","main":"./src/index.node.mjs","browser":"./src/index.js","types":"./src/index.d.ts","homepage":"https://github.com/ValeriaVG/xksuid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/ValeriaVG/xksuid.git"},"bugs":{"url":"https://github.com/ValeriaVG/xksuid/issues"},"scripts":{"test":"node tests/index.js","benchmark":"node benchmark.js"},"keywords":["ksuid","crypto","uuid"],"author":{"name":"ValeriaVG","email":"mail@valeriavg.dev"},"license":"MIT","devDependencies":{"tiny-jest":"^1.2.1"},"gitHead":"2a2b82723fa968be33c01cace4ce8c4eb4e17cd4","_id":"xksuid@0.0.3","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-lAJqvHla2ifjg6EEX5urSrB7DGiYlJd2s1AA4NH/QjE0yv0erwbqV7zx4g+VjZVRcvCi9wXPdQ3AwmxqZ1L/OA==","shasum":"3e35943233f0d1232c9b7f92ddc7195a59b98a76","tarball":"https://registry.npmjs.org/xksuid/-/xksuid-0.0.3.tgz","fileCount":11,"unpackedSize":14797,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmIf9f9Y2uniM+rpq02VtgVc/BCHpvmjn1gvp69rsewAiBB7ITdwvSVlzy37ifkzGsBhH0gY9vmMyMVGKkGQlf+wg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiobzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosAg//YTh/PKrBYcOVGSRRE9VkCKaTKcQ2CuuS7Hmbm9+6dSvx5Yu2\r\n2wOZXMNGKHz4wAioSCYHHRVgGbHyIZlQI7XESDQSxqBkL6Hgyqb5YH0r+B11\r\nEAsfycQf6gcJRqRZrNJJvulOM529gVkl8NPZfiDGxsERQYXnXwt1XR0b0x1Q\r\nbK+7WCdLiuejQCnm7UvFZIegK3/C6AzU5RXNI4cJV6gEKmkJe15uJn0ltRQg\r\nATNNPLmWHWYUy4yw61QUOnEb53jEH+Piqr4CmPlRzUFpIcy9hsndcfCp5VpE\r\n3EaUxzNvI3x3LjqOHICXS8gTmfei3jZlpBy979jibJZoyFf/uPAZoE8A8FMO\r\nvw29dwQc0StuOTcm+U2Ku8jh1kesw9iwf+zT0sGsCltZ0+N9GyUBqVFnDMIy\r\nuEOiOUjouNfsVZZNlv1cmM7LJvKkO8EtC6q8YNbJOo7NAnPbYDi6ULiBHzi4\r\nA+7lqTEYx+5Ytjhmgeu4FAqGnSC4TqcOcZulONgkSj94TKRFL/SE9+4PSdqr\r\nBCvb01gB6Q/WfZEY0sO8DwntLNN/VlMAzJfH0LIgkkj/GyeSoIVHq5z8c5PJ\r\niZ9KcX081r5RPnRUtWvwrxswJ4bbcJ/P0F7RgTHzQW+6AQa6UksDIzTavkiW\r\nEy0LXQ88cy+N+gMifoXVf4BDEQv5wC1tIu8=\r\n=HfjM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"},"directories":{},"maintainers":[{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xksuid_0.0.3_1653245683180_0.29938216258792627"},"_hasShrinkwrap":false},"0.0.4":{"name":"xksuid","version":"0.0.4","description":"Extended K-Sortable UID for browser & NodeJS 16+","type":"module","main":"./src/index.node.mjs","browser":"./src/index.js","types":"./src/index.d.ts","homepage":"https://github.com/ValeriaVG/xksuid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/ValeriaVG/xksuid.git"},"bugs":{"url":"https://github.com/ValeriaVG/xksuid/issues"},"scripts":{"test":"node tests/index.js","benchmark":"node benchmark.js"},"keywords":["ksuid","crypto","uuid"],"author":{"name":"ValeriaVG","email":"mail@valeriavg.dev"},"license":"MIT","devDependencies":{"tiny-jest":"^1.2.1"},"_id":"xksuid@0.0.4","gitHead":"7938386832b21884770cfa14e2bed8b377d5e3a3","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-uVWuWtTLV0c5glVnRUFVtAT0At/a438v4KCqhmKpkGiU1JXMzmrigEtKzNaQ3D4yHgDbEFl7C5EG688b2FARqA==","shasum":"26236fc0a27c5ff99c924c4b7e9b4645aa89ad8c","tarball":"https://registry.npmjs.org/xksuid/-/xksuid-0.0.4.tgz","fileCount":11,"unpackedSize":14938,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdTT1uImJOt+F7Uy3JpjhBc2kUiGgDk0BtbsKv8Mt31QIhAJyIE19rzrfz1QjPdON7riH0p+k3CwUBFHLQqOOMpMfP"}]},"_npmUser":{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"},"directories":{},"maintainers":[{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xksuid_0.0.4_1713992710872_0.622950951044805"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-03T22:47:53.667Z","0.0.1":"2022-02-03T22:47:53.921Z","modified":"2024-04-24T21:05:11.282Z","0.0.2":"2022-02-03T23:09:36.291Z","0.0.3":"2022-05-22T18:54:43.344Z","0.0.4":"2024-04-24T21:05:11.048Z"},"maintainers":[{"name":"valeriavgusmao","email":"valeria.v.gusmao@outlook.com"}],"description":"Extended K-Sortable UID for browser & NodeJS 16+","keywords":["ksuid","crypto","uuid"],"author":{"name":"ValeriaVG","email":"mail@valeriavg.dev"},"license":"MIT","readme":"# Extended K-Sortable UID\n\nThis is a browser-friendly implementation of [ksuid](https://github.com/segmentio/ksuid) in JavaScript.\nThe implementation is extended to produce UIDs in descending order, which is beneficial in certain cases,\ne.g. when used as a key for [KV Cloudflare worker storage](https://developers.cloudflare.com/workers/runtime-apis/kv#listing-keys) entries that should be listed in descending order.\n\nBinary keys generated in ascending order per reference KSUID implementation are 20 bytes long,\nwhereas extended KSUIDs are 21 bytes long and are always starting with `61`, indicating that timestamp value\nis calculated as a difference between the maximum possible value (max 32bit unsigned integer) and seconds since `14e8`:\n\n```sh\n# KSUID - Ascending order\n   4 bytes           16 bytes\n [ ][ ][ ][ ]  [ ][ ][ ]...[ ][ ][ ]\nsec since 14e8        random bytes\n\n# xKSUID - Descending order\n1 byte   4 bytes           16 bytes\n[ 61 ] [ ][ ][ ][ ]  [ ][ ][ ]...[ ][ ][ ]\n 'z'   sec till MAX        random bytes\n```\n\nText representation for KSUID is 27 characters long, and 28 characters long with xKSUID, starting with `z`:\n\n```sh\n# KSUID\n24bxFgAT8RPOk01OWecxD8bcLKo\n\n#xKSUID\nzYS4GmVK9Hn2JHPota8SAOBQsPgR\n```\n\n## Usage\n\nAPI:\n\n```js\ngenerate() // ASC KSUID\ngenerate(true) // DESC xKSUID\ngenerate(true,new Date('2022-01-01').getTime()) // DESC xKSUID with custom timestamp\n```\n\nVia CDN:\n\n```html\n<script>\n  import {generate} from 'https://cdn.jsdelivr.net/npm/xksuid@0.0.3/src/index.js'\n</script>\n```\n\nVia NPM:\n\n```sh\nnpm install xksuid\n```\n\nFor browser:\n\n```js\nimport {generate} from 'xksuid'\n```\n\nFor NodeJS ESM:\n\n```js\nimport {generate} from 'xksuid'\n```\n\nFor NodeJS CommonJS:\n\n```js\nconst {generate} = await import('xksuid')\n```\n\n## Benchmark\n\n```sh\n> xksuid@0.0.1 benchmark\n> node benchmark.js\n\n8 x Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz\n\nRunning 100000 ops\n\n3535.918315887451 ms 35.359183158874515 ns/op 28281.196302155477 ops/sec\n```\n","readmeFilename":"README.md","homepage":"https://github.com/ValeriaVG/xksuid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/ValeriaVG/xksuid.git"},"bugs":{"url":"https://github.com/ValeriaVG/xksuid/issues"}}