{"_id":"@cheprasov/base-converter","_rev":"1-b6c14f97d2c204d91809347aa146c255","name":"@cheprasov/base-converter","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@cheprasov/base-converter","version":"1.0.0","author":{"name":"Alexander Cheprasov"},"description":"The library allows to convert a number between arbitrary bases","keywords":["base converter","binary","octal","decimal","hexadecimal","base"],"main":"dist/base-converter.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/cheprasov/js-base-converter.git"},"devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.2.1","@babel/plugin-transform-arrow-functions":"^7.0.0","@babel/preset-env":"^7.1.5","@babel/preset-flow":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.4","babel-preset-minify":"^0.5.0","eslint":"^5.9.0","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.14.0","flow-bin":"^0.83.0","jest":"^23.6.0","webpack":"^4.25.1","webpack-cli":"^3.1.2"},"scripts":{"build:prod":"webpack --mode production","build":"webpack --mode development","build:watch":"webpack --watch --mode development","flow":"flow","eslint":"node ./node_modules/.bin/eslint ./app/src/","test":"jest"},"gitHead":"90d2ee8d2afa8a70dc1f8a6c14a1cdc8b430c94f","bugs":{"url":"https://github.com/cheprasov/js-base-converter/issues"},"homepage":"https://github.com/cheprasov/js-base-converter#readme","_id":"@cheprasov/base-converter@1.0.0","_nodeVersion":"10.13.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fEqnAYkY5kUmGbKci3Z8vC/5uZNP3WNStA8I+/Ndfx4wooC92VB/0D5XPaiewha6GQqdFqOCk5Qd2GkOisOkog==","shasum":"e83010efe514e3a324cad92b309d30276db384fd","tarball":"https://registry.npmjs.org/@cheprasov/base-converter/-/base-converter-1.0.0.tgz","fileCount":18,"unpackedSize":31828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsgwmCRA9TVsSAnZWagAAIlQP/0+XhukF5AhDMFJUv4jN\ngEMas4UUwIsdP7VAb7afatmf2mFTdbC8VHjsXlnHQpR3ZVLBUzU++rg9cJu3\nO4jAAtX9DgXC2Io96fSYDLftcliw6/kQSAohNiClgnwYQaA3vZNw/mavGgv3\nI1nuTaNSVkzQd7DIca9mmeJLpuqZswxF3Wv8GTDvyW3aNOOpT93pT7iZSH2A\nm9mIpk57MbOVHqxudENo1ZMD8JV7GVKumYbJZ8pM8P1iQT19lUUpPfckxD+O\ndqBunxVwfWbn80kZJxrESUM76MmjqvS2ppbsX4y5dKt0xRkJ1xKV74W7/SQc\njejy1YOfFWpCp70KINtCmQO5cEbYIEUuEFnCWZQgj4aEtWfGlX0/8sSM4jPe\nDqkGhQVX08zTfTuVPuewpg+7s9/ZI55aZnRrv+gjJKykQoiFB6Z/bFP9aE+O\nzmxUDCaGuixd+dz6d6XQu1MXFQnHXgzurN69RpbHQqP3/v1fBKu0wIHG9xrv\nSnlaXgwm9kLz32D1VFuxNTynXUxi8CZ9dsYM3sPgkaMrNouVxCSOewVqV4Es\njIa/VQLsC8HXz26ud/+q+xIfpbHgKbxktD9ddW19CN/Y3PtI4+MhiT9MfUgn\nmIpocuWnYTAUMEUBW+xTNrwsJTDstR8fX9+hdcHvUNyxeLeUbzSP5RuUsUYo\noJzB\r\n=CmuV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIfnnp1vykIcuaQRSHy5+K5rnfOOJarn4Av9Gcjc5mrAIhAOHL1pVmvAg9nJvdBHz1Q10+8abol85Dpsg+0smKSWf3"}]},"maintainers":[{"name":"cheprasov","email":"acheprasov84@gmail.com"}],"_npmUser":{"name":"cheprasov","email":"acheprasov84@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/base-converter_1.0.0_1555172389677_0.9273650412487653"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-13T16:19:49.482Z","1.0.0":"2019-04-13T16:19:49.806Z","modified":"2022-04-04T22:39:23.302Z"},"maintainers":[{"name":"cheprasov","email":"acheprasov84@gmail.com"}],"description":"The library allows to convert a number between arbitrary bases","homepage":"https://github.com/cheprasov/js-base-converter#readme","keywords":["base converter","binary","octal","decimal","hexadecimal","base"],"repository":{"type":"git","url":"git+https://github.com/cheprasov/js-base-converter.git"},"author":{"name":"Alexander Cheprasov"},"bugs":{"url":"https://github.com/cheprasov/js-base-converter/issues"},"license":"MIT","readme":"[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\n@cheprasov/base-converter\n=========\n\nThe library allows to convert a number between arbitrary bases.\n\n## Note\nBefore using the library please check native method [`Number.toString([radix])`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString), maybe this is what you need.\nThe library was written mostly for converting more complicated or custom bases.\n\n## Quick examples:\n```javascript\n\nimport { BaseConverter, baseBinary, baseHexadecimal } from '@cheprasov/base-converter';\n\n// encode\n\nconsole.log('7 dec =>', BaseConverter.encode(7, baseBinary), 'bin');\n// 7 dec => 111 bin\n\nconsole.log('255 dec =>', BaseConverter.encode(255, baseHexadecimal), 'hex');\n// 255 dec => FF hex\n\nconsole.log('255 dec =>', BaseConverter.encode(255, ['A', 'B', 'C']), 'custom');\n// 255 dec => BAABBA custom\n\n// decode\n\nconsole.log('101 bin =>', BaseConverter.decode(101, baseBinary), 'dec');\n// 101 bin => 5 dec\n\nconsole.log('FA hex =>', BaseConverter.decode('FA', baseHexadecimal), 'dec');\n// FA hex => 250 dec\n\nconsole.log('BAA custom =>', BaseConverter.decode('BAA', ['A', 'B', 'C']), 'dec');\n// BAA custom => 9 dec\n\n// convert\n\nconsole.log('1010 bin =>', BaseConverter.convert(1010, baseBinary, baseHexadecimal), 'hex');\n// 1010 bin => A hex\n\nconsole.log('FF hex =>', BaseConverter.convert('FF', baseHexadecimal, baseBinary), 'bin');\n// FF hex => 11111111 bin\n\nconsole.log('FF custom =>', BaseConverter.convert('FF', ['A', 'B', 'C', 'D', 'E', 'F'], ['1', '2', '3']), 'custom');\n// FF custom => 2133 bin\n```\n\n## How to install\n\n```bash\n> npm install @cheprasov/base-converter\n```\n\n## Documentation\n\n### Import\n```javascript\n// import library\nimport { BaseConverter } from '@cheprasov/base-converter';\n\n// import preset bases\nimport {\n    baseBinary,\n    baseOctal,\n    baseDecimal,\n    baseHexadecimal,\n    base62\n} from '@cheprasov/base-converter';\n```\n\n### Custom base\nA base has type `Array<string|number>`, it means that each base is array of integers or strings. Also, each element is the array should have 1 symbol only.\n\nExamples:\n```javascript\n\n// correct\nconst base4 = [0, 1, 2, 3];\nconst base8 = [0, 1, 2, 3, 'W', 'X', 'Y', 'Z'];\nconst baseSome = ['0', 'a', 'A', 'b', 'B'];\nconst baseSymbols = ['!', '@', '#', '$', '%', '^', '&', '*', '.', '-', '+', '='];\n\n// wrong\nconst base4 = [0, 10, 20, 30]; // should be 1 symbols for each element\nconst base8 = [0, 1, 2, 3, 'AA', 'BB', 'CC', 'DD']; // should be 1 symbols for each element\nconst baseSome = ['0', '1', '1', '2', '2']; // duplicates of items\nconst baseSome = ['A']; // should be more then 1 element in the array\n```\n\n### Public methods\n\n#### `encode(value: number, base: Array<string | number>): string | null`\nConverts decimal number to provided base. Will return `null` if value can not be converted.\n\nExample:\n```javascript\nconsole.log('7 dec =>', BaseConverter.encode(7, baseBinary), 'bin');\n// 7 dec => 111 bin\n\nconsole.log('255 dec =>', BaseConverter.encode(255, baseHexadecimal), 'hex');\n// 255 dec => FF hex\n\nconsole.log('255 dec =>', BaseConverter.encode(255, ['A', 'B', 'C']), 'custom');\n// 255 dec => BAABBA custom\n```\n\n#### `decode(value: string, base: Array<string | number>): number | null`\nConverts value from provided base to decimal number. Will return `null` if value can not be converted.\n\nExample:\n```javascript\nconsole.log('101 bin =>', BaseConverter.decode(101, baseBinary), 'dec');\n// 101 bin => 5 dec\n\nconsole.log('FA hex =>', BaseConverter.decode('FA', baseHexadecimal), 'dec');\n// FA hex => 250 dec\n\nconsole.log('BAA custom =>', BaseConverter.decode('BAA', ['A', 'B', 'C']), 'dec');\n// BAA custom => 9 dec\n```\n\n#### `convert(value: string | number, fromBase: BaseType, toBase: BaseType): string | null`\nConverts value from one base to another base. Will return `null` if value can not be converted.\n\n```javascript\nconsole.log('1010 bin =>', BaseConverter.convert(1010, baseBinary, baseHexadecimal), 'hex');\n// 1010 bin => A hex\n\nconsole.log('FF hex =>', BaseConverter.convert('FF', baseHexadecimal, baseBinary), 'bin');\n// FF hex => 11111111 bin\n\nconsole.log('FF custom =>', BaseConverter.convert('FF', ['A', 'B', 'C', 'D', 'E', 'F'], ['1', '2', '3']), 'custom');\n// FF custom => 2133 bin\n```\n\n## Something does not work\n\nFeel free to fork project, fix bugs, tests and finally request for pull\n","readmeFilename":"README.md"}