{"_id":"@bottlenose/rxsocketio","_rev":"5-785c923f9ace44b5da49fa943117ad9a","name":"@bottlenose/rxsocketio","dist-tags":{"canary":"0.1.1-beta.29","latest":"0.7.0"},"versions":{"0.6.0":{"name":"@bottlenose/rxsocketio","version":"0.6.0","description":"RxJS operators for handling socket.io connections","keywords":["rxjs","socket.io"],"author":{"name":"Buccaneer LLC","email":"opensource@buccaneer.ai"},"homepage":"https://github.com/buccaneerai/bottlenose#readme","license":"MIT","private":false,"main":"build/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/buccaneerai/bottlenose.git"},"scripts":{"build":"rm -rf ./build/* && babel ./src -d ./build --ignore *.test.js","lint":"eslint -c ../../.eslintrc ./src","test":"mocha --exit ./src/**/*.test.js ./src/*.test.js","test:watch":"yarn test -- --watch","prepare":"yarn lint && yarn test && yarn build"},"bugs":{"url":"https://github.com/buccaneerai/bottlenose/issues"},"dependencies":{"rxjs":"^6.5.4","socket.io-client":"^2.3.0"},"devDependencies":{"socket.io":"^2.3.0"},"gitHead":"1965941211ad529a5067910f43ba2c782cbbb5ac","_id":"@bottlenose/rxsocketio@0.6.0","_nodeVersion":"12.13.0","_npmVersion":"lerna/3.20.2/node@v12.13.0+x64 (darwin)","dist":{"integrity":"sha512-7S+szoqroCcPAOv/Ww0LrdRWY+1iWK00SQ/0mtCDJhrmZ/zzL9fw0CO0JTPkhmVYUYnbYqpf2bQm/n4QW/qmWQ==","shasum":"59881aa09824cd91c77c8d8609c79ac315f5ca58","tarball":"https://registry.npmjs.org/@bottlenose/rxsocketio/-/rxsocketio-0.6.0.tgz","fileCount":18,"unpackedSize":20398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei3FMCRA9TVsSAnZWagAAqiMQAKUnzmli7LmoPf7HH0eY\nmnmn31vNbffTP4QrH9Ri6t2kWZnDqvNE0dpUAQGWY8rgkJiIrMdbakiMG/l6\nj1l1c49MQ69vQRBqc6PAOC7RGPAPl4mwbxCLkfZ7EeuzmNlez7QfKclmKeql\nxzzglPX8LWIP+95R5MYpoH3gUXEy3Nv4KF4iR5nhuLC0JCdg3/NU/81ljo4k\nJisHEHmjYQObbgWBKBFZQEh4yFvv4UREmaztye4m1xS1yMKxfbQOsdRyvo1K\nhQidHlg1t3ZJkoTK47Xa1cwvjn/tgGtLTSk5IQDCmpXeqh6yOpWURcChSYZA\ncGNjEhJ57oHCneTDxhiXdUo6+yseYtKMVmbFzPrVF+f5xB9wnBHJMrw4Ve6/\n2x7sOfCwZQaQJ1IRyl1wIxGw0jCRiTtR39aea1c1V+hs2dmOl2vzzHNiuAMG\n/bBV4AG/y5NwlwWbp/EUp45tBtKWyDdFEfD6LC23tpsQHgmsoSAMUetLXjFD\nm5y1lamQ4igRZ51im5w9ZV5WTY+7BVZARcoyGVChEmhEhTSmCVWjI26B69EW\ney2QugrrEeBlYbeZ0ABdzZfSYbFtKDpdkY2wq0CSoXrs7sahO3iE4Zs0FSna\nm9mOXMl5xVnAHFtD/eck3shvAcJIgUa5yGo38GjGO62RIH+s5xlPBOF+gkCp\nEBet\r\n=YJOI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpjYNkhwNggXHWw/SgWJb1hs5Q/hz6gCZVFDb/1rlAxAIgW2JFL6N2npPYjBGSkBgpcYgin43Uw3iiGyEH9ECU8kA="}]},"maintainers":[{"name":"brianbuccaneer","email":"brian@buccaneer.ai"}],"_npmUser":{"name":"brianbuccaneer","email":"brian@buccaneer.ai"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxsocketio_0.6.0_1586196812240_0.20976552561877715"},"_hasShrinkwrap":false},"0.1.1-beta.19":{"name":"@bottlenose/rxsocketio","version":"0.1.1-beta.19","description":"RxJS operators for handling socket.io connections","keywords":["rxjs","socket.io"],"author":{"name":"Buccaneer LLC","email":"opensource@buccaneer.ai"},"homepage":"https://github.com/buccaneerai/bottlenose#readme","license":"MIT","private":false,"main":"build/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/buccaneerai/bottlenose.git"},"scripts":{"build":"rm -rf ./build/* && babel ./src -d ./build --ignore *.test.js","lint":"eslint -c ../../.eslintrc ./src","test":"mocha --exit ./src/**/*.test.js ./src/*.test.js","test:watch":"yarn test -- --watch","prepare":"yarn lint && yarn test && yarn build"},"bugs":{"url":"https://github.com/buccaneerai/bottlenose/issues"},"dependencies":{"rxjs":"^6.5.4","socket.io-client":"^2.3.0"},"devDependencies":{"socket.io":"^2.3.0"},"gitHead":"071a6b4e557dd18ed7591ad2da5ba4cb7316e9a6","readme":"[![CircleCI](https://circleci.com/gh/buccaneerai/bottlenose/tree/master.svg?style=shield)](https://circleci.com/gh/buccaneerai/bottlenose/tree/master)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n<a href=\"https://www.npmjs.com/package/@bottlenose/rxsocketio\">\n  <img src=\"https://img.shields.io/npm/v/@bottlenose/rxsocketio.svg\" alt=\"Version\">\n</a>\n\n## Description\n`@bottlenose/rxsocketio` is part of the [Bottlenose](https://github.com/buccaneerai/bottlenose) project.  It is a simple, lightweight package which makes it easy to create two-way data streams using Socket.io using RxJS's pipeable operators.\n\n## Installation\n```bash\nnpm i @bottlenose/rxsocketio --save\n```\nOr...\n```bash\nyarn add @bottlenose/rxsocketio\n```\n\n## Compatability\n\n| Platform | Support |\n| :--- | :--- |\n| node.js \\(&gt;10.0\\) | ✅ |\n| Browsers | ✅ |\n| React Native | ✅ |\n| Electron | ✅ |\n\n## Documentation & Guides\n- [Documentation & Guides](https://buccaneerai.gitbook.io/bottlenose/sources-and-sinks/rxsocketio)\n\n","readmeFilename":"README.md","_id":"@bottlenose/rxsocketio@0.1.1-beta.19","_nodeVersion":"12.13.0","_npmVersion":"lerna/3.20.2/node@v12.13.0+x64 (darwin)","dist":{"integrity":"sha512-vgjBRSk3LgRtq0cG87T1k2CJHZzaWxM/UPYFAF5TfX1U+hPCS8xifcLu1Dg67fzZxQXS2tYYrNGZgm5oRNQkjA==","shasum":"8738aaa4833cb95ab6c19fb21b761a7f7c6c0241","tarball":"https://registry.npmjs.org/@bottlenose/rxsocketio/-/rxsocketio-0.1.1-beta.19.tgz","fileCount":18,"unpackedSize":20414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeq4ETCRA9TVsSAnZWagAA2zEP/iW9S6pJjDWNQlB6n9AN\nraH6BYkMc1gqUuLmtTcFJUAcXphIKdj2hs483pna5l4uqa1SFT9iIz5ye/Wm\nKBW75q2tU6UhWcWUaaCvUdqYWyXjTK6XLFHEIvVg7poW4YnFTJaYAu4NQXNq\nmBZvelCYG7aKw8lmFlWSFX/6yggn0lIWVNV20aszZoKXYmJKfmV0r5eTIMMm\nanf7vAZQVR7YNQxGymlmDppcWi4d1y7IqzJUEvqZk/1frruv6fhXio3ygcxI\n4MjHs+vjUO4OXNmHusN94NGlK+trdajUx0DRyAW/qPaRoq0aRHNVV470b96m\nfdYs/z7OSDuyvo+n/v478HDPl5PKf11vEj0q1CqMkQIQAuOypV41g6FAJlIM\n0NrbFnle2zd2NK2GYgSb/6+aC0j6n2QVAN4VZFY3Cp9Ej0kP42XIju0NbwbA\nFD/so/tnAemE6PaIUuulgZc50I9BhRDBfL7wYOAdR+ggRWlUymfJZBO+QvQ5\nmBeZhXDTntD/xXLKpS2SzHlolq1t7omjVkjBrn5TP61MyqMjciaUJhmVvA5r\n9tQBiJbj/VGnCcs15IYNNhnNo3BN2557SffQzogezmi22fA4kV46e/xidq9P\nUfkrLJfMUPZ3Ld2U8ACa5uOBW8c3t7i4ZzDntra//7+fq4kkhGGd9U/0qsEO\n81AI\r\n=F8VY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1GZxOWi5UwuAwLihDW89l5zWvrL9ihCBxuC/S9VZoFAIhAIDHjUJ61VpdP322fesAAcRsIhSwdnwuriQaA7agbNOK"}]},"maintainers":[{"name":"brianbuccaneer","email":"brian@buccaneer.ai"}],"_npmUser":{"name":"brianbuccaneer","email":"brian@buccaneer.ai"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxsocketio_0.1.1-beta.19_1588298002868_0.932748981759884"},"_hasShrinkwrap":false},"0.1.1-beta.29":{"name":"@bottlenose/rxsocketio","version":"0.1.1-beta.29","description":"RxJS operators for handling socket.io connections","keywords":["rxjs","socket.io"],"author":{"name":"Buccaneer LLC","email":"opensource@buccaneer.ai"},"homepage":"https://github.com/buccaneerai/bottlenose#readme","license":"MIT","private":false,"main":"build/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/buccaneerai/bottlenose.git"},"scripts":{"build":"rm -rf ./build/* && babel ./src -d ./build --ignore *.test.js","lint":"eslint -c ../../.eslintrc ./src","test":"mocha --exit ./src/**/*.test.js ./src/*.test.js","test:watch":"yarn test -- --watch","prepare":"yarn lint && yarn test && yarn build","demo:server":"BABEL_ENV=script yarn babel-node --config-file ../../babel.config.js ./demo/server.js","demo:client":"BABEL_ENV=script yarn babel-node --config-file ../../babel.config.js ./demo/client.js"},"bugs":{"url":"https://github.com/buccaneerai/bottlenose/issues"},"dependencies":{"rxjs":"^6.5.4","socket.io-client":"^2.3.0"},"devDependencies":{"socket.io":"^2.3.0"},"gitHead":"34e8e19e127be685f2d4796a7ddc3398af8bfaf7","readme":"[![CircleCI](https://circleci.com/gh/buccaneerai/bottlenose/tree/master.svg?style=shield)](https://circleci.com/gh/buccaneerai/bottlenose/tree/master)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n<a href=\"https://www.npmjs.com/package/@bottlenose/rxsocketio\">\n  <img src=\"https://img.shields.io/npm/v/@bottlenose/rxsocketio.svg\" alt=\"Version\">\n</a>\n\n## Description\n`@bottlenose/rxsocketio` is part of the [Bottlenose](https://github.com/buccaneerai/bottlenose) project.  It is a simple, lightweight package which makes it easy to create two-way data streams using Socket.io and RxJS's pipeable operators.  Its intent is to encapsulate common websocket patterns (that normally require dozens or hundreds of lines of code to implement) into one-line operators that rely on convention and configuration instead of muddying up your codebase.\n\n## Installation\n```bash\nnpm i @bottlenose/rxsocketio --save\n```\nOr...\n```bash\nyarn add @bottlenose/rxsocketio\n```\n\n## Compatability\n\n| Platform | Support |\n| :--- | :--- |\n| node.js \\(&gt;10.0\\) | ✅ |\n| Browsers | ✅ |\n| React Native | ✅ |\n| Electron | ✅ |\n\n## Documentation & Guides\n- [Documentation & Guides](https://buccaneerai.gitbook.io/bottlenose/sources-and-sinks/rxsocketio)\n\n## Basic Usage\n```js\nimport {from} from 'rxjs';\nimport {conduit} from '@bottlenose/rxsocketio';\n\nconst messageIn$ = from([\n  {topic: 'message', body: 'yarrr'},\n  {topic: 'message', body: 'arrr matey'},\n  {topic: 'message', body: 'Vitamin C? Never heard of it.'},\n]);\n\nconst socketConfig = {\n  url: 'http://localhost:9080/ws', // socket.io server\n  topics: ['message'], // topics to subscribe to. (Defaults to ['message']).\n}; \n// the conduit operator sends messages from messageIn$ and emits messages \n// from the server\nconst messageBack$ = messageIn$.pipe(conduit({...socketConfig}));\nmessageBack$.subscribe(console.log);\n// {topic: 'message', body: 'Welcome Matey.'}\n// {topic: 'message', body: 'Yo ho. Yo ho. I am a message from the server.'}\n```\n\nThe library also supports some advanced features commonly needed in real applications (like sending binary, verifying receipt of messages before sending the next, customizing the socket.io client, serializers/deserializers and handling disconnections).  See the documentation for more information.\n\n","readmeFilename":"README.md","_id":"@bottlenose/rxsocketio@0.1.1-beta.29","_nodeVersion":"12.13.0","_npmVersion":"lerna/3.20.2/node@v12.13.0+x64 (darwin)","dist":{"integrity":"sha512-68i5/YyaoaBFNmuhyVWRrK84NvI0Fn7pQg0lZN+wCAG8BlvH01/FxCLRmaiH5Oy4WoNZKhLESKnrVgHzsLkEUQ==","shasum":"4e7fa9fb3498cf267a9f636cd7eb84687e0bc660","tarball":"https://registry.npmjs.org/@bottlenose/rxsocketio/-/rxsocketio-0.1.1-beta.29.tgz","fileCount":18,"unpackedSize":32213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0QYNCRA9TVsSAnZWagAA7sgP/iedGj5vHp7MfjubrPss\nQzLTO8n94vx/DBN+MCo2aJC+e0G0Xycnvl9jjn8jqGpbJtrTdLPLS5SWRUhs\nNSrOgBItg2xfRt+HSbF83a0ejW0bMiXjaTNKZFx2XeH7VCC+dox+KYpBzX5H\neX5rVnwVKXRFQqPvDKSEq4zVWpheL7qnSsziIUZyAjuaFF0ZODjw/T+cr7Hw\nDSG3AKEgEdpj9lS1bN/NtY4FEcG7DR7LsEobPHOu/DlIdP4NE1+s3e/vn0Vc\nrvuVF5hpdr4rsas/v6I9gZaKCWiu5jt2ud8f5kCzwd8zuiMfdxFvIe1c4/yC\nD5CjdRpdYMQozXnELwX5aeJ4e6B8xABalS/aa02IlUScCrwmCJFbzG5Smps4\nUVOLUW4I2pj7FMQ/KRws+XX5iLW+X2BGCY0ps7ADmyd+4+9uat/YxsoTsTIU\nO4cYMt9FjM4igbN+q3S4uAxXHvsi/6yFBvsoxZ82Tzb+7cj10lbq5pgS2y24\no3q2pJbg1DTxu6vffog5ZagPEqrmxykz0FEO1C9FmcgBl6P0cbpzCJ34Mn0j\nUcfcxhOE2m5rrhDlOBM9oDMdZgEuoIy1qdf2ZDEk+Nmrbr0NXfWJ49G86oys\nWpyB6w3ay5OHJCjVLg5Wv4d/1g31XoxAAzgtCjBy3Za9VQILn3Q86r38dyNn\nNYuE\r\n=Vy0v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXYlNN4RrnJCvsBaJDroI6+vRW0D8UPKedIWbg2PZXbQIhAIo+xbT4cnsAsdb2HptGSpF9emfRfDEqCHiOT4QJWYBi"}]},"maintainers":[{"name":"brianbuccaneer","email":"brian@buccaneer.ai"}],"_npmUser":{"name":"brianbuccaneer","email":"brian@buccaneer.ai"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxsocketio_0.1.1-beta.29_1590756876635_0.8828223935699335"},"_hasShrinkwrap":false},"0.7.0":{"name":"@bottlenose/rxsocketio","version":"0.7.0","description":"RxJS operators for handling socket.io connections","keywords":["rxjs","socket.io"],"author":{"name":"Buccaneer LLC","email":"opensource@buccaneer.ai"},"homepage":"https://github.com/buccaneerai/bottlenose#readme","license":"MIT","private":false,"main":"build/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/buccaneerai/bottlenose.git"},"scripts":{"build":"rm -rf ./build/* && babel ./src -d ./build --ignore *.test.js","lint":"eslint -c ../../.eslintrc ./src","test":"mocha --exit ./src/**/*.test.js ./src/*.test.js","test:watch":"yarn test -- --watch","prepare":"yarn lint && yarn test && yarn build","demo:server":"BABEL_ENV=script yarn babel-node --config-file ../../babel.config.js ./demo/server.js","demo:client":"BABEL_ENV=script yarn babel-node --config-file ../../babel.config.js ./demo/client.js"},"bugs":{"url":"https://github.com/buccaneerai/bottlenose/issues"},"dependencies":{"rxjs":"^6.5.4","socket.io-client":"^2.3.0"},"devDependencies":{"socket.io":"^2.3.0"},"gitHead":"231edd3b748bf569af6e54fdc0506390264ef21f","_id":"@bottlenose/rxsocketio@0.7.0","_nodeVersion":"12.13.0","_npmVersion":"lerna/3.20.2/node@v12.13.0+x64 (darwin)","dist":{"integrity":"sha512-mFxTm1D3iz18O4yzpL+FdLSTxOUvhYHqMEcsWcN44aX8kkto1fRpNzIkNs72xVkR1kAVnvlAYVV1Vr6Z8T0LEg==","shasum":"c27522e470a2092e95751801853003c83b1ecc18","tarball":"https://registry.npmjs.org/@bottlenose/rxsocketio/-/rxsocketio-0.7.0.tgz","fileCount":18,"unpackedSize":32224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZSqLCRA9TVsSAnZWagAAtnoP/18TZzbOpN77GLOjyFeY\nZ0OwczsDIdTGnJUvXRMgSO006+bb8BJu2i7yKs3krLrlLk1Tsxo0z5gCalHT\n+dBhrnxr5qy0f2JscuGRAQwb0/gvgVJZw6zzUQbXaJq0ITwfH+JmDRU8NJcC\no0qzWMo59xTr+h1BBPWrs9+XuJ1f4jXAhQ0Sd6leLHW8QFNoQBO/1DglCdSf\n0JFz9RAkOIW2UFOkTzWmZh060ZwSq+agYIjwHocAU9z2v5TlrVrdC+PsH0c1\n8f9b1VAKI1HotchjtwoyePqf+oPmcat7RDOrdkvGu5tQhp665ANlpOzMervi\nNR491Lf+uzx5bWqN07TqRvwylmc2NPPKXyyYkbO+xeCshn8d4+QLyOI9JAM1\nVv8vAZ2OfhIF0GS6K1oe/xQPCbjpkQhXqs+O2Z/yFzxxZxNXPboYtK8cQ5QJ\nxQs7R4Yym1VmLIlLID8jBWJ5CFS6WjqNIPTxyANkTs9TrYUXv0XMFt2ot9dO\nTFkCrMfmivt9Mz0QGYnPLjaR3spEg+OdgSdvCHZCqE5t7YAhwdZAR7RLHm9j\nSsErbmQrfHO5RsJ/Nbj+abaIdJAO6Tqjw9ZtEh25vtlyUU33l10S1E5mnTpn\nNuX8/PO0lFzIczN4/kqDKK2ExmqBg8b7zrYJMAWt3VK1PgeOLZr5Eel9I3Za\netU+\r\n=3QNS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9T5eSh6MdMcIKF30SgurmP5qw8hLqTJ6rcDoAWbmrNAiAruJdRwoIS8ZLAM/m/YhXU7Z5COI7vK6eDOWR1/c4ITw=="}]},"maintainers":[{"name":"cvhooser","email":"cvhooser@gmail.com"},{"name":"brianbuccaneer","email":"brian@buccaneer.ai"}],"_npmUser":{"name":"brianbuccaneer","email":"brian@buccaneer.ai"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxsocketio_0.7.0_1600465547145_0.8546505097138399"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-06T18:13:32.001Z","0.6.0":"2020-04-06T18:13:32.384Z","modified":"2022-04-04T20:15:29.513Z","0.1.1-beta.19":"2020-05-01T01:53:22.957Z","0.1.1-beta.29":"2020-05-29T12:54:36.760Z","0.7.0":"2020-09-18T21:45:47.279Z"},"maintainers":[{"name":"cvhooser","email":"cvhooser@gmail.com"},{"name":"brianbuccaneer","email":"brian@buccaneer.ai"}],"description":"RxJS operators for handling socket.io connections","homepage":"https://github.com/buccaneerai/bottlenose#readme","keywords":["rxjs","socket.io"],"repository":{"type":"git","url":"git+https://github.com/buccaneerai/bottlenose.git"},"author":{"name":"Buccaneer LLC","email":"opensource@buccaneer.ai"},"bugs":{"url":"https://github.com/buccaneerai/bottlenose/issues"},"license":"MIT","readme":"[![CircleCI](https://circleci.com/gh/buccaneerai/bottlenose/tree/master.svg?style=shield)](https://circleci.com/gh/buccaneerai/bottlenose/tree/master)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n<a href=\"https://www.npmjs.com/package/@bottlenose/rxsocketio\">\n  <img src=\"https://img.shields.io/npm/v/@bottlenose/rxsocketio.svg\" alt=\"Version\">\n</a>\n\n## Description\n`@bottlenose/rxsocketio` is part of the [Bottlenose](https://github.com/buccaneerai/bottlenose) project.  It is a simple, lightweight package which makes it easy to create two-way data streams using Socket.io and RxJS's pipeable operators.  Its intent is to encapsulate common websocket patterns (that normally require dozens or hundreds of lines of code to implement) into one-line operators that rely on convention and configuration instead of muddying up your codebase.\n\n## Installation\n```bash\nnpm i @bottlenose/rxsocketio --save\n```\nOr...\n```bash\nyarn add @bottlenose/rxsocketio\n```\n\n## Compatability\n\n| Platform | Support |\n| :--- | :--- |\n| node.js \\(&gt;10.0\\) | ✅ |\n| Browsers | ✅ |\n| React Native | ✅ |\n| Electron | ✅ |\n\n## Documentation & Guides\n- [Documentation & Guides](https://buccaneerai.gitbook.io/bottlenose/sources-and-sinks/rxsocketio)\n\n## Basic Usage\n```js\nimport {from} from 'rxjs';\nimport {conduit} from '@bottlenose/rxsocketio';\n\nconst messageIn$ = from([\n  {topic: 'message', body: 'yarrr'},\n  {topic: 'message', body: 'arrr matey'},\n  {topic: 'message', body: 'Vitamin C? Never heard of it.'},\n]);\n\nconst socketConfig = {\n  url: 'http://localhost:9080/ws', // socket.io server\n  topics: ['message'], // topics to subscribe to. (Defaults to ['message']).\n}; \n// the conduit operator sends messages from messageIn$ and emits messages \n// from the server\nconst messageBack$ = messageIn$.pipe(conduit({...socketConfig}));\nmessageBack$.subscribe(console.log);\n// {topic: 'message', body: 'Welcome Matey.'}\n// {topic: 'message', body: 'Yo ho. Yo ho. I am a message from the server.'}\n```\n\nThe library also supports some advanced features commonly needed in real applications (like sending binary, verifying receipt of messages before sending the next, customizing the socket.io client, serializers/deserializers and handling disconnections).  See the documentation for more information.\n\n","readmeFilename":"README.md"}