{"_id":"@elderapo/typed-socket.io-client","_rev":"5-40adc2538da8e0ccd919d08cc51fa2ac","name":"@elderapo/typed-socket.io-client","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@elderapo/typed-socket.io-client","version":"1.0.0","description":"","main":"lib/client.js","typings":"lib/client.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest","test:watch":"jest --watch","prepare":"tsc -p tsconfig.build.json"},"keywords":[],"author":{},"license":"MIT","dependencies":{"@elderapo/typed-socket.io-shared":"^1.0.0","socket.io-client":"^2.1.1"},"devDependencies":{"@types/jest":"^23.1.5","@types/node":"^10.5.2","@types/socket.io-client":"^1.4.32","jest":"^23.3.0","ts-jest":"^23.0.0","typescript":"^2.5.2"},"jest":{"transform":{".(ts|tsx)":"ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"collectCoverage":true},"_id":"@elderapo/typed-socket.io-client@1.0.0","dist":{"shasum":"9b85a8f15136aedfe2cf196d9506a728b6fad88c","tarball":"https://registry.npmjs.org/@elderapo/typed-socket.io-client/-/typed-socket.io-client-1.0.0.tgz","fileCount":27,"unpackedSize":65827,"integrity":"sha512-1giGjCU5gJZ2VQlKiTn/NYBNVLWvm1G7fAC/BMdkdsruBQObRzi0pEocd1DBrv8RFAp3lhLASjr6gcFFWJ6nTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfVpV8Tw/wZB218jOuQ7dBqoaULTEbjytNxC9iI1MpFQIhAKOhqicn/UC4+cVVFVV28pisVvv3EqXyNXoxbqxnZcKJ"}]},"maintainers":[{"name":"elderapo","email":"tomek@martynski.pl"}],"_npmUser":{"name":"elderapo","email":"tomek@martynski.pl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-socket.io-client_1.0.0_1531177673684_0.7729985610182049"},"_hasShrinkwrap":false},"1.0.1":{"name":"@elderapo/typed-socket.io-client","version":"1.0.1","description":"","main":"lib/client.js","typings":"lib/client.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest","test:watch":"jest --watch","prepare":"tsc -p tsconfig.build.json","prepublish":"yarn prepare"},"keywords":[],"author":{},"license":"MIT","dependencies":{"@elderapo/typed-socket.io-shared":"^1.0.1","socket.io-client":"^2.1.1"},"devDependencies":{"@types/jest":"^23.1.5","@types/node":"^10.5.2","@types/socket.io-client":"^1.4.32","jest":"^23.3.0","ts-jest":"^23.0.0","typescript":"^2.5.2"},"jest":{"transform":{".(ts|tsx)":"ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"collectCoverage":true},"_id":"@elderapo/typed-socket.io-client@1.0.1","dist":{"shasum":"3e540e0a7d4d9b8c1434333e179be3d8f088e38e","tarball":"https://registry.npmjs.org/@elderapo/typed-socket.io-client/-/typed-socket.io-client-1.0.1.tgz","fileCount":27,"unpackedSize":65861,"integrity":"sha512-ow5P83xQTcdCHBJJu9k40wFwGSkrtSAv7x8T+lsvuH10IOBeOP4wTL6rb6DWGwSkQ3J6D0azPc2DKDwq7wl7QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo+MYLGNpiPlNVu+R/bgj6GQGTejVOZCSCLfj3J5biawIhALBVLfmRlZ3LJ3BHzV+cPKr6IrKnL73GxD4adU2Mrm5h"}]},"maintainers":[{"name":"elderapo","email":"tomek@martynski.pl"}],"_npmUser":{"name":"elderapo","email":"tomek@martynski.pl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-socket.io-client_1.0.1_1531177931126_0.0904756916770546"},"_hasShrinkwrap":false},"1.0.4":{"name":"@elderapo/typed-socket.io-client","version":"1.0.4","description":"","main":"lib/client.js","typings":"lib/client.d.ts","publishConfig":{"access":"public"},"files":["lib"],"scripts":{"test":"jest","test:watch":"jest --watch","prepare":"rimraf ./lib && tsc -p tsconfig.build.json"},"keywords":[],"author":{},"license":"MIT","dependencies":{"@elderapo/typed-socket.io-shared":"^1.0.4","socket.io-client":"^2.1.1"},"devDependencies":{"@types/jest":"^23.1.5","@types/node":"^10.5.2","@types/socket.io-client":"^1.4.32","jest":"^23.3.0","ts-jest":"^23.0.0","typescript":"^2.5.2"},"jest":{"transform":{".(ts|tsx)":"ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"collectCoverage":true},"_id":"@elderapo/typed-socket.io-client@1.0.4","dist":{"shasum":"b3616792501d6d38ca99b963898547b30541f311","tarball":"https://registry.npmjs.org/@elderapo/typed-socket.io-client/-/typed-socket.io-client-1.0.4.tgz","fileCount":6,"unpackedSize":6599,"integrity":"sha512-UjIIAFKGOOcyFRVqndxyKAKtZr1TaxGADxMwmVXZs1SXNyw1t4xXptRGurHc0wv/+Q9+60tzi64OeRPvCX+YoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJPyy4gR9N4rJSGxePrroDYjmHiioFKi76fMlA4NhO6AiEAgG5Tg8enhpzA0xy57gtzc6Zn69oS1sXqu4iVThP5rDk="}]},"maintainers":[{"name":"elderapo","email":"tomek@martynski.pl"}],"_npmUser":{"name":"elderapo","email":"tomek@martynski.pl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-socket.io-client_1.0.4_1531182321970_0.5040029847700183"},"_hasShrinkwrap":false},"1.0.5":{"name":"@elderapo/typed-socket.io-client","version":"1.0.5","description":"[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Greenkeeper badge](https://badges.greenkeeper.io/elderapo/typed-socket.io.svg)](https://greenkeeper.io/) [![CircleCI](https://","main":"lib/client.js","typings":"lib/client.d.ts","publishConfig":{"access":"public"},"files":["lib"],"scripts":{"test":"jest","test:watch":"jest --watch","prepare":"rimraf ./lib && tsc -p tsconfig.build.json"},"keywords":[],"author":{},"license":"MIT","dependencies":{"@elderapo/typed-socket.io-shared":"^1.0.4","socket.io-client":"^2.1.1"},"devDependencies":{"@types/jest":"^23.1.5","@types/node":"^10.5.2","@types/socket.io-client":"^1.4.32","jest":"^23.3.0","ts-jest":"^23.0.0","typescript":"^2.5.2"},"jest":{"transform":{".(ts|tsx)":"ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"collectCoverage":true},"_id":"@elderapo/typed-socket.io-client@1.0.5","dist":{"shasum":"71c21557956b29dbd65c481b5074c72e77c86ac2","tarball":"https://registry.npmjs.org/@elderapo/typed-socket.io-client/-/typed-socket.io-client-1.0.5.tgz","fileCount":7,"unpackedSize":9244,"integrity":"sha512-31q3fZ854T/wE3SVeZqXM8VqPl3rpC0/O63fP8oV8AXHoJU1zG6UeBS0HJsKLgvPacZltTMH58ZqSnVHe4X3SA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICw0b6QxPnk5wwItg1lbdu7EpggoZUxrxcUJZRj5Sg28AiATz6cvRUrQ6145Rhqt8FjcLAUuwQ+00hmc2QlOC3Ycyw=="}]},"maintainers":[{"name":"elderapo","email":"tomek@martynski.pl"}],"_npmUser":{"name":"elderapo","email":"tomek@martynski.pl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-socket.io-client_1.0.5_1531185350219_0.751010094620064"},"_hasShrinkwrap":false}},"time":{"created":"2018-07-09T23:07:53.397Z","1.0.0":"2018-07-09T23:07:53.743Z","modified":"2022-06-12T17:30:46.671Z","1.0.1":"2018-07-09T23:12:11.248Z","1.0.4":"2018-07-10T00:25:22.053Z","1.0.5":"2018-07-10T01:15:50.273Z"},"maintainers":[{"name":"elderapo","email":"tomek@martynski.pl"}],"keywords":[],"author":{},"license":"MIT","readme":"# @elderapo/typed-socket.io\n\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![Greenkeeper badge](https://badges.greenkeeper.io/elderapo/typed-socket.io.svg)](https://greenkeeper.io/)\n[![CircleCI](https://circleci.com/gh/elderapo/typed-socket.io/tree/master.svg?style=svg)](https://circleci.com/gh/elderapo/typed-socket.io/tree/master)\n[![Dev Dependencies](https://david-dm.org/elderapo/typed-socket.io/dev-status.svg)](https://david-dm.org/elderapo/typed-socket.io?type=dev)\n\nStrongly typed websockets library (internally uses SocketIO).\n\n### How to install\n\n```bash\nyarn add @elderapo/typed-socket.io-server @elderapo/typed-socket.io-client\n# or\nnpm install @elderapo/typed-socket.io-server @elderapo/typed-socket.io-client\n```\n\n### Example\n\n```typescript\nimport {\n  ClientSocket,\n  ClientSocketStateEvent,\n  ClientSocketStateEvents\n} from \"@elderapo/typed-socket.io-client\";\nimport {\n  Server,\n  ServerSocketStateEvent,\n  ServerSocketStateEvents\n} from \"@elderapo/typed-socket.io-server\";\n\nexport enum ClientToServerEvent {\n  HelloServer\n}\n\nexport interface ClientToServerEvents extends ServerSocketStateEvents {\n  [ClientToServerEvent.HelloServer]: string;\n}\n\nexport enum ServerToClientEvent {\n  HelloClient\n}\n\nexport interface ServerToClientEvents extends ClientSocketStateEvents {\n  [ServerToClientEvent.HelloClient]: number;\n}\n\nconst typedIOServer = new Server<ClientToServerEvents, ServerToClientEvents>(\n  8000\n);\n\ntypedIOServer.onConnection(socket => {\n  console.log(\"New connection:\", socket.id);\n\n  socket.emit(ServerToClientEvent.HelloClient, 123);\n\n  socket.on(ClientToServerEvent.HelloServer, payload => {\n    console.log(\"Received hello server:\", payload);\n  });\n\n  typedIOServer.emitToEveryone(ServerToClientEvent.HelloClient, 666);\n\n  socket.on(ServerSocketStateEvent.Disconnect, reason => {\n    console.log(\"ServerSocketStateEvent.Disconnect\", reason);\n  });\n});\n\nconst typedIOClient = ClientSocket.connect<\n  ClientToServerEvents,\n  ServerToClientEvents\n>(\"http://localhost:8000\");\n\ntypedIOClient.on(ServerToClientEvent.HelloClient, payload => {\n  console.log(\"ServerToClientEvent.HelloClient\", payload);\n});\n\ntypedIOClient.emit(ClientToServerEvent.HelloServer, \"HELLOOOO!!\");\n\ntypedIOClient.on(ClientSocketStateEvent.Connect, () => {\n  console.log(\"ClientStateEvent.Connect\");\n});\n\ntypedIOClient.on(ClientSocketStateEvent.Disconnect, () => {\n  console.log(\"ClientStateEvent.Disconnect\");\n});\n\nsetTimeout(() => {\n  typedIOClient.disconnect();\n}, 500);\n```\n","readmeFilename":"README.md","description":"[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Greenkeeper badge](https://badges.greenkeeper.io/elderapo/typed-socket.io.svg)](https://greenkeeper.io/) [![CircleCI](https://"}