{"_id":"@1ky/n64","_rev":"1-e83fa21a2c733f5417d45d12540ae475","name":"@1ky/n64","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.5":{"name":"@1ky/n64","description":"Extremely fast number to radix64 converting","author":{"name":"kutuluk"},"keywords":["number","base64","radix64","converter","encoder","decoder"],"homepage":"https://gitee.com/i8gua/n64","bugs":{"url":"https://gitee.com/i8gua/n64/issues"},"repository":{"type":"git","url":"git@gitee.com:i8gua/n64.git"},"license":"MIT","version":"1.0.5","main":"./lib/number-to-base64","babel":{"presets":[["env",{"targets":{"browsers":["ie >= 7"]}}]],"plugins":["add-module-exports","transform-es2015-modules-umd"]},"scripts":{"eslint":"eslint src/number-to-base64.js","test":"mocha","bench":"node ./benchmark/benchmark.js","babel":"babel ./src/number-to-base64.js --out-file ./lib/number-to-base64.js","uglifyjs":"uglifyjs ./lib/number-to-base64.js -o ./dist/number-to-base64.min.js -c -m","build":"npm run eslint && npm run babel && npm run uglifyjs","publish-to-npm":"npm install && npm run build && npm test && npm run bench && npm publish"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-es2015-modules-umd":"^6.24.1","babel-preset-env":"^1.6.0","benchmark":"^2.1.4","chai":"^4.1.2","eslint":"^3.19.0","eslint-config-airbnb-base":"^11.3.2","eslint-plugin-chai-friendly":"^0.4.0","eslint-plugin-import":"^2.7.0","mocha":"^4.0.0","radix-64":"^1.0.4","radixer":"^1.0.0","uglify-js":"^3.1.2"},"gitHead":"5af58481979675b462d3044dbffeae4aeab9e62b","_id":"@1ky/n64@1.0.5","_nodeVersion":"15.10.0","_npmVersion":"7.5.3","dist":{"integrity":"sha512-8fsmnGdGswFB3Tu8euAPxoxcmm9rYQAgDa3Fw+aeyUMlbL9m97M9rOKnN/DX3SVpaHIV0kk2Nae587o3dxcZ7g==","shasum":"e1dbf706c1b218b052bec482c7bd940f8cc56d97","tarball":"https://registry.npmjs.org/@1ky/n64/-/n64-1.0.5.tgz","fileCount":12,"unpackedSize":14657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbXSCCRA9TVsSAnZWagAAUyEP/1aIxwwunHsQQ3xXHw1L\nkHLt1oIzbhQ1GI9KFKBDycma0d3II7P8Kn+gRc73fBEAxZz1O3BWFcleU3Fr\nMYPhBXRnKOkmYI2pUECfAnwt3pW5gjF9hVdHotFPuu4vemIP0Ljyee3O7WMm\nkcjF19mNdYzgik2MVpEkNoc66j+/PsERZWUuCdxd+JEuk46iWc4mI3NrTsXD\nKnRMN/Dga/AXqjjZZJfCG0Uj2qbCmJgVOpx/U+WrHK8KBELeOu/s1+h4DV7l\nt4DWExhtrRo/qFHwC6ppheqpF/tVdSBP8DU+l4xRqOUwoGiI4amJepOgPLNg\n+XVhOH6szld62u868D7nIj/KVQe59ArbtA9meosUoLEriHTlgWeKNekdSgtq\nzlxBO4db844MaOXvGoZgrzUE9REH/n6Ow1Eww1ss/mXeJoc+SuiAqCinFKUY\nQsH0cjlNITUsPU/EHEBFI04Kx1JL1QXuAEmwnNohsWFV+hzCEQ6gby5lKjBP\nTn6vUyhAQyVE966DcDgYAe6Tq2RwelkgS9whydD3saUnv9N26FIuxamp2Swm\n45WZEtLzBPAoJckDDYgIAlZ1ngsuLXZ72oi7AQQhymsAeimjxhGfinedlwgM\nDj4Hr5ETNy5VWutPiz63zrd8pq0WzhXZ8NAu28W5JLFJ4kwLRicb1lKg74Wo\niBTa\r\n=V5yL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFvYrXhMcn0wmoJu+xWv7+FDQ1WW2tuZ+DqlJjGkhdzAIhANgFeNyAQ05elNDVOK1H/pH0mXtbC+vfnhNM9YMLqk5l"}]},"_npmUser":{"name":"gcxfd","email":"i@rmw.link"},"directories":{},"maintainers":[{"name":"gcxfd","email":"i@rmw.link"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/n64_1.0.5_1617785986313_0.01329721543111062"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-07T08:59:46.030Z","1.0.5":"2021-04-07T08:59:46.460Z","modified":"2022-04-04T10:33:44.806Z"},"maintainers":[{"name":"gcxfd","email":"i@rmw.link"}],"description":"Extremely fast number to radix64 converting","homepage":"https://gitee.com/i8gua/n64","keywords":["number","base64","radix64","converter","encoder","decoder"],"repository":{"type":"git","url":"git@gitee.com:i8gua/n64.git"},"author":{"name":"kutuluk"},"bugs":{"url":"https://gitee.com/i8gua/n64/issues"},"license":"MIT","readme":"# n64\nExtremely fast number to radix64 converting.\n\n[![NPM version](https://img.shields.io/npm/v/n64.svg?style=flat-square)](https://www.npmjs.com/package/n64)[![Build Status](https://img.shields.io/travis/kutuluk/n64/master.svg?style=flat-square)](https://travis-ci.org/kutuluk/n64)\n\n## Features\n\n- Converts all values of javascript safe integers range (from `-9007199254740991` to `9007199254740991`)\n- Extremely fast due to bitwise operations\n- Does not add extra padding characters for more efficient compression\n- ES3 compatible\n\nNumber           | Result\n-----------------|------------\n0                | A\n63               | /\n64               | BA\n4095             | //\n262143           | ///\n16777215         | ////\n68719476735      | //////\n281474976710655  | ////////\n9007199254740991 | f////////\n-9007199254740991| -f////////\n\n## Installation\n\n```sh\nnpm install https://gitee.com/i8gua/n64.git\n```\n\n## API\n\n#### `ntob(number)`\nTakes a number, discards a fractional part and returns a string.\n\n#### `bton(base64)`\nTakes a string and returns a number.\n\n\n## Usage\n\n### Browser directly\n```html\n<script src=\"https://unpkg.com/n64/dist/n64.min.js\"></script>\n\n<script>\n  var number = -9007199254740991;\n  var base64 = numberToBase64.ntob(number);\n  var back = numberToBase64.bton(base64);\n  console.log('%s -> \"%s\" -> %s (%s)', number, base64, back, back === number);\n</script>\n```\n\nOutput\n```\n-9007199254740991 -> \"-f////////\" -> -9007199254740991 (true)\n```\n\n### ES6\n```javascript\nimport { ntob, bton } from 'n64';\n\nconst test = (number) => {\n  const base64 = ntob(number);\n  const back = bton(base64);\n  console.log('%s -> \"%s\" -> %s (%s)', number, base64, back, back === number);\n};\n\n[0, 1, -1, 255, 65535, 4294967295, 4294967296, Date.now(), 9007199254740991].forEach(number =>\n  test(number)\n);\n```\n\nOutput\n```\n0 -> \"A\" -> 0 (true)\n1 -> \"B\" -> 1 (true)\n-1 -> \"-B\" -> -1 (true)\n255 -> \"D/\" -> 255 (true)\n65535 -> \"P//\" -> 65535 (true)\n4294967295 -> \"D/////\" -> 4294967295 (true)\n4294967296 -> \"EAAAAA\" -> 4294967296 (true)\n1516612803738 -> \"WEdKtya\" -> 1516612803738 (true)\n9007199254740991 -> \"f////////\" -> 9007199254740991 (true)\n```\n\n## Benchmarking\n\n```\nConverting 1 -> \"B\" -> 1\n----------------------------------------------------------------\nn64 x 12,522,220 ops/sec ±1.16% (79 runs sampled)\n        radix-64 x 5,646,873 ops/sec ±0.53% (90 runs sampled)\n         radixer x 9,247,606 ops/sec ±1.01% (88 runs sampled)\n\nConverting -1 -> \"-B\" -> -1\n----------------------------------------------------------------\nn64 x 7,085,183 ops/sec ±0.65% (86 runs sampled)\n        radix-64 - error\n         radixer - error\n\nConverting 255 -> \"D/\" -> 255\n----------------------------------------------------------------\nn64 x 7,105,757 ops/sec ±1.04% (86 runs sampled)\n        radix-64 x 1,625,993 ops/sec ±0.75% (88 runs sampled)\n         radixer x 3,096,584 ops/sec ±1.20% (89 runs sampled)\n\nConverting 65535 -> \"P//\" -> 65535\n----------------------------------------------------------------\nn64 x 5,823,782 ops/sec ±1.11% (88 runs sampled)\n        radix-64 x 1,394,050 ops/sec ±1.40% (90 runs sampled)\n         radixer x 1,998,073 ops/sec ±0.55% (87 runs sampled)\n\nConverting 4294967295 -> \"D/////\" -> 4294967295\n----------------------------------------------------------------\nn64 x 3,510,849 ops/sec ±0.52% (88 runs sampled)\n        radix-64 x 941,715 ops/sec ±1.35% (91 runs sampled)\n         radixer x 1,003,687 ops/sec ±0.54% (91 runs sampled)\n\nConverting 4294967296 -> \"EAAAAA\" -> 4294967296\n----------------------------------------------------------------\nn64 x 3,284,146 ops/sec ±1.20% (89 runs sampled)\n        radix-64 x 931,296 ops/sec ±2.61% (87 runs sampled)\n         radixer x 1,561,844 ops/sec ±1.44% (85 runs sampled)\n\nConverting 1516613323746 -> \"WEdMsvi\" -> 1516613323746\n----------------------------------------------------------------\nn64 x 3,041,711 ops/sec ±0.62% (90 runs sampled)\n        radix-64 x 866,496 ops/sec ±1.53% (89 runs sampled)\n         radixer x 1,143,080 ops/sec ±0.60% (89 runs sampled)\n\nConverting 9007199254740991 -> \"f////////\" -> 9007199254740991\n----------------------------------------------------------------\nn64 x 2,490,628 ops/sec ±0.71% (89 runs sampled)\n        radix-64 x 721,063 ops/sec ±1.29% (86 runs sampled)\n         radixer x 659,930 ops/sec ±0.44% (90 runs sampled)\n\nConverting -9007199254740991 -> \"-f////////\" -> -9007199254740991\n----------------------------------------------------------------\nn64 x 2,283,304 ops/sec ±1.07% (90 runs sampled)\n        radix-64 - error\n         radixer - error\n```\n","readmeFilename":"README.md"}