{"bugs":{"url":"https://git.coolaj86.com/coolaj86/unibabel.js/issues"},"dist":{"shasum":"d73a676128fc03d007e6872a882eb9f79867275a","tarball":"https://registry.npmjs.org/unibabel/-/unibabel-3.0.0.tgz","fileCount":9,"integrity":"sha512-YROf29iqkxxaEoYo5zQrAnMq4CL/3D/5J4lO1UJRlZlS3mRe521VTAmgBIGhtw98a59zKPLBV3JZA1wYMqZzBA==","signatures":[{"sig":"MEYCIQCJAGrTDBhRHFjjR2ZQQqVV4kwdRK+ZSxTvnU1ZBztymAIhAIWT/UTgjWfDsJkRVGmNRBSF6Ba6nNqeiKoWhhHQ6Y+E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlaMyCRA9TVsSAnZWagAAWpAQAJOOsJF9V56dTZqZDLMG\nwu1l7NcqkZSyNBZc1HYbrR8MnK/+xUR1omVCMJyiPLxPlMItiErwW7y8z7cb\nyEJXBDGWbnioDVnTn2jj/k5yIChF4BpAWuZ5L+MAkL9Oie7Bdvo3Bv8koQLG\nji8v+kkS1DC3rG3afK64tReZcUSYLmSHOzufKiEC8fmUAH+o1E31ocBzyE1K\n7pk+6SSEDv0gA5/OIHJw6GAMRXsBeZRO2CagZwhv7P5sjiFdGMthux5mhH8S\n8bz5VwMVeowqLAxC0WI1t7cvTcNksARHr/JvTlS3eXbjHetM6GmCfCFQsWCx\nhEwDMgLlz4/SYMzyl+Gm9DpzABT5bTIDONvduZScKdYiEUWzApV26LI6fJTe\nRUQ/o0hNxkgFJowf8KO59ExrmWuLoe6AGGhqHg10K9ynIhawt68x5EpD11kV\nNmdyyIxpJ83CFRxCEeBKgIyGwlBHbP5W7ts3OSySsWK0sAlcw+aVH87xyUJ/\neajXpa30UBdEKNWeBOhUih6Bn0UYKkKtJlBVXcAMkXr/LrxIkFLhXGJsnHn0\nUcefXUFesN+IaOPO1AKbUI2MTpn/s3Yql0IhmYVCPpisTo3q+uGrAScgPdZU\nFVJo5fJ1dkuiCBJT5m6OrOl3nfGR/aqrTIQdB8/4hjHWn4fAhq0GE5jekf1E\n9rYi\r\n=ndF6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"unibabel.node.js","name":"unibabel","author":{"url":"https://coolaj86.com/","name":"AJ ONeal","email":"coolaj86@gmail.com"},"readme":"# Unibabel\n\nMinimalistic **Base64**, **TypedArrays**, and **UTF-8** / **Unicode** conversions in Browser (and Node) JavaScript.\nOptional add-on support for **hex** and **base32**.\n\nSee <https://coolaj86.com/articles/base64-unicode-utf-8-javascript-and-you/>\n\nSee also\n\n-   [TextEncoder](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/encode) / [TextDecoder](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode)\n-   [DateView](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView)\n-   [text-encoding](https://github.com/inexorabletash/text-encoding)\n-   [TextEncoderLite (based on Buffer)](https://github.com/coolaj86/TextEncoderLite/tree/litest)\n-   [TextEncoderLite (based on text-encoding)](https://github.com/coolaj86/TextEncoderLite/tree/lite)\n-   [Beatgammit's base64-js](https://github.com/beatgammit/base64-js)\n\n# Example (Unicode to ArrayBuffer):\n\n```js\nvar unicodeString = \"I'm a ☢ ☃ that plays 𝄢 guitar and spea̧͈͖ks Ar̽̾̈́͒͑ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜!\";\nvar buf = Unibabel.utf8ToBuffer(unicodeString);\n```\n\n## Supported Environments\n\n-   VanillaJS\n-   Node.js\n-   CommonJS\n-   WebPack\n-   ... everything?\n\n# Browser Usage\n\n## CDN\n\n-   <https://unpkg.com/unibabel@3.0.0/dist/unibabel.all.js>\n-   <https://unpkg.com/unibabel@3.0.0/dist/unibabel.all.min.js>\n\n## Bower\n\n```bash\nbower install --save unibabel\n```\n\n```html\n<script src=\"/bower_components/unibabel/dist/unibabel.all.js\"></script>\n```\n\n# Node Usage\n\nYou don't _need_ this module, as you already have\n[`Buffer`](https://nodejs.org/api/buffer.html) and [`thirty-two`](https://github.com/chrisumbel/thirty-two):\n\nFor example:\n\n```javascript\nvar buf = Buffer.from('I ½ ♥ 💩', 'utf8');\nbuf.toString('hex');\nbuf.toString('base64');\nbuf.toString('ascii');\nbuf.toString('utf8');\nbuf.toString('binary'); // deprecated, do not use\n```\n\nHowever, you _can_ use it (perhaps for isomorphic js?)\n\n# API\n\n```javascript\n// TypedArray <--> UTF8\nvar uint8Array = Unibabel.strToUtf8Arr(str);\nvar str = Unibabel.utf8ArrToStr(uint8Array);\n\n// TypedArray <--> Base64\nvar base64 = Unibabel.arrToBase64(uint8Array);\nvar uint8Array = Unibabel.base64ToArr(base64);\n```\n\n**Normal APIs**\n\n`unibabel.js`\n\n-   utf8ToBuffer(utf8str) => array\n-   bufferToUtf8(array) => string\n-   utf8ToBase64(utf8str) => base64\n-   base64ToUtf8(base64) => string\n-   bufferToBase64(array) => base64\n-   base64ToBuffer(base64) => array\n\n**Hex APIs**\n\n`unibabel.hex.js`\n\n-   hexToBuffer(hexstr) => array\n-   bufferToHex(array) => hexstr\n\n**Base32 APIs**\n\n`unibabel.base32.js`\n\n-   base32ToBuffer(b32str) => array\n-   bufferToBase32(array) => b32str\n\n**Helper APIs**\n\n-   utf8ToBinaryString(utf8str) => binstr\n-   binaryStringToUtf8(binstr) => utf8str\n-   bufferToBinaryString(buffer) => binstr\n-   binaryStringToBuffer(binstr) => array\n\n# Examples\n\n```javascript\n// Base64\n\nvar myArray = Unibabel.base64ToArr(\n\t'QmFzZSA2NCDigJQgTW96aWxsYSBEZXZlbG9wZXIgTmV0d29yaw=='\n); // \"Base 64 \\u2014 Mozilla Developer Network\"\nvar myBuffer = Unibabel.base64ToArr(\n\t'QmFzZSA2NCDigJQgTW96aWxsYSBEZXZlbG9wZXIgTmV0d29yaw=='\n).buffer; // \"Base 64 \\u2014 Mozilla Developer Network\"\n\nconsole.log(myBuffer.byteLength);\n\n// Crazy Unicode\n\nvar sMyInput = \"I'm a ☢ ☃ that plays 𝄢 guitar and spea̧͈͖ks Ar̽̾̈́͒͑ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜!\";\nvar aMyUTF8Input = Unibabel.strToUtf8Arr(sMyInput);\nvar sMyBase64 = Unibabel.arrToBase64(aMyUTF8Input);\n\nalert(sMyBase64);\n\nvar aMyUTF8Output = Unibabel.base64ToArr(sMyBase64);\nvar sMyOutput = Unibabel.utf8ArrToStr(aMyUTF8Output);\n\nalert(sMyOutput);\n```\n\n# License\n\n-   `index.js` and `unibabel.hex.js` are dual-licensed as Apache 2.0 and MIT.\n-   `unibabel.base32.js` is a modified version of [thirty-two](https://github.com/chrisumbel/thirty-two) and is therefore licensed MIT.\n\nSome parts of the code were taken from MDN, which Mozilla has licensed in the Public Domain,\nwhich means that I am at liberty to re-license my copy under the Apache 2 and MIT licenses.\n\nSee <https://developer.mozilla.org/en-US/docs/MDN/About#Copyrights_and_licenses>\n\n# ChangeLog\n\n## v3.0.0\n\n-   Proper node support (`unibabel.node.js`)\n-   Various minor updates\n\n## v2.1.0\n\nAdded `unibabel.base32.js`\n\n## v2.0.0\n\nThe new implementation is binary compatible with node.js, TextEncoder,\nand other more-common UTF-8 encodings.\n\nIt is also based on DOM APIs which result in much less code and are still\nbackwards compatible all the way back to IE6 (not on purpose, just that\nit happens to work).\n\nSee <https://coolaj86.com/articles/base64-unicode-utf-8-javascript-and-you/>\n\n## v1.0.0\n\nThis version was based on the work by good folks at the MDN, however,\nthe UTF-8 conversion was not byte-compatible with other UTF-8 conversions\n(such as node.js and TextEncoder), so don't use it.\nSee <https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding>\n","browser":{"./unibabel.node.js":"./unibabel.js"},"gitHead":"59c0a5cc8c00623307efaba0ca2f3e6732fb536a","license":"(MIT OR Apache-2.0)","scripts":{"test":"node tests","build":"node bin/build.js","prepublish":"npm run-script build"},"_npmUser":{"name":"coolaj86","email":"coolaj86@gmail.com"},"homepage":"https://git.coolaj86.com/coolaj86/unibabel.js#readme","keywords":["ascii","binary","utf8","utf-8","ArrayBuffer","TypedArrays","TypedArray","Uint","Uint8Array","Base64","b64","Base32","b32"],"repository":{"url":"https://git.coolaj86.com/coolaj86/unibabel.js.git","type":"git"},"_npmVersion":"6.10.1","description":"Base64, TypedArrays, and UTF-8 / Unicode conversions in Browser (and Node) JavaScript","directories":{},"maintainers":[{"name":"coolaj86","email":"coolaj86@gmail.com"},{"name":"thejshaver","email":"john@jshaver.net"},{"name":"turleybw","email":"turleybw@gmail.com"}],"_nodeVersion":"10.13.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uglify-js":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unibabel_3.0.0_1570087729406_0.18759677177769696","host":"s3://npm-registry-packages"},"_id":"unibabel@3.0.0","version":"3.0.0"}