{"_id":"@c10k/jsonrpc2-ws","_rev":"8-8e3ed535aa225101a74d774403d1b1b5","name":"@c10k/jsonrpc2-ws","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"type":"module","dependencies":{"p-queue":"^7.2.0","ws":"^8.6.0"},"name":"@c10k/jsonrpc2-ws","description":"https://www.jsonrpc.org/specification","version":"1.0.0","exports":"./app.js","directories":{"lib":"src/lib","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2#readme","devDependencies":{"jest":"^29.1.2"},"gitHead":"e629acde66c149725dddff4b0e0112e03b13abc4","_id":"@c10k/jsonrpc2-ws@1.0.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-sij+yQpr27VakBJ+hoaISmPGJ9nTMO+SaFhg+/B2sTqnxYpD7eItDJZVLpbVeGUciKaHUuxg0mwNf7wDj4UZUQ==","shasum":"97f951c6865e1d3286a86cd614c5cb873c201115","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.0.tgz","fileCount":15,"unpackedSize":34517,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQrkH6olWeHu1zpQixRlIjooKDW/sD/s3GHTNNWTXagAiA0HcA8N72pu48Lx6A4dKeNZYxxRtAr6EDtUqFPJY+jtw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRTcWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKnA//Z6m2hOPRhtTdpdsngEnxUeYlsie/KM4Y4ldH5DnFv2UZlLgu\r\nWIGlq/jY8G9SXoF7EB1uPKz/ugGz1vZrC1yH5qjzaHtnbapB1HWFAlQIqCPY\r\ndyt7CSFwB8FPbUdcQ0TLtXyL2lvlfJ1ydDxzLcG0+CmQlVBxp4zZFIqcxe5/\r\nB4poP68Y6TZH7x4XH8oCYfZ1Evwc0LWDhFzcvE1+drXaw2HhbZtmiPk8APNV\r\nBrvWvn/3VE5/FE0CHQPg+NqGzGkS52Cu9nzQmUtcBA6nRyNwkobrQ60OGoTq\r\n778OXWQ28iNQBMmiXYcyARc/unumjfw4h84zmcL8dhJ1P1TmIs3mbvbTEe2S\r\n+Msgvbev/aSILJz8nGJ40CMKveNZEnr5zF+HwaDi0O+lqp/w6FCj4fPL7+9/\r\nQvaz1qzlg1R6l2VhvPC0hqsAojj5DwidQQ67ewNGTlpE4fhnLIxEHdE4faFz\r\nBS8XCza1aOIjP1eHQJndvS6cnavPiuW+ymnGKdtJStMbtcEqBAlcFnQiiyRx\r\nziiaCp1bmFWXMNw+he0NqVCLkRdET8oBTHVijL98/YdQB0esrMoKqnsGGOlS\r\ntved7o/3/rlBHZ+1Kw/dXVT1pmjA1VoN588/NOj+xDdwO3foHBmlg6WFA18D\r\nr0Mh7cdl28PupKL0w8hSM5OqRCUCzORMX4I=\r\n=kVBF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.0_1665480470554_0.2212051447175052"},"_hasShrinkwrap":false},"1.0.1":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"https://www.jsonrpc.org/specification","version":"1.0.1","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2#readme","devDependencies":{"jest":"^29.1.2"},"dependencies":{"p-queue":"^7.2.0","ws":"^8.6.0"},"gitHead":"139b6884f717e6ba869ac005dddad8570e7998fd","_id":"@c10k/jsonrpc2-ws@1.0.1","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-jxY3egaHhMLSLY5kCVAF7mmqiIXSJGZ5nNx4qcpsUEBtyv9mTQ5qeCkMhwT/nOK2C6Silij1I41OC2s1Om0Unw==","shasum":"069fb8ff49830982b9113921a8ec57fa2f29a388","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.1.tgz","fileCount":16,"unpackedSize":34283,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyOh7IYC+zLEfqhJl6jhijARSsaVYqnwrMDVeb2DOZ4gIgOAyeiDA8J1eUhHSGgIWiCLli84Fxbx502DbqXSPEUEc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRXWQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMNg//UmEqbkQFQ9XyZzqdRI51hcrQgTf+dGlJihkYyMkkZf6rping\r\n89e4rrROA/C/qUZk3JSu5U++83BxvHvCA8rEMFsZZqxBfgvhrU27fmDhxch9\r\niAu6d0wo1k8CBw4XY8umdef/JaQWDo9q+8TObKpFFOkGJHsZAixwR0riAAID\r\nWKXHdq/CYtqXO4tRahgp+UEJ9kjnzJq5AP2QGhUzZvlTwdEcb0BlNqkIjgcw\r\nJYt02W8mKXsT4axMLiBFVAYHkYdT13qBuxmoiouQO3Hec83cHEQvxMpDI5rj\r\nM7Msu1l8KUNZtVgFKTdYtzdZNyhhILVaDCecvZhTKFI16Z1gu9PSJ/ELPPvw\r\nxlONN0JTHcIw7oUcSclIomv8zaGOCuW12sS6rZ3id9JzFTAtVKaJ7745FM9x\r\nZ7+MX6K6o9XvWPNGOl8BmwMWA8Wr8oAM+AXvgaON6u7d3MPGh3mZcBuoiOvd\r\nCW4AmBb9QSG3lb6Es+z9XSvF6K/20LR9+/riWlAnt57e3WtfbCkvvr/r31ri\r\nZRr7m9Gic0gjMDMin0YjGtyFgZL4xFpaNqw6xtUGK0+20FnItU54Ma1DEdZi\r\nThEHHVLSa/nXqt29JA+5e8agwV1IHj9EdMdaHKEW9rGCZXBEl8Ygef+9LRls\r\niTDR+DgT7k6QMy97xXT+imad5nwVLPklc2o=\r\n=MOdm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.1_1665496464583_0.9606892375216434"},"_hasShrinkwrap":false},"1.0.2":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"https://www.jsonrpc.org/specification","version":"1.0.2","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2#readme","devDependencies":{"jest":"^29.1.2"},"dependencies":{"p-queue":"^7.2.0","ws":"^8.6.0"},"gitHead":"1ec90e67278043b3ac23601b1665724e9c52e386","_id":"@c10k/jsonrpc2-ws@1.0.2","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Ned4GsxTCk4Zu0/BvdhTPKw9XWX5unJ0VZFdz5G1er3aalJwT7PT6yjMvfvnc1As2FLIHvW6NoLaacp3g8A/og==","shasum":"80b54088415cfbe386e22dfdf391af6cdf9b312a","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.2.tgz","fileCount":17,"unpackedSize":44753,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6z+tydP8R1oQxuz+uMJkxrXrJ8tXveuqQwQmcihVuiAIhAPSqc+0/uBrHO4RrHImN1SVBtXdazvvTcQqT8pSKIz2L"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRi23ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7HA//bBkJLQpN8bnhxKdAVnu5ewpAh22Uuio7YXIiB8OaIW02jOk4\r\nzB3YUQ6pjC9Sptu3ytxkaWPczwZVJoKWxKwDivxCwbeQ3A4epNtLrm7tFthk\r\ntpmpy7IGaLa4uRbvhe1y5gAgUyrgGBNgmLZJaN6ER7BfxwydcjWmRc/4Eogy\r\n0ugVcu/8Wml22czzyCq5dUkx5Bp275hNXniEHA52/zXjCdLCKh2qJL2LkTrE\r\nwL0ni8cCmi0g+A4o0FpQB0yYUbsnlV2rhWy2b5XBs3pwP2Bb6hjRcCvkRSRu\r\ntFZ4xHJJpc6lSxAScSSvop8BlQDB++wCnBU+S9VWuh1Y5Jtn19ncLNEu5Gvo\r\nbHX1JO+hV0AWHc17uOSLK2Q4bvYL3ujIbJVARHm4Y0vv9vhDcehbzk/GRo0A\r\nvzkqjZmIOI7rvCle2/zmoh6s7oYKhd5uTfarxifZwarGVjOtupuABpHJkwpQ\r\n3yO3Wlkg/itci/DYDYaQG3+hWcwIhgv5vndBn6d9gtDCNp7/DeN9I8qWgOmC\r\nWiBdMyfyvCXOoD6xkJjLaM6fF207iU9zRz2XAOkYztSW8b5RClkvzviRIzT9\r\nYu/VwyqFh9QTwTpQTAsOon2P6qEjqX7aHKdLkeYZ63g4FI9c8YWuGno0/HVX\r\nC84MddGr1cm1vMMgM93HFgM5BIX0S+orAi0=\r\n=mctd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.2_1665543606785_0.8124039995204477"},"_hasShrinkwrap":false},"1.0.4":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.4","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2"},"dependencies":{"p-queue":"^7.2.0","ws":"^8.6.0"},"gitHead":"ee8c6ec93270871adfdce9ff23e741da37cebb0c","_id":"@c10k/jsonrpc2-ws@1.0.4","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Yqa7UeEWWXZ9UyKigHzFmeJUpsvOE4wcc6b9NQJi5Os5elmRluKEmacV8Vw3GEphAWCSpwHCP0CWI7nhKowHCw==","shasum":"15ca0389b4caedab6da819a54456c06e83a27458","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.4.tgz","fileCount":19,"unpackedSize":54080,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmDVd6DTVX12s+pnUzRO3CvBKscStyRFATuhqU+jQ1+AiEAiLM/sg1gOq76pSRuzWctUO9l8xazAr5N9zk65ozcgng="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR41qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxBBAAkya1kYxao5kkT4iY/vFz4ycfue5G0Q18sFThT+OtxBA/EHIW\r\ntomQTO+bNhZMC4guQWrzBFUM4+KO13nWVaqGmrzL5Cqt+NHWX6Kx2ACMSrZx\r\nGdan3EePU9qZ7r4RcXcD0F4qoRIwJ3G6/p6WylKfFYTWFn/yrqmjx0nqLArR\r\nwSpRwJm5xb1V5z5FrdjmBM7CCwBUlU6d5QR9tPxETCpw9ZQ0Hcy1GjdLhS4O\r\nQweptcKIG1XaUICwQF23mpdlegO350b2WpX5a9G3MRWkZYTQ1v562udcS71J\r\nYVkbVstfGE7wOHssRT0Qh6IWaupfjARIOaVpl5UETUCJCw0RMqvwFxQlx20D\r\nAkE4kGhCPh3+QntnMaAz1uJl8BTenirXK6mjXAUl1oBZMBVyT1xe5DWJOFKE\r\ngm1Wmcb0+BoTTjsEiR5W5ppTOYHA80ZQvW+u51X2RUjlIyDdMYdN0LAkd20A\r\nUztDrKpSVLjwClT/wuzWVQAomDQjaL34tITg5Sfd931L9bevTi2HrsHZeThz\r\nls7HyLzUtqif/WDKPkJtfEGPxw16Aa9YVoTAODlkLOc/paf5ftLSlqypf669\r\nbVK+ulLiYtivSbvmj/CnlcbaOSh5S9uOWHjSQfofyMN2q2XIClo51Xz/Kvf2\r\nbuZhq1I7KjsltjN6vrpegKVq+3+t1mXRsLU=\r\n=F2gc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.4_1665633641801_0.7127111625232494"},"_hasShrinkwrap":false},"1.0.5":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.5","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2"},"dependencies":{"ws":"^8.6.0"},"gitHead":"16fe4a6aaf4c9e1ba3001ca1193c30aa4ba21757","_id":"@c10k/jsonrpc2-ws@1.0.5","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-OmauiBuSdXBAJxEmqlpn+ccyJuQe2J0ajAubecvADOGJEyQvMo5PFZ8skudwD4VxSInA2sIWmcKPr5ZRvjQDfg==","shasum":"97aeeefbb2807ec0983aa797a24f04b7a7e89c5f","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.5.tgz","fileCount":25,"unpackedSize":67560,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH0tuo8Y/JBJ5jm1L1gir5f5+JMQO0s9uG1+OpmgBYh0CIQCd9c0ZXdhyedSnzi9ObFTnh3n97c7bYWvjJ76Mhgc1Cw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY3MmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTnQ/9HYQ9oD1atTAebQd9g9BFiZJ32KGu9jc7fUnUMzgmR+IA3HQ6\r\nJa2cdApLqsxCKwMz1OlaYo6RUh5YDHqxWx37Up/57CMaP+7ba43Y5l2UVyM4\r\nBbtmSf47Dv78kihHwnBJeGCm6SHZvya2lOVmIW5lS84I02hL3RKu9j2KHa+n\r\nJsY528GRWvsrcqeOtBpUYxxgSmQC+Q+YN+OfH2KqgBH5MStnaLPPlR5Jw5mF\r\nH/F0hKRUUPPN0XIwL7aUR9asmcdXg3x6JRhPkCwuaDcirhCCpfY9FuYzYfr8\r\nUmiFqpBrCJaJpNBe0/QnZeTrrDdWk6DbKkkTH5CLf9uVY8vhHAssi8EaOySE\r\n2K5wHf+cgRfB8SlcG6OYLLqcw7npmBVFQ6kvM8KABwWhkMpLprbANYAMVrhe\r\nQOx9/2h1aBkIeGFl0FDGspnKfTmezthPjY1ujzGJx0wBJ9qsIiuAu4AaI164\r\nSw0kCxACrGL+D2FFLoRfKP3oz5On/POPDT5qWfWXAE3glER1K4EUL5t5Iaup\r\nwFjqLP0ekeTFGBOPyWLTmnbLlJ7DZau4h/nABqm7g9l/5OnQ2j2c+GHzxeCn\r\nSvdbTTwbGstix0zNSWuzWAFAlutXIi7pNP/TUpNt9HaDqYj2Fs408dkSXG9L\r\n/zwo1/B9POOEaKhdw0D2vuUblaqjWddSS8g=\r\n=Yvnu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.5_1667461926368_0.3522845565039616"},"_hasShrinkwrap":false},"1.0.6":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.6","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2"},"dependencies":{"ws":"^8.6.0"},"gitHead":"e22275d299fb2c2b78cc0c7e23a5017ee3d1cba6","_id":"@c10k/jsonrpc2-ws@1.0.6","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-9xPdWI00NSGPuQk4xLO2gH7WQLcTVXXdWz3DsF8uNovkcsb9cKoZ305WXxJQ+tP7FFlUh5IzRAwMiP1bgQkr1Q==","shasum":"d8e5122348038712f1e560e6fc83a704355049fb","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.6.tgz","fileCount":27,"unpackedSize":69051,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWyLOWOibDYFbD0b61t04TqQ2JUc6dxMgCI6M6CHdvuAIhAMswg/eArfxsqqXnTjL1u3N2S9uKCgJC3WM2snHNlG9a"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyALnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpznw//dIkxPrjV1smoqY3zR/t+jCOZmTtlJ3uPrx/ZQL+Ro7GZb+Ef\r\njC45xM+a+azFq5ZDy40ofaNFaTujLKIhBEuAvZRZAPo204Ha4hMeCgMnDC7w\r\nAcdz0Ot8c+CrC4BCgdsDpX+gqdaMB1gUQhFIiuKqTCLyE9dkbnisON7x/Mew\r\nZIp3fmr4LZen+9tShYBh0MRRVDAxxe7OQwQtGh9RWFHtFFZeAfW2/NKBTKiN\r\ncI1RlxpxFk33lxmzo/GcJuuArdnDfNALQUZJ/roFuZvRknuwM8mwQ5KSI4rU\r\nDvDO/UN1EIo3VnE5cd7qU/5hFCWF11djH3CXRcEokSUF1ahLqoEI1szDpi2W\r\nfDXedFe4wwMej98xZxSvjqkFZ8f+iUzES6RpLRfIut41z7nKJXBkjVdNZa7j\r\ni+qyW9cy6cLR71hAbaEeGx9pSXhCtB4SYvELawqoH3BU9S/snzEtKe5AJ6n9\r\nN9NQNbUTS2+MSL4DJnnmhIWQxG4ZbpJAD+S8AERDPFLyGL+Y+tF+RVtZAghn\r\n3b2oTb5nPdU+AyR/hvC4F5i/OwIb2/qiB98kB7Zf/rIp59uiiMWKdwBShHTp\r\n5vOg31BvHJZzsGIoWyxdXbvK5d5pxJG9cDzftmzIgk/uqoiCf5QYQTJ06Gpj\r\ngg7Yt0S8CCJfhw5clPhwZPiw8/BjMB+KEo0=\r\n=Nmzw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.6_1674052327551_0.5584635803633584"},"_hasShrinkwrap":false},"1.0.7":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.7","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2"},"dependencies":{"ws":"^8.6.0"},"gitHead":"2cb2cbb5f632d7efc48d18f9e7b30b259b662571","_id":"@c10k/jsonrpc2-ws@1.0.7","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-WdRrKuL9bgD7arC5M9FPbIvNM7KQhEAeiz49m/MMeKmrcTyVZ3enoz4nh8FpXtQAwemypHMHAZ/TVg5Jx2ovzA==","shasum":"7bef706b3c0316c4d9f380f8c0cedea68e029922","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.7.tgz","fileCount":27,"unpackedSize":71343,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVC9l4E8aQFtpLSd/38sR8K/YlwIu0x3YVs9paiIZFoAiEAhmPJk5nq0pgwzJM91KwxuXE9EGEUJ7GkZnm+UJ1xv0k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1hZRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqP8w//SZ+myfv7SkQRL9fkY0guBMn2Xx2rEMHd5zod4RfhtMw4SkLR\r\nyCU/R/ShTqbHxcd0WdWM6eXi+QzWMemt+fAl1puYXmsGgtKV6rD7p3llsN/7\r\n9H6HLb+G3J2hPHYxPHqkEwFEadD5lPJs3CXq7X83BFOs2nIeUU3eXnkxG54w\r\n46nAwCooMDqAf5TryAkOa0LdoUD1QrTl15qX21AHczXBrm0HlqEr8cpmN7aD\r\nt44LO6Lft3Vvg4eM0bpGe2eJ3tOu2Rt4hEx616Jui4JyUhvRLzba+HxAsKB2\r\nkCES9ZwGODrewgkk6WsEbHr8CSlcK131Jb/bLbk/G1PS9kUmDdXzyYvGFQu/\r\nNjljQm5r7cjLlc+CT+OTi+dKBC/oOz3xhSdWlwUWBj618vao/IDC4o/t1nv/\r\nZXR7jCxwAHC7MwLZz190bIm68keT5+3Y2hLOB5aWwdXKD5XOwZ5+DHms9BHZ\r\nioVxyaw4TMT76uqwAEC1oZP0tGDsvYC+20BIyWkDDcVaFrx5Qm0y4FSDwPnE\r\n/ESiv3SIDiGz2/tVCuQjtXmuD32bnROFFBj6F5UwxQt90ds5MqOEPAvJUXOT\r\nVWwAThjeCySB6pFca9W4qYJ5t3P9uglvh3N1g3Pk5pCEaDMjvYD/rSGZobOW\r\nos42N2H0UVDwPOJw9RbSnp8UOmjOvzYGH9Y=\r\n=iwTF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.7_1674974801480_0.17332468828042225"},"_hasShrinkwrap":false},"1.0.8":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.8","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2"},"dependencies":{"ws":"^8.6.0"},"gitHead":"0f43fc3315a50cb6c067a18cc6b49d99cbc21ea9","_id":"@c10k/jsonrpc2-ws@1.0.8","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-VIOCCyab63YQT55O40zawRfX7AUYaHNsKjAss5q5wi8cJ7fcgoP/ojSqltC9nEvVdD5Un/r1r9LAriK+DCd/fQ==","shasum":"6acf192d11258570c2635f1b676ef0f31b72f19d","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.8.tgz","fileCount":31,"unpackedSize":74290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxkXGVXVVarlywWLuKaqERVrKT+GVvQUYOpcUlOXd7YAiEAj10YXWMJjxsDQi7B8JNzf7Dswmc2PRVUYn/f8ravNm0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj32/cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTww//S/t9MwC40FpVm0GpXR+BuhSQ4bPBg3oe3Oy9UtU2Wp/PQfBm\r\nfJK16AvwVX8DFKCVD+a3m8tR0MffAjE1qLRJK2IMHHUBqSqeuWSW+A9FgpQ8\r\nRMAVaetKpy8mONz87k/08Yg2MmuNGKBfRIsjzPzqOXiI+MyTj+DbVROs6pyC\r\neAqIupo6E4ToMTtD2uU7WIw0yXy8an8s5FV5JdhZ34Rat/MQbKy3JkqPUja0\r\ni6xAdw6qAfRoEBghnbO1/pgW03YTobcXjM+hl0miPd5c9+LUArX+hNd9wRSe\r\n84xGy6Ci5vpOHb3jCuxG0y0GOs8nMUZO9FdiokuQmy+ONI5Ej/oJBwNWRV/u\r\nNss5iCKtno/4/bXzi+mD6P8DFH4rVW3grgICU6Nk8BjnEmT7gZcALrtIrnoi\r\n+GqaYr8lAgxc8jIxF9QhEavUepB2jF5mIgJBEyBWmkvG3cXETDQPaVvu4zkk\r\ned4B2xIWLsmd4+/oiEWRNUQLvC4S+UsqN4uPcWFYunQ6BKS8ni69IgqKh9ui\r\nEbxu8zW7mIsGub4rOJjaGBWrQsrjQeNyspGGDzfrFmEO/9EXH83AU2bJ3Wha\r\nMJwOZnQaK+cH26j5ee6c2eeTUwiRiWceoSV6HVYJna9Zidwoqi3V0yKWn6zj\r\namrSjsU+Qb6C8qxsC27w7SeSeLruUPPVU7Y=\r\n=MQ8Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.8_1675587547963_0.5926911204306815"},"_hasShrinkwrap":false},"1.0.9":{"name":"@c10k/jsonrpc2-ws","type":"module","description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","version":"1.0.9","main":"src/main.js","directories":{"lib":"src","test":"tests"},"scripts":{"test":"NODE_OPTIONS=--experimental-vm-modules jest"},"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"keywords":["jsonrpc","websocket"],"author":{"name":"qyvlik"},"license":"MIT","bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","devDependencies":{"get-port":"^6.1.2","jest":"^29.1.2","lru-cache":"^7.16.0","uuid":"^9.0.0"},"dependencies":{"ws":"^8.6.0"},"gitHead":"2ef973bd09e69d628451d1befd50eab29ed5cce3","_id":"@c10k/jsonrpc2-ws@1.0.9","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-9koHAiczSjfsC5k2AGpL3JbzWuujgOMTVa75eZn2I6dWdybIfxzNdizGnnr2VYot5DDpwZK9huqVdfDTxrnvAA==","shasum":"2b44f11d3bdb8b5b3b7740a9e3ee0b72d25b9e0d","tarball":"https://registry.npmjs.org/@c10k/jsonrpc2-ws/-/jsonrpc2-ws-1.0.9.tgz","fileCount":36,"unpackedSize":85904,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt2tk8TyJV8GINFPZZycHE+H+muZ79ww37wunC0IZRCQIgbIqBEOHEDRZ15ilNXTyCwc72WYFlvp3QWRYCfoP1Eqc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7yI2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7KA//fqF/4BFKkPCXOd3wGIWtz+kUxQSq2tfPlZ8apF2IokLNPqPq\r\nm2gvPZ1p2V3FVN9gld2x1tca7ilWGY9MRLbxv6UdBgj1FcYlJuSE6jLHCIbR\r\nyClpswWbIRvt5TcZ4ol/gFwBkuV600dTcfOR8V0ZNpOk9lE/V/Vde17Jtfyd\r\nKEEyG/gd/fAYqAywH2kmdu6acbX7Mhsqacd3XP+bINPbSBCxdK234DfuF7F4\r\nNfAyRTwWjBq1TWYFOToI0sbG+2bhoTabooxR65VCzRz3sSxBhGNxTY2jRmG6\r\n8c0T7O88hCg1Fq3BxIP0kr5m3u5pVy2axP+ZvdpumVOrGAO9pLgvb3HAZi/K\r\nU6Ie3ElxjUa5C/EpCfYXX9TCUYn0HDJsztWy0tgatDzubxvwPXGqszGAKUJm\r\nQDFpeqjas9/569tizWQOLOI5H+OgAuzwENTYMoXJ8x9I40AT+1EBkBICSsSR\r\nxu97bjDL9jXMnBXw8d9YFzjs/7N4sZE1pva3UZH54mxzt69uVK9PUS04i01X\r\nmrs5CLiUucr0JZOUIDzGDIGPz1tnFQgqRo7wuAHwL7k4G0sycwAGi6g7fWp4\r\nmOef1+wqJExlkRJNiB71inYtf/l15lzDaaT+3dHifsgS/B9+FWaxAxmiL8A7\r\nfD1eKehKFU3jeUGOcfqEuUBGsWTVM/fTENg=\r\n=xtJZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"qyvlik","email":"qyvlik@qq.com"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsonrpc2-ws_1.0.9_1676616246695_0.09419367619724839"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-11T09:27:50.497Z","1.0.0":"2022-10-11T09:27:50.717Z","modified":"2023-02-17T06:44:07.016Z","1.0.1":"2022-10-11T13:54:24.767Z","1.0.2":"2022-10-12T03:00:07.002Z","1.0.4":"2022-10-13T04:00:42.032Z","1.0.5":"2022-11-03T07:52:06.620Z","1.0.6":"2023-01-18T14:32:07.777Z","1.0.7":"2023-01-29T06:46:41.688Z","1.0.8":"2023-02-05T08:59:08.130Z","1.0.9":"2023-02-17T06:44:06.902Z"},"maintainers":[{"name":"qyvlik","email":"qyvlik@qq.com"}],"description":"A simple implementation of JSON-RPC 2.0 over WebSocket for Node.js","homepage":"https://github.com/qyvlik/jsonrpc2-ws#readme","keywords":["jsonrpc","websocket"],"repository":{"type":"git","url":"git+https://github.com/qyvlik/jsonrpc2-ws.git"},"author":{"name":"qyvlik"},"bugs":{"url":"https://github.com/qyvlik/jsonrpc2-ws/issues"},"license":"MIT","readme":"# jsonrpc2-ws\n\nA simple implementation of [JSON-RPC 2.0](https://www.jsonrpc.org/specification) over WebSocket for Node.js\n\n## Install\n\n```bash\nnpm i @c10k/jsonrpc2-ws\n```\n\n# Usage\n\n## Server\n\n`JsonRpcWsServer` constructor params same\nas [WebSocketServer](https://github.com/websockets/ws/blob/8.6.0/lib/websocket-server.js#L30-L56).\n\n```js\nconst port = 8080;\nconst server = new JsonRpcWsServer({port});\n\nconst sleep = async (ms) => new Promise(resolve => setTimeout(resolve, ms));\nconst echo = (params) => params;\nconst error = (params) => {\n    throw new Error(`${params[0]}`)\n};\nconst time = () => Date.now();\n\nserver.setMethod('echo', echo);\nserver.setMethod('sleep', sleep);\nserver.setMethod('error', error);\nserver.setMethod('time', time);\n```\n\n## Client\n\n`JsonRpcWsClient` constructor params same\nas [WebSocket](https://github.com/websockets/ws/blob/8.6.0/lib/websocket.js#L45-L52).\n\n```js\nconst url = `ws://localhost:8080`;\nconst client = await JsonRpcWsClient.connect(url);\n\nconst timeFromServer = await client.request('time');\nconsole.info(`${timeFromServer}`);\n```\n\n# Use case\n\n## Stream\n\n```js\nconst port = 8080;\nconst server = new JsonRpcWsServer({port}, () => {\n    setInterval(async () => {\n        for (const ws of server.wss.clients) {\n            // you can check ws context here\n            server.notification(ws, 'ping', [Date.now]);\n        }\n    }, 1000);\n});\n```\n\n```js\nconst url = `ws://localhost:8080`;\nconst client = await JsonRpcWsClient.connect(url);\nclient.setMethod('ping', (params) => {\n    const [time] = params;\n    console.info(`client receive server time=${time}`);\n});\n```\n\n## Batch\n\n```js\nconst port = 8080;\nconst server = new JsonRpcWsServer({port});\n\nlet count = 0;\nserver.setMethod('counter', () => ++count);\n```\n\n```js\nconst url = `ws://localhost:8080`;\nconst client = await JsonRpcWsClient.connect(url);\n\nconst pipeline = client.createPipeline();\nawait pipeline.request('counter');\nawait pipeline.request('counter');\nawait pipeline.request('counter');\nconst responses = await pipeline.execute();\nfor (const response of responses) {\n    const {id, result, error} = response;\n    // do something\n}\n```\n\n## Define ID generator\n\n```js\nconst url = `ws://localhost:8080`;\nconst client = await JsonRpcWsClient.connect(url);\n\nclient.idGenerator = () => uuid();\n```\n\n## Auth\n\n```js\nconst port = 8080;\nconst server = new JsonRpcWsServer({port});\nserver.handler.getMethod = async ({id, method, params}, socket) => {\n    const auth = await socket.getContext('auth');\n    if (!auth && method.startsWith('private')) {\n        return () => {\n            throw new JsonRpcError(JSON_RPC_ERROR, 'Need auth', undefined);\n        }\n    }\n    return server.handler.methods.get(method);\n};\n\nconst login = async (params, socket) => {\n    const [username, password] = params;\n    const auth = password === username;\n    socket.setContext('auth', auth);\n    if (auth) {\n        await socket.setContext('username', username);\n    } else {\n        await socket.deleteContext('username');\n    }\n    return auth;\n};\n\nconst whoami = async (params, socket) => {\n    return await socket.getContext('username');\n}\n\nserver.setMethod('public.login', login);\nserver.setMethod('private.whoami', whoami);\n```\n\n```js\nconst url = `ws://localhost:8080`;\nconst client = await JsonRpcWsClient.connect(url);\nawait client.request('public.login', ['hello', 'hello']);\nawait client.request('private.whoami');\n```\n\nAuthentication before connection, see https://github.com/websockets/ws/tree/8.6.0#client-authentication, example see [authenticate-when-upgrade](./examples/authenticate-when-upgrade)\n\n# Dependencies\n\n- https://github.com/websockets/ws\n- https://jestjs.io/zh-Hans/docs/getting-started\n- https://jestjs.io/zh-Hans/docs/expect#expectclosetonumber-numdigits\n- https://github.com/sindresorhus/get-port\n\n# Ref\n\n- https://github.com/jershell/simple-jsonrpc-js/blob/master/simple-jsonrpc-js.js#L230-L275\n\n# binary data\n\n1. [Binary Data in JSON String. Something better than Base64](https://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64/1443240#1443240)\n   1. https://en.wikipedia.org/wiki/Ascii85\n   2. https://github.com/bwaldvogel/base91/blob/main/src/main/java/de/bwaldvogel/base91/Base91.java\n   3. https://github.com/kevinAlbs/Base122\n2. https://en.wikipedia.org/wiki/Binary-to-text_encoding\n","readmeFilename":"README.md"}