{"_id":"@addapptables/ng-socket-io","_rev":"9-0da4c5265d426e29e5b5edfa79508dc1","name":"@addapptables/ng-socket-io","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.1":{"name":"@addapptables/ng-socket-io","version":"0.0.1","keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"author":{"name":"Addapptables"},"license":"MIT","_id":"@addapptables/ng-socket-io@0.0.1","maintainers":[{"name":"teogl","email":"teito.lop@gmail.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"addapptable","email":"dev@addapptables.com"}],"homepage":"https://github.com/addapptables/ng-web-socket","bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"dist":{"shasum":"e179fd6fb1c732c50a29663f7c71b445ca8130f6","tarball":"https://registry.npmjs.org/@addapptables/ng-socket-io/-/ng-socket-io-0.0.1.tgz","fileCount":24,"integrity":"sha512-4vzvihoY05/Q/qaG4+thyepe6QQs6w1H6HQ2V0kDynPXtooEWAQd7pzKrjL/4j0KzJ3Wjru/OtZm5jPcjTs+5Q==","signatures":[{"sig":"MEUCIG1wA/Mgp8TBCc0jICcWjyMDGQSjjvVNL0ZPwal6SD3zAiEAxcj04W0Dw/dAlyde4wc1rx7gNWLuOdx9LxiFcIGi5kU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsOXqCRA9TVsSAnZWagAAqTkP/3H/ZgHSb+oCYQF0ODTB\n8jn6Qps6jz3WAm2O/0f5UU8eP8ISI8udtJx4h5T1knxt94fDjHk2Qk+pyGft\nisiAxqQy83Fctf7uJYyTJtbdEE7wImvUlu/yKEEMfmibB8vrC6seJAKU1XGQ\nTOMWcQZVkjPkSfE+YA1MF5co79V/2XXT/tmTlobpycbx7fJDgubsd4EcSt34\nVFa/UADrDZMPDfXKvpDTJGaDLPT4lOOEhmNrbVaZgmI39JFo5jKk7JYLafnw\njJvB4efvHApUK0drm9KYKBirk4ZEWrJLfglZ0SvLPErFGg9Ij/v4GMz2CYKv\nwBawcAHnlZU88HEmSAa+DmndlE8OE0KaKCsWOu8oeiMPLLvS3pMB6vXW0Fww\nKiPHZsi5/5SF0dqGdR41nE4HLR6RWy39S9uJthPq/In5pj6hOYc12AowXKIz\nw9gY8zjWXbFwiylBs+OhFlfAjw+TRTa/jOhPrBGy3S2fXvyN//RygUaurqNr\nJbbgyhOojYzCHLn8b8cdSE+Jvko88I5A1/DO7o0pXzmKaa+GM1ngqXXCE/fv\nur7nude+dfFKzKewPG0oI7LS42wXKmAYPMY3gJLzMcUSpab+g9mGFche/d1v\nNM0ngwvmbMSH3SVC7V4+P/zr21QNCu8QyddCz25AHvAs/FkCmgCHexO1ZpIF\nsIsh\r\n=QkNM\r\n-----END PGP SIGNATURE-----\r\n"},"esm5":"esm5/addapptables-ng-socket-io.js","main":"bundles/addapptables-ng-socket-io.umd.js","fesm5":"fesm5/addapptables-ng-socket-io.js","es2015":"fesm2015/addapptables-ng-socket-io.js","module":"fesm5/addapptables-ng-socket-io.js","esm2015":"esm2015/addapptables-ng-socket-io.js","typings":"addapptables-ng-socket-io.d.ts","_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"fesm2015":"fesm2015/addapptables-ng-socket-io.js","metadata":"addapptables-ng-socket-io.metadata.json","repository":{"url":"git+https://github.com/addapptables/ng-web-socket.git","type":"git"},"_npmVersion":"5.6.0","description":"socket-io module for Angular","directories":{},"sideEffects":false,"_nodeVersion":"8.11.4","dependencies":{"tslib":"^1.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=7.0.0 < 8.0.0","@angular/common":">=7.0.0 < 8.0.0","socket.io-client":">=2.0.0 <3.0.0","@addapptables/ng-web-socket":">=1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ng-socket-io_0.0.1_1555097066013_0.598296415459981","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@addapptables/ng-socket-io","version":"1.0.0","keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"author":{"name":"Addapptables"},"license":"MIT","_id":"@addapptables/ng-socket-io@1.0.0","maintainers":[{"name":"addapptable","email":"dev@addapptables.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"teogl","email":"teito.lop@gmail.com"}],"homepage":"https://github.com/addapptables/ng-web-socket","bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"dist":{"shasum":"6e0fad0b31617dafabb5266da4ae70cf0dfe689d","tarball":"https://registry.npmjs.org/@addapptables/ng-socket-io/-/ng-socket-io-1.0.0.tgz","fileCount":24,"integrity":"sha512-GpZchVxTU0/+zjiWb8TMz5sTcUue5Xawmi5HuKhJ5xwYp1TeMW13uT+vq7wg6Z7xN0oqAqMUPhQp/LM8PJ0LVQ==","signatures":[{"sig":"MEQCIDXvcT/VEj3eE67+xtVyDoDVmUcU+ESpqy8QqPoT+g4YAiAeCPuFnZyJ/e2SCwfi/PZlfUsxnMF7ipGFxilhuVdC3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsOkbCRA9TVsSAnZWagAAnocP/RjKvz7WrBKZVpvuMTiE\nK2qqqohhhHYkA3wkuKB7i0Z5FAcaU/whUe2AVeiLylFWTBiJ7BeAW6TKcWUh\nXYLYV+buQysjjTXNmeBD+eQqQ9T+fFoDj30wJ4rmLyyuz8Ac73wt7Qdi781o\n12NSzg98PeR8HHR/WS0XisMi0Umh/z5NycGIfkJRw7pqp8zLIaKdwxT7IF8C\nc3l6gjQC4Q7ta50Ev6Wf+b6kxjJjyVcJBRWObMtf7a9etw+w85gwN3nwkgHy\nCdu60A4JgQcIQKm2Xn2rY7NS/VHz2lMh34glAnSGCLP9M3c/PNLMP2n7AkUZ\nNGsdPPzy3iJcBG6ueLeIxKxIYi3oB8wWCkqN1X18AW6+8ULr9oFrXQUSjGcG\neb1JOWglr2aX5V9Km96EwVYxCtlZWbx15Nobms0zQuGGP8Y3qdcXfgFcZMkt\nb4G5pc0JkRVS0WowkSrxLQMpRnJQ7Ya7TUzelQUHlVWVXwGKPnW/yIpLGJw8\nNAvRpjeFJDXSCUJNkFfkmrKAI+QSOJd4C8lcrZr6fV4JzwXW7UVxquoLeMTb\nWw+0s9OUei5gBQiLUzhg4g0eQxygWC6fYXO7Xr8K8SwIvsdf9ySF1q3Q5DCy\n9qg39ceDlkZJFLLhN2J17/3k77S0/r8FGuCq4g0zvgOPcfp1Ewch5chjR5fZ\nlxSg\r\n=VixA\r\n-----END PGP SIGNATURE-----\r\n"},"esm5":"esm5/addapptables-ng-socket-io.js","main":"bundles/addapptables-ng-socket-io.umd.js","fesm5":"fesm5/addapptables-ng-socket-io.js","es2015":"fesm2015/addapptables-ng-socket-io.js","module":"fesm5/addapptables-ng-socket-io.js","esm2015":"esm2015/addapptables-ng-socket-io.js","typings":"addapptables-ng-socket-io.d.ts","_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"fesm2015":"fesm2015/addapptables-ng-socket-io.js","metadata":"addapptables-ng-socket-io.metadata.json","repository":{"url":"git+https://github.com/addapptables/ng-web-socket.git","type":"git"},"_npmVersion":"5.6.0","description":"socket-io module for Angular","directories":{},"sideEffects":false,"_nodeVersion":"8.11.4","dependencies":{"tslib":"^1.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=7.0.0 < 8.0.0","@angular/common":">=7.0.0 < 8.0.0","socket.io-client":">=2.0.0 <3.0.0","@addapptables/ng-web-socket":">=1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ng-socket-io_1.0.0_1555097882974_0.39582415196071574","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@addapptables/ng-socket-io","version":"1.0.1","keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"author":{"name":"Addapptables"},"license":"MIT","_id":"@addapptables/ng-socket-io@1.0.1","maintainers":[{"name":"addapptable","email":"dev@addapptables.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"teogl","email":"teito.lop@gmail.com"}],"homepage":"https://github.com/addapptables/ng-web-socket","bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"dist":{"shasum":"7229b4c0e6ae1f78237d5cb9a66d18ab05251175","tarball":"https://registry.npmjs.org/@addapptables/ng-socket-io/-/ng-socket-io-1.0.1.tgz","fileCount":21,"integrity":"sha512-vnHy1T2iDUm0Y3I7u8SV34xNueyiEiDdj+1O7mUUYVg4UQ56ywVoFzyve71ADb1ZO4+cXz8bi+NGX/Mu5UhBXw==","signatures":[{"sig":"MEQCIDWjm2Y3uG/INzlUOJESd8RbVLIkiJBkbsoQXLQPGF+3AiA+lYnN9UzS+QQkRz7FH9Tw+nHb1wKz3OSQWtPm1RVrRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsPpiCRA9TVsSAnZWagAAlYgP/3RYNn5JH46Ss7qHqGlo\n7tGqS+yafdBYijlLCsEVWIOzD9FwH3ub3LA4PqLf6TcVehrynVUuZOfloXgH\nVzXlBMce/mofwoQOwHfyHZmv836twsSCF07p6mCFVmRYiMFBDwDHY3TwbRp3\nikju0OvSKclnyf+5KktgcU2PvRvgD13+1vrYTEyf9x9UBve9azv67/kgu/xL\n4bm2nH3Q+mbjzlWxC+o19yzkJIakXroiR3TYwyEeATFiZgru8LclBA6XSEgB\njDScEAmJqveq+LVejkyDVtWcy64h9EvOiduffTdhwfjmhDOOBchX23jFHQyB\nzOxWSCZvHtgXoEH6cSlVvr/uNvhrPseq4RDD3qiQAnZ3zZwPj/BXlstGr1ZJ\nnCV2FlFjjKLeZWC8xy89hfr/ROEkwV8qDLFKoG1PwO4WozK0hL191M9UxKZE\nqQS4NiECaHUgRYRdhVcl3CkiUQtWVxSDNX9aTkdCSyCd+kFJqo/x5mcwIEfV\ngaZZJlwNMXnsgSkMMKv0ruOuaZONNJOc6O7QyWH7gTCvCsbFKirnqhnZbW8l\n2t7t7uY5mEUL8X3I2p1iy3kjrJKcwdxDxI2Q82s7lGOaMgdTEzo/cYjgJs14\nCWRrBAnrZdo+mnBgOyZWhvq85/2Wac78gAtOMJYlJcQQ0+3KLcN9LrxX4tEX\n8s0c\r\n=YdHL\r\n-----END PGP SIGNATURE-----\r\n"},"esm5":"esm5/addapptables-ng-socket-io.js","main":"bundles/addapptables-ng-socket-io.umd.js","fesm5":"fesm5/addapptables-ng-socket-io.js","es2015":"fesm2015/addapptables-ng-socket-io.js","module":"fesm5/addapptables-ng-socket-io.js","esm2015":"esm2015/addapptables-ng-socket-io.js","typings":"addapptables-ng-socket-io.d.ts","_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"fesm2015":"fesm2015/addapptables-ng-socket-io.js","metadata":"addapptables-ng-socket-io.metadata.json","repository":{"url":"git+https://github.com/addapptables/ng-web-socket.git","type":"git"},"_npmVersion":"5.6.0","description":"socket-io module for Angular","directories":{},"sideEffects":false,"_nodeVersion":"8.11.4","dependencies":{"tslib":"^1.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=7.0.0 < 8.0.0","@angular/common":">=7.0.0 < 8.0.0","socket.io-client":">=2.0.0 <3.0.0","@addapptables/ng-web-socket":">=1.0.0 < 2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ng-socket-io_1.0.1_1555102305874_0.43210514049127813","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@addapptables/ng-socket-io","version":"2.0.0","keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"author":{"name":"Addapptables"},"license":"MIT","_id":"@addapptables/ng-socket-io@2.0.0","maintainers":[{"name":"addapptable","email":"dev@addapptables.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"teogl","email":"teito.lop@gmail.com"}],"homepage":"https://github.com/addapptables/ng-web-socket","bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"dist":{"shasum":"c8699f6d3967d50bd7fb9afdb28caab91fb66550","tarball":"https://registry.npmjs.org/@addapptables/ng-socket-io/-/ng-socket-io-2.0.0.tgz","fileCount":21,"integrity":"sha512-tLWmbMFieT7f098qQIQfUlB8dEc8oivYY4D7p9H0OiWZxrzf2QcZ0pAgX/sze8WUch+JV8j8d3Rwx+ELrdv+lA==","signatures":[{"sig":"MEUCIBHoU5iMw7gHnPasDIkvHSQAOZ/98/9dcWdJC8D1ZB+sAiEAwprhkvLNf1Dj1/HRnU1SpzUoEbIVIGqKU64V3n5yK9g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZEulCRA9TVsSAnZWagAAG1sP/3qhDTb8i3SE47HaeGc3\neEEtDEjpvJssqkmm1rdg4fcbdKXsh4rZ2BaQNYUfW1weUDcQBwpczxRLFJWY\nZx9n7WqMTlS8qTQnI1MLjV8ERmZFwxmGHKo1DrnYmt1Bx0w/uENFpKsL5KZQ\n3K5+dQ8ToTmoyZBbcI9RtUZccY+qQCGCNNmINE6fsRVFrlbTf8Q6DekED4io\nwKrr2gt2XgW5R9Zh8iQPcNJ741krzdYqzxx/W/kQvSwSEc4aP60O/FZ2v1ZR\nmdqCCKMHkId1vqolTZj9ZgigWIj7F2qW558fnnDXM2ctpQrSoVC4/Fl/mIND\nC69hLTFzBWYy3vU5NZxIIzr21HzVMTl4A4np6n012brFqCs+WkuMIVyXI/cq\nIu8mQZ+z7HeoQc4KBv2J7r4wvdCwH3dvrt7TQmF9mN1/zPeNcHPrgHz0njEu\nScNlmaxyDUbbvV1+pqb5RSCnSynMNwjUjhoRBmd4wl5bZeYKSNVULhT6ivm2\nHh8KmWLWYKuxArZY38EQmlnKWm8SagCrIDMoJlwWm4owU4Ftnqurd3IsvFMl\nD6A6dUKjFeMUYyZm0eFrTJIj1HEoyor4nQri4BadDYnyONzD9BxyM6E00ucp\n81iV+kIzibvjeL0Z4y3BKTCiIayogDy4d8cPMSNmPGMFGB9WptBD/DtaIlfM\nVBa8\r\n=+Usv\r\n-----END PGP SIGNATURE-----\r\n"},"esm5":"esm5/addapptables-ng-socket-io.js","main":"bundles/addapptables-ng-socket-io.umd.js","fesm5":"fesm5/addapptables-ng-socket-io.js","es2015":"fesm2015/addapptables-ng-socket-io.js","module":"fesm5/addapptables-ng-socket-io.js","esm2015":"esm2015/addapptables-ng-socket-io.js","typings":"addapptables-ng-socket-io.d.ts","_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"fesm2015":"fesm2015/addapptables-ng-socket-io.js","metadata":"addapptables-ng-socket-io.metadata.json","repository":{"url":"git+https://github.com/addapptables/ng-web-socket.git","type":"git"},"_npmVersion":"6.9.0","description":"socket-io module for Angular","directories":{},"sideEffects":false,"_nodeVersion":"10.16.0","dependencies":{"tslib":"^1.9.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=8.0.0 < 9.0.0","@angular/common":">=8.0.0 < 9.0.0","socket.io-client":">=2.0.0 <3.0.0","@addapptables/ng-web-socket":">=2.0.0 < 3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ng-socket-io_2.0.0_1566854053247_0.0952481683051154","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@addapptables/ng-socket-io","version":"3.0.0","license":"MIT","author":{"name":"Addapptables"},"description":"socket-io module for Angular","homepage":"https://github.com/addapptables/ng-web-socket","peerDependencies":{"@addapptables/ng-web-socket":">=3.0.0 < 4.0.0","@angular/common":"^19.0.0","@angular/core":"^19.0.0","socket.io-client":">=4.0.0 <5.0.0"},"dependencies":{"tslib":"^2.6.0"},"repository":{"type":"git","url":"git+https://github.com/addapptables/ng-web-socket.git"},"bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"module":"fesm2022/addapptables-ng-socket-io.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/addapptables-ng-socket-io.mjs"}},"sideEffects":false,"_id":"@addapptables/ng-socket-io@3.0.0","gitHead":"3f5b177d0671a0286ba61e6a45ec6674a17d04f6","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-+7VBJoJFuhtuwM+clHqEm0/+zE/hVzj4oESN/pbd/gJFXNf5alTojSalbiBcaYOwpP8HsAZGHWTREIVgFS/Ptw==","shasum":"5bc71f9700a031bfd33062f50246d97cf650f57d","tarball":"https://registry.npmjs.org/@addapptables/ng-socket-io/-/ng-socket-io-3.0.0.tgz","fileCount":8,"unpackedSize":12001,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDEwWhO0HL7DqT70OG2rUFKo143abUyBMW9Xb2mcl6wYAiEAy4QbHktR+oaFGkVumVsAnmNuhi/ySueX9qLcQYeoCBY="}]},"_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"directories":{},"maintainers":[{"name":"teogl","email":"teito.lop@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ng-socket-io_3.0.0_1781806153128_0.591726464167168"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-12T19:24:25.851Z","modified":"2026-06-18T18:09:13.405Z","0.0.1":"2019-04-12T19:24:26.202Z","1.0.0":"2019-04-12T19:38:03.149Z","1.0.1":"2019-04-12T20:51:46.011Z","2.0.0":"2019-08-26T21:14:13.375Z","3.0.0":"2026-06-18T18:09:13.279Z"},"bugs":{"url":"https://github.com/addapptables/ng-web-socket/issues"},"author":{"name":"Addapptables"},"license":"MIT","homepage":"https://github.com/addapptables/ng-web-socket","keywords":["angular","socket-io","web-socket","web socket","addapptables","ng-web-socket","signalr","signal-r"],"repository":{"type":"git","url":"git+https://github.com/addapptables/ng-web-socket.git"},"description":"socket-io module for Angular","maintainers":[{"name":"teogl","email":"teito.lop@gmail.com"}],"readme":"# ADDAPPTABLES ng-socket-io\r\nADDAPPTABLES ng-socket-io is a library for Angular,\r\nthis library is a **socket.io** adapter for @addapptables/ng-web-socket.\r\n\r\n## Getting Started\r\nTo get started, let's install the package through npm:\r\n\r\nChoose the version corresponding to your Angular version:\r\n\r\n Angular     | @addapptables/ng-socket-io\r\n ----------- | -------------------\r\n 19          | 3.x\r\n 8           | 2.x\r\n 7           | 1.x\r\n\r\n> **v3 note:** this version targets `socket.io-client` v4. The global\r\n> `SocketIOClient.*` types from `@types/socket.io-client` are gone — the package\r\n> now ships its own `Socket` and `ManagerOptions & SocketOptions` types.\r\n\r\n```\r\nnpm i @addapptables/ng-socket-io @addapptables/ng-web-socket socket.io-client --S\r\n```\r\n\r\n## How to use\r\n\r\n### Create a websocket service\r\n\r\n```typescript\r\nimport { Socket } from 'socket.io-client';\r\nimport { WebSocketGateway, WebSocketServer, Subscribe } from '@addapptables/ng-web-socket';\r\n\r\n// gateway with params\r\n@WebSocketGateway({\r\n  url: 'http://localhost:8081',\r\n  autoConnect: true\r\n})\r\nexport class WebSocketService {\r\n\r\n  // web socket connection\r\n  @WebSocketServer()\r\n  server: Socket;\r\n\r\n  // subscribe event\r\n  @Subscribe('news')\r\n  connectedUsers(data: any) {\r\n    console.log(data);\r\n    this.server.emit('my other event', { my: 'data' });\r\n  }\r\n\r\n  // emit events\r\n  sendMessage() {\r\n    this.server.emit('my other event', { my: 'data' });\r\n  }\r\n}\r\n```\r\n\r\n### Standalone API (Angular 19+) — recommended\r\n\r\n```typescript\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { provideWebSocket } from '@addapptables/ng-web-socket';\r\nimport { SocketIoAdapter } from '@addapptables/ng-socket-io';\r\n\r\nbootstrapApplication(AppComponent, {\r\n  providers: [\r\n    provideWebSocket(SocketIoAdapter, [WebSocketService, /* other socket services here */]),\r\n    // Adapter is required, gateways array can be empty:\r\n    // provideWebSocket(SocketIoAdapter, []),\r\n  ],\r\n});\r\n```\r\n\r\nFor lazy / feature scopes:\r\n\r\n```typescript\r\nimport { provideWebSocketFeature } from '@addapptables/ng-web-socket';\r\n\r\nexport const routes: Routes = [\r\n  {\r\n    path: 'chat',\r\n    providers: [provideWebSocketFeature([ChatGateway])],\r\n    loadComponent: () => import('./chat/chat.component').then((m) => m.ChatComponent),\r\n  },\r\n];\r\n```\r\n\r\n### NgModule API (legacy, still supported)\r\n\r\nImport the adapter and `WebSocketService` into the module:\r\n\r\n```typescript\r\nimport { NgWebSocketModule } from '@addapptables/ng-web-socket';\r\nimport { SocketIoAdapter } from '@addapptables/ng-socket-io';\r\n@NgModule({\r\n  imports: [\r\n    ...,\r\n    NgWebSocketModule.forRoot(SocketIoAdapter, [WebSocketService, /* other socket services here */])\r\n    /*\r\n    Or\r\n    NgWebSocketModule.forRoot(SocketIoAdapter, [])\r\n    Adapter is required\r\n    */\r\n  ]\r\n})\r\nexport class AppModule { }\r\n```\r\n\r\nfor child modules\r\n\r\n```typescript\r\nimport { NgWebSocketModule } from '@addapptables/ng-web-socket';\r\n@NgModule({\r\n  imports: [\r\n    ...,\r\n    NgWebSocketModule.forFeature([WebSocketService, /* other socket services here */])\r\n  ]\r\n})\r\nexport class FeatureModule { }\r\n```\r\n\r\n### Resolving the url from a service\r\n\r\nIf you require a service to obtain the url, you can do the following:\r\n\r\n```typescript\r\nimport { Socket } from 'socket.io-client';\r\nimport {\r\n  WebSocketGateway,\r\n  WebSocketServer,\r\n  Subscribe,\r\n  ISocketWithOptions,\r\n  WebSocketOptions,\r\n  ManagerSocketAdapter,\r\n} from '@addapptables/ng-web-socket';\r\n\r\n// gateway with params\r\n@WebSocketGateway({\r\n  autoConnect: false\r\n})\r\nexport class WebSocketService implements ISocketWithOptions {\r\n\r\n  // web socket connection\r\n  @WebSocketServer()\r\n  server: Socket;\r\n\r\n  constructor(\r\n    @Inject(API_BASE_URL) private _baseUrl: string,\r\n    private _managerSocketAdapter: ManagerSocketAdapter\r\n  ) { }\r\n\r\n  // build options for websocket\r\n  withOptions(): WebSocketOptions {\r\n    const token = '123';\r\n    const url = this._baseUrl + '?token=' + token;\r\n    return {\r\n      url\r\n    };\r\n  }\r\n\r\n  connect() {\r\n    this._managerSocketAdapter.connect(this);\r\n  }\r\n\r\n  // subscribe event\r\n  @Subscribe('news')\r\n  connectedUsers(data: any) {\r\n    console.log(data);\r\n    this.server.emit('my other event', { my: 'data' });\r\n  }\r\n\r\n  // emit events\r\n  sendMessage() {\r\n    this.server.emit('my other event', { my: 'data' });\r\n  }\r\n}\r\n```\r\n\r\nInject the websocket service into the component:\r\n\r\n```typescript\r\n@Component({\r\n    ...\r\n})\r\nexport class YourComponent implements OnInit {\r\n\r\n  constructor(\r\n    public _webSocketService: WebSocketService\r\n  ) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this._webSocketService.connect();\r\n  }\r\n}\r\n```\r\n","readmeFilename":"README.md"}