{"_id":"8b10b","_rev":"4-b0a52d41fafbca9519153cf37a5eddea","name":"8b10b","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"8b10b","version":"1.0.0","description":"An ECMAScript implementation of the 8b10b line codec.","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"repository":{"type":"git","url":"git+https://github.com/ravenstine/8b10b.git"},"keywords":["binary","8b10b"],"author":{"name":"Ten Bitcomb"},"license":"MIT","bugs":{"url":"https://github.com/ravenstine/8b10b/issues"},"homepage":"https://github.com/ravenstine/8b10b#readme","devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1"},"gitHead":"6bd14100d6134a095fb62537741416205b746ed6","_id":"8b10b@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"ravenstine","email":"tenbitcomb@gmail.com"},"dist":{"integrity":"sha512-2YlVc3AEY7TgUjpC49oZz+N9Uqn2baZrA+jsOQ26Upd2db1ID27/VqFTAzaAz1l+94/bMMIrSM4E0H6cn75zgQ==","shasum":"68db98c1424e93a36c8c9b2036506d4c26de3b8c","tarball":"https://registry.npmjs.org/8b10b/-/8b10b-1.0.0.tgz","fileCount":9,"unpackedSize":65834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8OoMCRA9TVsSAnZWagAAb1cP/RVm61u1ZPey6uAvw9UC\nijLTsDb2+vHROiNR9ivnSrbGc82nxViCqJ7fEidrqxnFGXqOtnGgPMqgGbAu\n/7Lr9LX0D2kB8Hx2loaVFXflkkJ2DMpHFEcsoS48ynF70NVR1tI6kRnr0xa5\nKtM5Xwtn+xPGBAo1xkJOBY5v/oPZly8r+Qg+6r7YpxcHwugJtFgvvLrptQS3\n/wFXollnexwRVuZvFkWB0FxSiF2uh5RXmFpUDqBpYLyAbd8mpPb775wjCzVl\nIWWp+6UHZ8HrwW9eBmROBhRiWPlBijybo+WPb7riCWN146TL+1zYKtRvGVrY\nmEc2D+O4ehdBsHJQwoI8nQfcIULcmt1heN0gKWJ8yLs0ZCU94481EGKIZzCc\ntXfjxsfMzsT06HDxkGs9q9oIOTxciu5GBFloKzfF7QDY264O+RwMU40/oSJu\npNKorakGJYbVp0rrRGIS9hujTqcYfgTO9u8ZyuTQ+XYdrNz/2XqtVsVx27PF\nXVuAQPvf39/7KYdORV9FBmg0gGYI/qmCbHC2JFYNSxyBWk4NMCuNl9iZo8l8\njJrqXlUcxpMh4GD7n7zT0mWKgwjIS84lwm4KUJsbDAlUIFPc2V1HwCe7rYA9\n2bXaALfAomAoguCbsuGgrMPgyxh0uE0o3PSTc5w6kiTaMh0631soJFne2jr1\nc7Y1\r\n=GAb7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJ1CVsMY6Vxd/mNZD78h/zgy/DdfGFvIAmAoBPSAU+CAiEAqldwAWrQOm04Ida7HaMXfWb3nDpOvupjKeupUGn7SIE="}]},"maintainers":[{"name":"ravenstine","email":"tenbitcomb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/8b10b_1.0.0_1525737995299_0.8339332680077198"},"_hasShrinkwrap":false},"1.1.0":{"name":"8b10b","version":"1.1.0","description":"An ECMAScript implementation of the 8b10b line codec.","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"repository":{"type":"git","url":"git+https://github.com/ravenstine/8b10b.git"},"keywords":["binary","8b10b"],"author":{"name":"Ten Bitcomb"},"license":"MIT","bugs":{"url":"https://github.com/ravenstine/8b10b/issues"},"homepage":"https://github.com/ravenstine/8b10b#readme","devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1"},"gitHead":"9297f8aa0529522c29ef1e1f09bf3bd015ad4c59","_id":"8b10b@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"ravenstine","email":"tenbitcomb@gmail.com"},"dist":{"integrity":"sha512-VRy0uvmCiWTlA++j5LNU4nvVwDrxpZgb4CT1bFJ2MEU0Bte6c7aWzswQHsPz66CMsdRiRjL1CqI4Okqa+Sr7Rw==","shasum":"acec4322046607e23b22a934212c977982e080c6","tarball":"https://registry.npmjs.org/8b10b/-/8b10b-1.1.0.tgz","fileCount":9,"unpackedSize":63520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8SmYCRA9TVsSAnZWagAAxqIQAITT7osfN6npLYfZiQqo\nDqOph9U/BdcVoLS37k6MylIKZBGlj5R2bb7i1EaCNDd687Zd+aD/kXtUDQ18\ncH8JJnM5UGdoY7K5mHuHoK/nSiSkl0pqeMyaf1al+SaHICOL0KMobmT6y6Wf\nvOC5MozC94J21DXKUFVzMY/UophnVxKhbAes6EaOWIOu2r4Th/kacvdShCPJ\n1Y7pGE/+mVQ/DYAXn52m4iFhg+OzI2KzRmSYkGfXEwjAcQvo6afr0dHV4GYk\nBs4ZdRPuvd8znOOD/zjoaKu6dJzS0DOZVjDZiGuHfi8UtWudM3bUlCSR0UY3\nYaTLwiHeWQSeEOnYj+LEjFfnY5AKOPrbvSMiJmzyffkcJmgjP0EELH00D/KU\njp9fM02nLM8C0ntUxxhALPBKHFuiKKzwwAHjgadgH3aSgVT+sIe2Ix0kD99K\nBMb6SY6rm78P0nl1cCRhhV6dH1mi6tpcs4eDRruMSJPk8cejoL8PuDi5UbE+\nCOZvro0Gd10dODMa6tYk//y0xS0jzhECzMHLZ2Bpk75ww6zi6xLaOBqDedY3\nApSFOqfVBnVUgvtYfnlGQrKa1NQCxNIv5YMzQW5kNLIkFWffvS6n00kjPE/Q\naH2Q3/s5x+c3Oiq6hk3zfz+M64sWGIlrezX6MS3tlHKrdaQO7QbWoppY0glq\n+sez\r\n=WPpn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4qwbxuv/nya2Xy9+Ua3402ITYFEfBWkKitoE+8KkCmQIgcHDisO0jYj8r3drW0IWgyfG2FC/LGwJILCRLZeFD8e4="}]},"maintainers":[{"name":"ravenstine","email":"tenbitcomb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/8b10b_1.1.0_1525754263610_0.6028131764788804"},"_hasShrinkwrap":false},"1.3.0":{"name":"8b10b","version":"1.3.0","description":"An ECMAScript implementation of the 8b10b line codec.","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"repository":{"type":"git","url":"git+https://github.com/ravenstine/8b10b.git"},"keywords":["binary","8b10b"],"author":{"name":"Ten Bitcomb"},"license":"MIT","bugs":{"url":"https://github.com/ravenstine/8b10b/issues"},"homepage":"https://github.com/ravenstine/8b10b#readme","devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1"},"gitHead":"7d687b7bfd11986d8fca9739a33708c5927b8140","_id":"8b10b@1.3.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"ravenstine","email":"tenbitcomb@gmail.com"},"dist":{"integrity":"sha512-iBvq+KKL8GvbT65ycTeLaOebOcr3rtnsXpN4VY0rbEXFOhw9VxHIdKFYP7E2YGKooxGA8FbI1P5fWFUBekYfnw==","shasum":"897ffa6a2ca132d949a08344d4150437cfeb2a12","tarball":"https://registry.npmjs.org/8b10b/-/8b10b-1.3.0.tgz","fileCount":10,"unpackedSize":64206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9HSsCRA9TVsSAnZWagAAEioP/1b+pJBygzTZBafV/X2u\nmktSkxR9n6XqZ5QWDd4IYXuyQPaeRK8yB+xuYTXK/7hRa7o21bhm7sVJ0kNk\n7ucwSKXNyUhwZUgwur2tD5ILFietWRThsaIextGAGYXSwIqaAAJ3Y1KphswP\nKEzYwMXYRud3BGSj0VyvRQLx3Cj9Yb9IYk8yTM4pIZA4u3EHV9m1eRwXJ77U\ngn4KRnXfJlUd6YaWJqSfwNqv8n9IoOJUvcLy9xYDjaveLNNtLhbW/QmfETuM\nqsjxr12Pv96ALznS2szVFRqzlEq+55eXpsTXlq7mLVZQ26lpR3Q+n2w4nDbp\nFZXv5Fbpq/PZvXqKloAUF3sAtzditLyRO6lW7BL5ePkxLw86til6PJE2G4dh\nVgUtR2lNUw3P59MkP+2fvzkVUo9vwuPK9MJgFK4RaO9PpO23StkuZWDcBwyG\n5ZpZ5IYeHNE2krnx4VM0aYTOV1gqCUspTMX6b/qr7aT75p7JW844sUEViDZx\n6gi9rtDbUC/jVOoi4ChXjf0lkby9CpLmvAA84ENVY8Tzormpvuha+7CcdDGe\nWoB0xkkAXuhHceZYZo5Rbhe4LtoyW+qJljt5YEtDft8RPxVCXWWgwVbZBaV4\nERVsZt2P62++hx7Zf8K2x8eyMkKONXy1CZU7hRDwQ/OWHrrf7YzZJ4kgMj9Z\nCcys\r\n=gvxZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwq+o/eyCaTcDZIsBcmHcLqvXSW9EZEDEegAD6Fq4Z/AiA6AwIPyqFem99/hPkxhuzaWIC1qsaR9T9hN89BGSXp4g=="}]},"maintainers":[{"name":"ravenstine","email":"tenbitcomb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/8b10b_1.3.0_1525970091804_0.49862242031015036"},"_hasShrinkwrap":false},"2.0.0":{"name":"8b10b","version":"2.0.0","description":"A JavaScript implementation of the 8b10b line codec","main":"mod.js","type":"module","scripts":{"test":"make test"},"repository":{"type":"git","url":"git+https://github.com/ravenstine/8b10b.git"},"keywords":["binary","8b10b","8b/10b","encode","decode","codec","byte","word","symbol"],"author":{"name":"Ten Bitcomb"},"license":"MIT","bugs":{"url":"https://github.com/ravenstine/8b10b/issues"},"homepage":"https://github.com/ravenstine/8b10b#readme","devDependencies":{},"gitHead":"2ccce24920442116103319774a8dc92c8e00db25","_id":"8b10b@2.0.0","_nodeVersion":"16.9.0","_npmVersion":"7.21.1","dist":{"integrity":"sha512-QpuSJwwb+i5LfzzMGXr3LfSDXAfodhTBhojzSBoL2W+vNmytYLzdooLAy2e+hNJAQamY8WWmf56Z430bbFo5AQ==","shasum":"1126371b7de9c6d79324017fb4152dcecabf5db9","tarball":"https://registry.npmjs.org/8b10b/-/8b10b-2.0.0.tgz","fileCount":12,"unpackedSize":63231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD500xG/qIFPkEY0aLwHeaWpsRmcH01cg+pOEABVrgLAQIgKKgKzWuKWQLh3ndGNhNznO5VwvA+MHUL/8vY5h83kCU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrkz5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrH5Q//TyLAqHpG+bw19VarU0m34tUkm7/RG6fBGKshATCL6Zm8hH+p\r\nuLQ8FvMr5NuqDXhJRJJsVGJdidmM24WSrbOm16x8bIWK+BZYSg8+FUg732K/\r\nFpHqHpE0Z7SVE8jFfOq2xgjQ4trFfzjqSA1nlIglnXPDk/PWHOyb0cy3I9IJ\r\nL1jrZTTP5BP03NWoAOClD5edRnn703iK/E9eTJwPGQnHHM6fCFC6hgI/4240\r\nGFZu15IwLeIt4aiTlXeK8CM0myikH8oUsc5Z2VibwA/PQa8ZfSF+AtjCP5Gz\r\ni1hl/xrGVAlGXaXFC/+MyNlQUSaTFodEN+F7yplko7ks7eOlqoS803VvNfy1\r\n0/UOS8R8uQYFllXj6Kq6ROoGMYKh5lbCXScVI1G008CktJJH8w6T8IHjbrqP\r\nV/c5lXfFHon66LflpC+6LCAL4a655KMhbdsdGiYlUhma/r6UUAiP7mA65Dm7\r\nXybfeLT68A/wO6C2dYp8OHLhhSiKlKK/W/zlLpV8H7XQPbpN6ybFn3m3hWY2\r\n+oZ/RvCz68Mk5wA39dYmzsWfx3A8q4Ixkj7UIvKcd38uVnDaWaC3xvQnhClb\r\nZcWfNd/TSuKDl3UIEhNFbhnZnsdVKd68zfODjib8YcNNyaqVf7bD7WHiWK3E\r\nN9ZCmWrYDZZuC6RbssBeTLdpqDBTICKStrQ=\r\n=hSs9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ravenstine","email":"tenbitcomb@protonmail.com"},"directories":{},"maintainers":[{"name":"ravenstine","email":"tenbitcomb@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/8b10b_2.0.0_1672367353493_0.9016314638347833"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-08T00:06:35.298Z","1.0.0":"2018-05-08T00:06:35.459Z","modified":"2022-12-30T02:29:13.749Z","1.1.0":"2018-05-08T04:37:43.701Z","1.3.0":"2018-05-10T16:34:51.937Z","2.0.0":"2022-12-30T02:29:13.659Z"},"maintainers":[{"name":"ravenstine","email":"tenbitcomb@protonmail.com"}],"description":"A JavaScript implementation of the 8b10b line codec","homepage":"https://github.com/ravenstine/8b10b#readme","keywords":["binary","8b10b","8b/10b","encode","decode","codec","byte","word","symbol"],"repository":{"type":"git","url":"git+https://github.com/ravenstine/8b10b.git"},"author":{"name":"Ten Bitcomb"},"bugs":{"url":"https://github.com/ravenstine/8b10b/issues"},"license":"MIT","readme":"8b10b\n=====\n\nAn JavaScript implementation of the [8b10b](https://en.wikipedia.org/wiki/8b/10b_encoding) line codec.\n\nUse it to convert bytes to 10-bit symbols and vise-versa.  It only converts to and from data symbols; control symbols should be intercepted and handled by your application.\n\n\n## Usage\n\n```javascript\nimport { encode, decode } from 'npm:8b10b@2.0.0';\n\nconst encoded = encode({ word: 42 });\n\nencoded.symbol;\n\n// => 345\n\nconst decoded = decode({ symbol: encoded.symbol });\n\nencoded.word;\n\n// => 42\n```\n\nThe object returned by the `encode` function also provides the running disparity for the next word to be encoded.  This is how you can encode a string:\n\n```javascript\nimport { encode, decode } from 'npm:8b10b@2.0.0';\n\nconst words = 'hello world'.split('').map(char => char.charCodeAt(0));\nconst symbols = [];\n\nlet runningDisparity = -1;\n\nfor (const word of words) {\n  const result = encode({ word, runningDisparity });\n\n  runningDisparity = result.runningDisparity;\n  symbols.push(result.symbol);\n}\n\nconsole.log(symbols);\n\n// => [ 915, 659, 211, 211, 652, 633, 92, 371, 307, 211, 172 ]\n\nlet decodedString = '';\n\nrunningDisparity = -1;\n\nfor (const symbol of symbols) {\n  const result = decode({ symbol, runningDisparity });\n\n  runningDisparity = result.runningDisparity;\n  decodedString = decodedString.concat(\n    String.fromCharCode(result.word)\n  );\n}\n\nconsole.log(decodedString);\n\n// => hello world\n```\n\n\n## Testing\n\nThe tests use the Deno runtime.\n\nRun them with `make test`.\n\n\n## License\n\nSee [LICENSE.txt](LICENSE.txt)\n","readmeFilename":"README.md"}