{"_id":"pws","_rev":"45-c394346d1a852b67390fca663d63f4e0","name":"pws","description":"A Persistent WebSocket wrapper","dist-tags":{"latest":"7.0.0","next":"5.0.0-beta.1"},"versions":{"0.1.0":{"name":"pws","version":"0.1.0","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"3e30943e822c51637241194f868985f6acbbc67a","_id":"pws@0.1.0","scripts":{},"_shasum":"a34815070bad2c7d99263b810989d203498ffb6c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"a34815070bad2c7d99263b810989d203498ffb6c","tarball":"https://registry.npmjs.org/pws/-/pws-0.1.0.tgz","integrity":"sha512-x1eidafZnE9sngpUpyNjpNH7H13xm3+88zw2jcxBDS8dVUO/2742Up8y+3KIS2UaWSyVI4Qnc1EcD5Cqdx2ApA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNiclYVh56wGkCdXyVzM/xQ/bn2SpWs/IGxtxYdnbu6AiEAxmeMpPVBORt8V9RYITEh9IP25FrOOwTOr5u/lhfmLiI="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pws-0.1.0.tgz_1486343159734_0.5901036714203656"},"directories":{}},"0.2.0":{"name":"pws","version":"0.2.0","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"5dbafbd30ffda4dd6bfb17f895fd6b130cf6aaaf","_id":"pws@0.2.0","scripts":{},"_shasum":"696c975892b97918add1096a9e07c0076d649856","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"696c975892b97918add1096a9e07c0076d649856","tarball":"https://registry.npmjs.org/pws/-/pws-0.2.0.tgz","integrity":"sha512-V7P8GhkwdmvBMz22IHbcO3uRGdYD8TllVsAJZLLVWYP10PW9Z/j/pQ1R/uCgGO4xovou94uCfWFYnDVCUX46Mw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjPE1MYOicDMwcW1iSm0dtWydUbVZTDfFBwWaGBzFcDAiEA4ag8yxLKPOdZoQVwHeeixsKnusADHaPr3V9t4gqF1Ck="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pws-0.2.0.tgz_1486379245712_0.5328061762265861"},"directories":{}},"0.2.1":{"name":"pws","version":"0.2.1","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"de9df11530ac04549b9d5bec738be287e1d270b4","_id":"pws@0.2.1","scripts":{},"_shasum":"51ec540b990ded3a662a9641b1211e6e548bcd70","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"51ec540b990ded3a662a9641b1211e6e548bcd70","tarball":"https://registry.npmjs.org/pws/-/pws-0.2.1.tgz","integrity":"sha512-4wu0oTGxLS4GvMN5F2WWWlTAaqWxELPK/4Epl2TINdLI1Q1fIGScDcr/K1Cr8HCj8voGb0pRaoGCnkcEhHldeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfFGXZ52TsCOq6t0Y3mPsUemVejy8huW0iTEZPwMuNgAiEAxqVqzo20v1DDD+0HY47IlVotihHEmxKPxhNAfotMdzw="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pws-0.2.1.tgz_1486723227669_0.7418256243690848"},"directories":{}},"0.2.2":{"name":"pws","version":"0.2.2","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"73e638e5da235194806a52cd68df54aa0aefd396","_id":"pws@0.2.2","scripts":{},"_shasum":"0251090f8f92e19de27c1d802b91ef94a896e0fe","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"0251090f8f92e19de27c1d802b91ef94a896e0fe","tarball":"https://registry.npmjs.org/pws/-/pws-0.2.2.tgz","integrity":"sha512-z9uMg89XG4GQXclNkYRSE0aNIVbqW9mf8/F4M2wlgMpl4QUZ2aPB5eL6hshWGonlnHX77eEGg204AZKKDSY/0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzBXYx+vblVbBKtlaZJla5C0UDD0nxh6aZwwYNl+WiDAiAQgapmnC3Jg5nu4y89Z+vfNlc2wmksZv5AFeO8L+oIrg=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pws-0.2.2.tgz_1487146965068_0.23702924815006554"},"directories":{}},"0.3.0":{"name":"pws","version":"0.3.0","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"13a3ae357b85c78be34475eb95819aa1ec52b917","_id":"pws@0.3.0","scripts":{},"_shasum":"353a39fd746576965387dc62d1c45a981ca0c818","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"353a39fd746576965387dc62d1c45a981ca0c818","tarball":"https://registry.npmjs.org/pws/-/pws-0.3.0.tgz","integrity":"sha512-LotseCEPF1qe6qIXuejq3YCiuOqgKbxQjjT+4rL3TRgnBzSDAg3Qi5QNxQw+EyVEWlTUQzHwINb8kjwxczxNhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQlM9BTI/u5steYxSxF5cXFSgc4a7l20bZJ+ISJa04owIgY9JTwOB3ErTVOkoDIeoM9lB314hg2EC2GkA94zQlprs="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pws-0.3.0.tgz_1487845166200_0.6483527214732021"},"directories":{}},"0.3.1":{"name":"pws","version":"0.3.1","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"5c7be50cff9e6e4700dc36fb99405df44031a2ae","_id":"pws@0.3.1","scripts":{},"_shasum":"ffd8174b34fae4df5ac24b7a13a10570a68eb316","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"shasum":"ffd8174b34fae4df5ac24b7a13a10570a68eb316","tarball":"https://registry.npmjs.org/pws/-/pws-0.3.1.tgz","integrity":"sha512-gVzTeGizeUVuINQ4krmo3qRpyU8nP8Lr4zJd20w7rPSFDO4qTqMPXJeNi/XSvzPtkFlt8vHHliuvSRRv+vS4RA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEH3Yw1Gpb+GTwjWR/sFCmArGAU+jV25w2JvA0e60VKLAiB6k5NTC7wJyOttdB+Y6sn4mLzPwbDDL+T1wSwlF6d5Ng=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pws-0.3.1.tgz_1487845619710_0.7109682026784867"},"directories":{}},"0.4.0":{"name":"pws","version":"0.4.0","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"2af7f05cf9710cccebe08960c40e8e7dec0d8f58","_id":"pws@0.4.0","_npmVersion":"5.4.1","_nodeVersion":"8.1.2","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-hd6QUCKGC4cpwSyYtGzAt/mWFJ/CKNg111nnbDMDsSFpkPUQGhdtw0G4/DdRfMVGjJ55ONw1vGIzg/T9RPDXOQ==","shasum":"2054ccc0297c828b2b736a839e72c9c3030f6f00","tarball":"https://registry.npmjs.org/pws/-/pws-0.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcDFdOYygP61g9xT1WB/pIIVV8z+A/+ZrIwL2NSywtjwIhAMBVqZ8sssEGYracVcbAa1sZE7vYHvfON9JuFEWUS5LP"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws-0.4.0.tgz_1505464618880_0.5003096375148743"},"directories":{}},"1.0.0":{"name":"pws","version":"1.0.0","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"979e32ba5c3698963dcb531ff152cc74a37d010b","_id":"pws@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-ZwHjZnGP3oyOg7ERLaAXbmZ/SPePm98wd61IFvtjFEi0qgE0sKWN2cbE0t2WS1tAMAgua9Slgp1Y2ribB6mVmQ==","shasum":"3bc5c6c5634c3b5eb1d29156f91884111158a903","tarball":"https://registry.npmjs.org/pws/-/pws-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBoK0CSuPA7B31ky5uCGzP58ufQQCw6bTc0JxReUTuHyAiEAvGzHp4k5liofJkXuFs5AGAv15AaaeFqqRCPfhmj3o2U="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws-1.0.0.tgz_1512656166118_0.17370066652074456"},"directories":{}},"1.0.1":{"name":"pws","version":"1.0.1","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","bugs":{"url":"https://github.com/porsager/pws/issues"},"homepage":"https://github.com/porsager/pws#readme","gitHead":"593757b8fdee42ab8308f344f675d3e82715ad6b","_id":"pws@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-mgk6yMxFjMLMYnguFMZqFcHZVRLggKTv4PE4xKT35yivqtPDK6ODNoveTv1eCTdsdUBXXSZXx24ilvaSbIUtUA==","shasum":"d464f0786e6ba7147267fdf04d2062c756097256","tarball":"https://registry.npmjs.org/pws/-/pws-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIARoYhp3AoqY3AaptFGtS+qS0dhn76XAoSxXihgQyeTeAiAF8VCRRoLEV2gaoKW+ficTAaucR4b8WMKaJMlzFTwq7A=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws-1.0.1.tgz_1513694095760_0.3410319178365171"},"directories":{}},"1.0.2":{"name":"pws","version":"1.0.2","description":"A Persistent WebSocket wrapper","main":"index.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ping","timeout"],"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","homepage":"https://github.com/porsager/pws#readme","gitHead":"cc59fed4c2da2c7b5ea42b7a726fc9f0e92ef76c","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@1.0.2","_npmVersion":"6.4.0","_nodeVersion":"10.9.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-LbrnRJxCwYuwprGRXtNWzP6gPGcvRWdoMVAMG7zceQ+qUGNImnNQM6z4y3hESSuaj7/vtfkcKhkRjM9dv2vD+g==","shasum":"b82108205e876a476c7f3115a6ccad7fb1ba464a","tarball":"https://registry.npmjs.org/pws/-/pws-1.0.2.tgz","fileCount":3,"unpackedSize":7369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjFqFCRA9TVsSAnZWagAATB4P/04qXRA2uPoltl1oeHO7\nMtJmfOmhjhSg6m0/xDX2V9e2qbFKibI8JRAiaT6I7S0HfCBR53GV1r5Cugiy\nGtp1ItEX28xhvmFTEdUpOma2nZffNenJQZoGLwqIEIrz2Cf5uN44fRcBoVh1\n6GN572RtypLBoIVleVIGEfCeveHAo1ouk3nqls638fCuwOiv3AoEZfwRpYIk\n2ho6Mpf8KKi2mROPdmTMGSs2WIvkhE7NTkkGaFok1cF4xn6ljUXgdsPynLlq\n2wskXRtETyeF/nVDYIU6ecYMz5QaEzn9UWSmnrvzPTP+SE/UgvD4G71OREQR\nnZFNXd85SHjteygpKIJkFUSlWCEMcoxG31bym7MElj4YcE1exQ30KN5FALly\nPzT0EtDsVdJlDK5FbjHcF0cvD5pzOq3ZJusF73HsmeqLAsgyKXaQo/sCMwhK\nb6ZT8YH0YGCOPZT2K/KcyXqhW1nNTwQDZ+NKTbISRAkYWg6zkHGTuWOZJsSg\nCo3a5/Dj3crmQVYyX1pCkuMLDzV5gdkziwJfsde+TIvfuKHjrq8t42Lurz2B\npAY7/42m7Z8R64ey72PH9dicA+9gNdcXCkfmyF8Ohh/g7FYr3QjltIFPpLhk\nUClx0lhnl9cZqic9aIB+EPHb/nQZ63gsbnRgrq9Mbc55O5DzqzPE67+0sJu/\no2YH\r\n=yJEr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpvIC7iJKr/iCBvzZu3b7UXFOjlDT1Pe5NNA7WKq3TQAIgGwtv5DEWh3yzkOv3Ce0oXTHkFk5uNnZAZVN/6wnC3rI="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_1.0.2_1535924868882_0.7566226620371872"},"_hasShrinkwrap":false},"2.0.0-alpha":{"name":"pws","version":"2.0.0-alpha","description":"A Persistent WebSocket wrapper","main":"lib/index.js","module":"lib/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"ospec":"3.0.1","rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0","ws":"6.1.2"},"readme":"# PWS - PersistentWebSocket\n\n```\nnpm install pws -S\n```\nWebSockets are great, but as soon as you start having a need for an always online connection (reconnecting) you either have to roll your own or pull in a big library like [`socket.io`](https://github.com/socketio/socket.io) or [`primus`](https://github.com/primus/primus). Both are great libraries, but maybe not really necessary for what you're doing.\n\nThis module gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\n- Tested with [`window.WebSocket`](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)\n- Tested with [`uws`](https://github.com/uWebSockets/uWebSockets)\n- Tested with [`ws`](https://github.com/websockets/ws/)\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm when the connection closes.\nIt also expects a heartbeat (any message will do) from the server every 30 seconds, or else it will close the connection and begin reconnecting (configurable). \n\nThe reason for doing a reconnect on a missing heartbeat from the server is because WebSockets doesn't close if the connection is not closed properly. This can often lead to stale connections. A server can implement the ping>pong from the WebSocket specification to ensure connections are still alive, but this doesn't solve the problem for clients. If doing a ping from the server it might be beneficial to include a timestamp and get some information on the connections latency.\n","readmeFilename":"README.md","gitHead":"5cc0582f26120552e2b00265cce713534000d838","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.0-alpha","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-Wchh7ted5Yc39N+2KVG3gf3QHpCOm43bpf4XL0Y31krPTIF/iS/8dapdDdrcsTzaJr6eXJjSONNcQcGaeESZzQ==","shasum":"e9ed2c00a2633b515f3838dc4a7046e975116c26","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.0-alpha.tgz","fileCount":12,"unpackedSize":28922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+dhoCRA9TVsSAnZWagAAjUUP+QFLC+JsqVxWiNSq1XLK\nTwZBQbXQn8zx1HiJeKcvg3CxAhv+aZSzBjDcv5ORYLRPPHnnMd5BQTDQ4ilK\n0r39DPU7+FW7z864Yru8wHQYHHRjHBwbnmVumdAWPtYEf8vCICfe4wKm884N\n9WN3ZHosg8PGurZHbRtJwlT6Q5MnYHcXPrfjMtYE/rjaR3GWfbJqfyMKkTBc\nd+jYTREeM7mPFX2OWaSEKpT4fDfhvmi2tS3/7wJXcpwd1toV1JBuw1Tsj1Pe\ntPsGa2uDALqWpf7HJ5zR3uX70nXUDHSOBRDv6JYb5VOrv+cr/Ob4FYZVCZ1c\nNfzcStMsUBfuwi3UavRHKM2y4vpfawr2QVbfQNTjIjm+LKV1DgDzyCcArwj2\nmZDwrtmnOVPqlJkBKZQSxnWdQXkLGKJSQAjPe2KWOi7HY4jtgQV8HpwiCh1Q\ndeG4Ra8fCpuzOrY3LDUBziZwDcCWxwiICJiqKswHqjvaWoAEDe4ctxnNiINI\nXvPQK3PMRVVw4zpSg0WVW15oXc0GE3zGDUQyROAp6lrDynPB7LLjonwBZGxv\nPZ7NrNLfPtveh4Eal2T3ZNdzp8z5kmKZXuPE0ii/t8siwrUThestT8lyDL+x\nhaYpPTKRKlBHeAkOKik1FN5IXxCsi8a517xVfvOPwOVm5GEseXi3/7m/aJiZ\nNNLH\r\n=zzid\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/wI9QZ2pobfpj/1eqEvUV69JI2Lp9DQyT2c3WspzrbAiEArtLOhGC0uFh4jmas4ZrCuXTpNOOW+awyDwWZCONVKeU="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.0-alpha_1543100520130_0.6768713250274208"},"_hasShrinkwrap":false},"2.0.0-alpha2":{"name":"pws","version":"2.0.0-alpha2","description":"A Persistent WebSocket wrapper","main":"lib/index.js","module":"lib/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"MIT","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"ospec":"3.0.1","rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0","ws":"6.1.2"},"readme":"# PWS - PersistentWebSocket\n\n```\nnpm install pws -S\n```\nWebSockets are great, but as soon as you start having a need for an always online connection (reconnecting) you either have to roll your own or pull in a big library like [`socket.io`](https://github.com/socketio/socket.io) or [`primus`](https://github.com/primus/primus). Both are great libraries, but maybe not really necessary for what you're doing.\n\nThis module gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\n- Tested with [`window.WebSocket`](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)\n- Tested with [`uws`](https://github.com/uWebSockets/uWebSockets)\n- Tested with [`ws`](https://github.com/websockets/ws/)\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm when the connection closes.\nIt also expects a heartbeat (any message will do) from the server every 30 seconds, or else it will close the connection and begin reconnecting (configurable). \n\nThe reason for doing a reconnect on a missing heartbeat from the server is because WebSockets doesn't close if the connection is not closed properly. This can often lead to stale connections. A server can implement the ping>pong from the WebSocket specification to ensure connections are still alive, but this doesn't solve the problem for clients. If doing a ping from the server it might be beneficial to include a timestamp and get some information on the connections latency.\n","readmeFilename":"README.md","gitHead":"8141d1454883b8e11e6cd9dc3d98ead3a6599a1f","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.0-alpha2","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-o0sdtzxEFPtQ/0EgWUOivVajn3vtZHwUQOC+VkUrMBINB1aIcB2nRVPYG1XSSnFQUG91kJhWEHFNPN3Xxkp9UA==","shasum":"d471baf2edead029984221d9066e67f3f5099ce0","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.0-alpha2.tgz","fileCount":12,"unpackedSize":29121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAsVbCRA9TVsSAnZWagAAzPsP/3UeyAwvMTl2DI7X2voI\nvDy1y+Xh351PqB6bgiB2h+XBodOkkJpeyewArMAO7DL9LDBWTYUEjGzAjy9m\nKcV/7ypYISAoOHM5ksYU9LMnoZzWRWApvwp02F5SVj3MsFSEXRMDgeI8Wir4\ne9bxCvMa4k6TplnrRdkBOBblY8qjfvaUsLRyaH6apQnB+wzSbfjr+peZBsX+\nbvsmw3SYoQqOLcfKfWt0PnNPPWGWuGZ9F2SbvNzNrpgpKQpDCl+V9WKBusyo\nKsgh3pa+0IxWklNi4zEN1sJda+yVMRn6nH0uSqiF5jj5NCwA7ukIHXnd5rzg\naddqWH7ZJ0rZNgrHGttmonebCC+jA4mCVeZ2ajPnYzXznCK4tW2to5UES5RC\nBhVuMc75f02La6eANjVaDnd5M6UXdhC03tnH4enuZIEx6eVFx4R2IYuJOGld\n/nHcCQnQ3+81qye4ZUAwPhoyiSuUbubDQwqRidPuUiezVcwT4bHhmh7983k/\nGnggRJ5+x97z+7fAmNulUZPTCX1D1POeJ9EkN2F+mN7CX/8XupttH0bucpxC\nWNlPmpmKNB6GjwLfXZnkyO57cG4uNnGGcFeaEsx4dHeKgX6ObvPnu/Y+vrXh\ntBoz3DhPxjWTsk6rGhkHXwCzcaxuESMAKjNfmv+iUaH6fKRBgH3weysJZoUm\n6lX+\r\n=Sf8w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWWG9OAL8ihTs7h8/swqAmMIujNC+EiCGS3IOzXMVXdQIhAIPMsjrKPirPrNyIMRKkplROpe9giVDUM9vySpfTKv8s"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.0-alpha2_1543685466346_0.3818873985481044"},"_hasShrinkwrap":false},"2.0.0":{"name":"pws","version":"2.0.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"8141d1454883b8e11e6cd9dc3d98ead3a6599a1f","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-q0xLeRFtN3SSqX60rNHwPy5q6qL+7NzQjHQhBshZsGHUmn/yCvdZzojbrS+780gJG+XR7XaeFc/Aq0qSJipXJg==","shasum":"556267a7216a0502fc46cbfcbf4a1a49af57cabd","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.0.tgz","fileCount":9,"unpackedSize":27832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcA9h5CRA9TVsSAnZWagAASYYQAIVastinOW0p3dhsDmWr\nSHzcddaWB2zs9aU4C9+fFoeE9ZlPXLEiLAYo2DifKvFukyqzTK0F3HEMdauE\nFoWTgPaXRf3y+kJN2+5rrmrioscmeIPUBHirFeiIwRX5De9sNrS9apjcalh9\nU5el8hlqaF3CcwstA5ggnQpfepYzzaOc1rcnpTUuJbsj2/hlcSJJ4SB69Evm\nalNDYYLwqU3BqwEqwYmnpXX1+RqfVW8Zz0mtsXoPaneDhuqon/gT7mdZRkzi\nlgDZdR4PCipryv+eXMzbIFnre3OygQsiZvMlwUoxDEYjft5gE0h9rMqQJ/40\nyCbyujEUcllCRzTQXv8QhuTtZoMUwJ/6wAcD9Z+egykAkIaD5zW/AFqVmDG3\ne+p9er8Mq9e5rfRJxqeedgYYzDaoSD8oiYTnaMqM871WWMu/YhLHM92j6X7A\nCBynToq1gwD2gVD4IYpIRRJSiH7x4m9WiTD667yNLltmyONzjGicpqJOXD2r\nI3l3YwLstpczynTk3QP4RZvHmPjMJ7e7Xmw/msk9FZS1sxAC/IoKgQN1c+81\nsetqYeOqTOReB4Pp+Rc74fIuLdxwht6Ll9hCsClVKyICXTBk1dmlU2GRjtUN\nNwds6AXV7wsQmN1RarvDKMPvoIq3/e47aL/mSgIAzpwDbUyRBC1DGhuqfd64\n0b/M\r\n=a+vy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHyk+gTdjDqP/PxpMAjJjsQ5xkUb1U3tGSKtfebzjJOAIgFdKYd/b7P1r/+Qogtj3mDVNOsxfgTxZBuJbIMkk7Qso="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.0_1543755896835_0.5905426367078799"},"_hasShrinkwrap":false},"2.0.1":{"name":"pws","version":"2.0.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"ad615acff6f1692e3ae03a917b66e0eb26fd4fc8","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-hNk9jRRvA4vQ6GpghgF+G4Uj1J0xb5Kk2lmG+bxr7KLIErky1QFjfrVxklFBmezFMDq1zw/7213MgHOYcD2QVw==","shasum":"c0aae8f9d732555c3eb35b38c38abec42b0268e2","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.1.tgz","fileCount":9,"unpackedSize":27844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWqZcCRA9TVsSAnZWagAA6fsP/0S+pjHQclK6dT8I2LUE\npqiqRHcJjZwvN3pjOvea3GNBD7dxxNP6edwu58ae67Pkx3UXE0Jnnv5EY7H8\nkqQA7JTB25aMsZqb7BEHndmOT7mjebTkl6AEmmpaHiqCauVcXAtF/XUs0u6Y\npxt/9f2nJZTuNwwT/HFhUrM15EOtSGwda4rdP8rANMvpiQgQox6WzEhygInn\n+Z9szTj51/AC798raPej4entl+M4Dk4sJEMy0uO7R1dn1CHQshagU4AAYA0l\nfUU/Y3M4oYdycb5oNlUHonFLPHpWS/LjbSDagGznrxZ2KLOyvVa6U9ygeddI\nhxhamrdG5PwqtavHQbv+8fdxCyOnIykFx1ibZJ6GoJj7D+MWoWmvZ0kAnDxp\nkW7tgbTzrnJnCzQen06UTJQAjL0eXBhJ1Iv4qXfm2W0XuVfmc2sqkaG8mOHf\nIVK+O0Io0UaXnqs9Vbp1yUse31xkUTIW1g4I/ob3eBv5XA/XKoZEOH0ygk/V\nfgfdn8th+oaWCubKTr3YzBzdvKdPEYl38I0ywUtmH+2ZPIeiH1qk0gOKYy0G\nzM1VNLMtIoiQemXw3BZ2hnC9RtqXbSSumPlRkkGp7A5eltXanW0MDXytpwUC\nFievU4DHFNl47600qM6k7fLY69gVMKBrK+Ojv+A6c9gpOq7YMvt6hywDe2M3\nFHs9\r\n=5783\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfsnvn0w4FCxs2rgg7UAY5HtnTxnr89l872uL4xspzdAiEAm6ggQRHnCbC8kLr9elr97+CedGMAH4aI5wNYw18/HFA="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.1_1549444699525_0.31608451256354186"},"_hasShrinkwrap":false},"2.0.2":{"name":"pws","version":"2.0.2","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"8014cd216d588186456466062c9f114b0d8bc65d","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-jqM8zHBG14er/SevxiJgYp9a4B2xxQtobVGB/VkhygnJ99xWgRO6n+7DSopkoweA4HXk+ecDOT+6TyNM19pDtg==","shasum":"1d503cb152bda42c1ed1713e8e9354c88eeab754","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.2.tgz","fileCount":9,"unpackedSize":28001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrflcCRA9TVsSAnZWagAASm4QAIhHC0KGnSJCoSMQzNx4\nIgQEgTxReKJKZO2jCn4zar1brc1m0WvfYTkNqsSPYGBmpzoAWf1R2GlF/Jir\ncFy8g3eQOqqmMFeNOhtzHCn8pEmWNeYibr4/bVlkibJ9z2r7DkBSIFDhiFA8\nm9rO9JGiEEexpykvcn+8oIT/W0tib51Epgo97RbA5OtCQDzY1R0vGU72r6+V\n+jYTwB58nn5kErzGoxIgxqPSDNd26rTu5CEAB9pnvru7JBy/xCKBTEWLa2tX\nj2TlvMM6RktsgthY/Y8ocHoviCFqB1usJ3pMPawU0oLdDU0HjjfhMWv3E64g\nIQhxlwqMp7BL1ruuGBYWTDkjNR7HVacQq7Z9CSRO8LiEaUjHl5+wWjPVBo3P\nUoT9+7GsOsjzlwhJKg4UimgX/BXfc5eGPl3zz94p94S317Va9aZhdHSfjnBn\nOPkHH5gVJpmjraHRQF7jQAubecYH46ed+8+/a+xNA16BiIOrc3dy2ZXDu5EW\nMcgqdzLkdN4Wu4dSyId+g3jsYZ1ICg72RuwIxsxaexZzlMBVhgx6kWfDsTAf\nu1pAQ1sM0VjqeE52TRuCLfRrWKfEGL70gaMkJP8JiAiuAWy6taRT8s6sv9is\nLdjZMOz4cAFu1oslQRUyl2cnV5vRi3g5jDvkftRLh5rZ4mSlfVTutIjOmpG2\ngxmp\r\n=FjMe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBk15Ap3opgIazAbib+vyHzU7p0SjveoIbvYV4zIijW5AiEAv2QpzgkwwCJYBG9tdE2dSkB1zT9co74vRxoGFn7F99I="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.2_1554905436071_0.6393413909523908"},"_hasShrinkwrap":false},"3.0.0":{"name":"pws","version":"3.0.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necesarry to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","readmeFilename":"README.md","gitHead":"78c243f96b254f443b206d15d10372724ea99355","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@3.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-FN/DfzDvxpVeoBr8yH6okR4IHEFI4+oV2rrb4KrK+cBOudU0N3Cm/hVVR8GxbsKUC2dxUlnEMMmwP8RL4Sm17A==","shasum":"e6b446bff1d6e8824a2a269f1c73be737bfa1ab2","tarball":"https://registry.npmjs.org/pws/-/pws-3.0.0.tgz","fileCount":9,"unpackedSize":27988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvuAwCRA9TVsSAnZWagAAYjMP/A9NHSzFpD6q+n29QVDv\nwKxaDnVVsq2S8pzD1SCdxgw1vuZH/R9Gli2HVnbFDJNOPDTMbYxCT3D0HyGc\npq5Mpo60lpUFQzQ1dM5s0JhvDFbIfjhqPE1pbRAccrNyOcsCGSE+JQQonPe7\n1C3AkEaV0SaLUKXmQqwHR0usIsqbmserlrbJHZ6A6ZCkpaQ9baXdnteJ0a+C\nFDAhtmzcDSSYvdyKgh2s9nLe7ipm67wzvTtty5GKZIWJoDTpancdDrCH3iHN\n/mKqVE8ZopTuTrBTm3+AEl1rD8uCOTpWWVNJeNa9Ew/jBVO/yJS/4ydoroWE\nHWLm1zGadbtt+5k9mX/FVLa5IqInH6IoPtXGLraKoUZ1jM1u1hPJCXxMSMHq\nThzHxou9pJJy4ukP2akJqhAi0wILNO6FpZYwRHsQ5JHqla1ApP6EItuXUnir\nzBUG5SCEoe5xGnqc7m+WRtVVTAyFR43my3q+QheoVXQJVMDY9JHQQr2Pt35N\nWsYRLWqnhjoBEK2sapb++eLL0twpxQNcXEdnA2ZOUSoWF0AhjM1+jZ6mfmYL\n/vFmx5aQn8ErZARhfBewayVyZbXok8r12PE8e7DAfp4TeAQTS2m4ufTSTlaP\nsY+lE9csYPD+UHxXBKllrApHshvrb2jyX0zwYmoDINOx42qoJbyLsnW3fJFN\n0gmX\r\n=bRp4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICvmGFHXhR1umIZB6FvLeEeT5xXIZv9fqZgZfP+J08vQAiATm2l0b/nLASE9vihf9nl6uolbiJsBhSIXgUkTxXQiug=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_3.0.0_1556013104368_0.19041731873904122"},"_hasShrinkwrap":false,"deprecated":"too experimental release"},"2.0.3":{"name":"pws","version":"2.0.3","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"af58659bcb72816eee23ee9ade4bdf8f087f04ce","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@2.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-4eF1cxzzYor0CFzD/WPtA1X9XZDtTGawkRQ0CroRdkHRMDQc0rbIM6GI6GZVGwDZbOE799SJ4j7oqGfpVu4E1Q==","shasum":"cb10e58052276567414e6da9f0e9471828d105ea","tarball":"https://registry.npmjs.org/pws/-/pws-2.0.3.tgz","fileCount":9,"unpackedSize":28099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv1U/CRA9TVsSAnZWagAAWlkP/jIIgvg/9FdQxml3Pmx3\nnSfXgebli4eXjF3L/wknXNOm1TyXifE9ZROxhUaSbppL8e4zDakuYZss47Ck\nN/AlhMskHrtBauP6cLmu3SOeOTndpQOM25xIi/5yFt7+yLZlU6phs9Q80E1t\n/dc8gs4Sa6/uwLRBoX6J1O6ZFl2Uyuo487cCUFhe76AX/XEPoJvCsOPXEjEq\nM5szIGnbcBaM14TcvFHyU7RO5g+lQgqXQVIEqpg15vliEx6CMEUMw/iFBHw/\n9I4CM0/FBGen9JyFzs2t7idLyabmzfb2xwPeoYgkc6O5LSVAO2mjwiU0EmLA\nemRF5B+ty9y0c/XtomJl/2t+nH47zRsCCbgUTL2O5X4yI7Xl4tKMPIZkxOK0\n+XDbQPNrVa+xQgRuJDObT8HwI9QdjgUQVIWOH3Nr3Jcwquy8ERIloyMlWRhU\njFIRqHJUBYIiUHq96lrCpLlf/OGztUe3TXFbhrcNoC01I86qnP0d5gJAP7Ru\nzjtyifgYczen7Ov1V6uVGAYAMGF1PHaSCYHApeJUgwsNEBGbwA7FrCOkM3WG\nG7bJLcIhhKZhBhYO08/dD3a3Xx2wa3PbJ52v4+1eL+H0ykG/Q7BMh91jX2LN\n2pCQhziwBuQhMsoulK85UsCFSqHrCBji1NEBlqZwp5pLQ2ku7/DKK6CkVak7\neb3V\r\n=sxbh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICB7MRqKx6zh0adu8E9E3zdorE5VFPShxHxz2p1zAYK/AiEAuPHBdIdIoX57ocNGzk0AtndxaLupXvXxfuk/eEOchFc="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_2.0.3_1556043070810_0.17186386312077984"},"_hasShrinkwrap":false},"3.0.1":{"name":"pws","version":"3.0.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necesarry to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","readmeFilename":"README.md","gitHead":"fa35a5df7c58a25a30c623c9359ee0541ff7297c","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@3.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-KoT+4LXQKeL1fl11H5rzbz6u8zRK5bGL3ALxUV5SldpDF7pdI41tsU1y7TRY3QOrU7j6sj5L124BCf4ApmqZAw==","shasum":"424f3d63396629fcf27ff2d09ad0aff654a55409","tarball":"https://registry.npmjs.org/pws/-/pws-3.0.1.tgz","fileCount":9,"unpackedSize":30942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv1+RCRA9TVsSAnZWagAAHF8P+QC12sHG/UFPShaQIxST\n6DqHjVnjEzLyp3Poq/s2SGcwPGWrJ8o5uMeBFNi+psP8q8HMQnzESgn+R7sZ\nM1pWFnokq3BMihiZP2y1ozReHQoaCgYXV6EcBHjsvOHBB2Q//wp4V0U209nx\nCzqZzBKDUNJqNuaCDDf8CEmTDhoemfif1tGwpfwc4zQxrtx14Hg4p4I2paio\nmW5rm/wjdo81Dq/2fASWjJDDsCnRPeyWOaKkoU7r+x58vDvrP3cjjLvzF4jq\nTeGnXD7XXva51v5/ze5z6YSMmwBHmwdJeRNn/GJoUY1492nC7HMSrnpq093N\nt+DZOc1+ZIfZuGnw0per1qhcRq2VKNtwBn72Ho5Lk5DxgybG/ngU40TIpNWR\n+mJlmZR5yYkvYYxbm/1wAdPwcF/95VIoNzJp1ZdjaWFIOgt10mbz32EyOlRm\nUYxeqVcLjSbw65w2PZY76lh/CmJzDO+CTOPrfKsMbOgMnf7rg10SKMEyXIKe\ni4KHeVsqt85zIZfNIaMxXNdW78O2h/I8u6iBeswi0hP49CJmxCP0XoMe+JZA\nAW00zjC6u15IXXEn3K82gFXEX8TWO6vdO7LO0hC2tRmoDjmH8qSdraHWY3b3\nY7qndrl9U8O8oH3j3WMiGfFHzKm2TunVW8qss1eoaFMV1RzMATmkQgOm9HVB\nqnEA\r\n=o4Vt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb9okcP2yp5chRH8xwBX6wBpYCdl9FF0ZxFy29MdIQNwIgWEdEIfi5a4DrEpaPKyy36h414Xwzx+OZrfYn2fM6+jo="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_3.0.1_1556045712450_0.5080528896152927"},"_hasShrinkwrap":false,"deprecated":"too experimental release"},"3.0.2":{"name":"pws","version":"3.0.2","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necesarry to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","readmeFilename":"README.md","gitHead":"7336500de64e4c0ca01244bd9a3c4ccdc1561605","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@3.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-/SD+CeQaFqkhki7xzDG9xteUnB75KlQRU9KcwWGCA0RQF5EZtaxDFcs2I8Z6dhCWeO19oIKMdtNrIFgUk0TBjg==","shasum":"c424072181ce556eb8dbee43f1fad921c5c040a6","tarball":"https://registry.npmjs.org/pws/-/pws-3.0.2.tgz","fileCount":9,"unpackedSize":30958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv2fCCRA9TVsSAnZWagAAtDIP/Awsd1/qaZMKkvBGW1CZ\nvqVml1VK9JGgcyTNNaw4fJYR4M/RxYMdQdcbTMC3+RCiZz0OaWSkQCd/FPnt\nV9zrYGtd6plDP+R5HmniQ9FclhdzFRe5iIM4aXSkiiixndqInmJ4RwwmIywl\nATOvMlP8UW3tK4LIAqZRhcm2c6P2g6uBvJ/1hbvoQOv5gjxiAQOza3nZitD+\npqyaXkckbncTjaIQIALxdMllCO+gO7JbDaCRBid6752gYQR1WApZlDFabdP3\nQkKW/YSBs2A/Ph2NEEKlz3srPOvf0w6N9OMnVhPqXNNMCoCTQCPwuoEnR2Ii\ns+BXgXsRRMKtRZEpEiq+GgzOL+e1SJG/x0aP9QfmMDtEj49WUyEGsY5BYCQb\nTASe+Dm3eCBH4tBxVzQHuQshtv9F0S5OBEd2WHfzEljY4AA2PEurzcJtDfWQ\nVSoABf8hsW/V9uK0OytibfFHTJmKznLvPViZG1stG6OHsa9b6SbWWcWpXOWJ\nheiwGrZhNfL9byf4VnDpYCnooru92cGp9sfCpBPngk29/Vl/K5R++R4RuyQE\nTD1oRx7P/Z1AaUFjBdywH4vjLbvofqmS+9Mf19SbqyLwhjW3EFRoSqjO5sCo\nbWP1V0gSmuzix1XCI1mZ5thXo4M0XP/L4g0TuiG14BJB6oHPSUgNUczE82Kk\n5Wwj\r\n=HkFl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEET1rbSa4RW2igGhojJIt1vdFYyfE4sTOejcQo9coqfAiAOifyjJEsjnofC9bcz892qKLs0gBxv2QzMVcHCYO/lRQ=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_3.0.2_1556047809441_0.24732164901150555"},"_hasShrinkwrap":false,"deprecated":"too experimental release"},"3.0.3":{"name":"pws","version":"3.0.3","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necesarry to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","readmeFilename":"README.md","gitHead":"038862599db94b015a25c784e5aad41c6a7386f5","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@3.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-SQgKiDpH4Eb0L2Za/otIwERWmLopgPl6AVvvqO33GJjIsmh6Kwr0E/NqX5AVkjFIDaAZQErMF6cu2Lvd44KjIQ==","shasum":"03eb53b8b2d601bb3586474990d118276dab9a00","tarball":"https://registry.npmjs.org/pws/-/pws-3.0.3.tgz","fileCount":9,"unpackedSize":33742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv4gPCRA9TVsSAnZWagAABrQP/iNREmdlkDk1Q2+juQCM\ncUxdLMwM0N1qVDTUlJEYmiDjNFX5MUQ1R3o7Qn5DulRU/bCb/5AlVo+o0hkx\nEzvru0Vonq19qj9UL8QN0iTOsPq6kcWGdMfNgE0DafRW+c0t0Sx0XtPPj/J0\nQTxtGbPEzP/lPR65vAvVoUX11Nld9AuxfDdKD4h0e88yGIhp3uVp1pffhoVg\njRoO/dEsDl/LWAjJ7qhBPfkqneGzIEeC3OJT+cxKbZLAjmmC+q77A4sBMV0R\nBNlEJJzWgOkJ5NfiuK/UQg1Jm7zyE3mvO1Nznz7w1a1EHLjLy1l4f2pj9z7P\nCo5A48GdYDv9W1mZL6iUx57JdctUdwKE83K5zAopqG5IJV5qMpBHPzpmJse/\n881h/AXApg8QAmG+5TI2jvrYXNyT4L1UiBuIFAK/koLIM11RITNzSH+L/Ajf\ngpBCWKhOiut0iuM7w6SpVuGE9bWgXRXdaPNjqLGonr6udEDjBEEfDoJ0umH+\nOjV37fFTg76loFUUrhEe5dQe44C+Mnmb9HiNEOTWKhnfVwyexFiyk4ingT9B\nFUDMNUQxc2P4oZ4xfFhUaS1/mAH+z0D2ydfGtUseN2tex3Du+ouLxex3YsE2\nPZAQDxEZgaUHg+HU0SL6vQPxwH7jVst1WezXIM7Mg/hCjqJCc8vi5lFx4wlU\n71E4\r\n=Kx60\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJGmPqFwOERqm4UhNU9Lmaq8F2mgPTWXe1atGaHlBSfAIgUB/3jSHYBPLouBKMoRQ6iji6uf3bEGIYsGKqlgVKss8="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_3.0.3_1556056079014_0.08836088344317439"},"_hasShrinkwrap":false,"deprecated":"too experimental release"},"4.0.0":{"name":"pws","version":"4.0.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"c57be334c1821574826e22824e7ee3ed601d6060","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-WOwm3tYECWujv3qGr9Nr/gRA/PZC7WP5eX5c9CHQ0SQoAKHgYVesPcSrdcP+R+EwleFrpu41sYsT/JTAEItUoA==","shasum":"1e23e940508e42cbd5b7affd7bb9484e2fe5a5a9","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.0.tgz","fileCount":9,"unpackedSize":33462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwD0pCRA9TVsSAnZWagAAPZ4P/2b9eIaF5KICH61HGHU8\nF4EBLdopfSdMmpFZlvq4S6hNjldPC1yxAJ0Nc/G1RMoZ2mOZz4awSYf1N4Gh\nXW2WQGtn4JaU9G71P23CJvzeoNRgi4Bd3BfwITgSCiG95RMc+e7u8Te27XLK\nC9eLI0gjwO+sT8ZsrkU//UaAdjBmF4T50aJ6JXULynbKW7zTeEsQIL7BGT5M\n5GtIJH8Qd/3dpMkGYqMn3WP8GkmXxcf6K+TfWwZywqvGtBpwYr4RSS+0fgRf\nmzrrhcQuM7jNzTX2raYyUvdBCpZWF/+SwW3wIGtGwtKYvvp/WZ/mKa/xvuYn\nqoMmdOi7XhHMp0daK/1+UjnHK4KG8ZEXbvLLwl3GO07Ll26hf2so7iXFQjEv\nU2MqgN+Ag0+FhawHetkkRusy5TG7Nv4yZ35T0+OrCcqinsQ/vP4n0hWP8CcX\nB/eVY8YAB0CZoeRcmWmJAOvm3G3LlPY4U8cwKecwLfvXALezro4hK5rF1XiX\nB2PZAX6PRP5T2wuEBti/JTExZiXP0vRn5V4x/XqPgUt6l1aI1v76K9LepAnY\nlySoigySn1Z3AO3x96rt9shyOVfC+DctIcr+2fko/P0NONAe1Nq6eq//Kbnu\nxFYripcHVJhtr1hc8SriRzdTNuTAiFKknJrmHOAjmignllPlU0mHGtgrbKCX\nMAyH\r\n=Gowc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqQG79BFXrhPOxO7XpAu4o0zsIc30mFuuRK1+h1o9SKgIhAN1z6PXJt5vCj0LcWOGsNtn1y/UgagrCGf/O1bae36hV"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.0_1556102441010_0.7240949564915982"},"_hasShrinkwrap":false},"4.0.1":{"name":"pws","version":"4.0.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"0.67.3","rollup-plugin-buble":"0.19.4","rollup-plugin-terser":"3.0.0"},"gitHead":"837933120b3a6b2abf0925e374d4d0b29edf9aa5","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"dist":{"integrity":"sha512-LaeyDW7a2Eq36rSEOy8auaU7mB6mToZu8bHefyeUGw0ZU9zHf+bGaelOiAkGV7G8URp0cw9wjojm4whPO7Mvig==","shasum":"32a68402f1391cab4828fe4f74a98e4498668881","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.1.tgz","fileCount":9,"unpackedSize":33723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxNqmCRA9TVsSAnZWagAAT+QP/R31Cvq9EIXkDcaL/t60\nE39JQf1BdlAXhq3gb2NHS6XkuQD930Y0Y0NQOIWVpjTLtx8ADsBymrzLZY/0\nWdzgW0p1LsaQtWXm+Lj1zxGNGzpaxqTWd7qi5h1kqk/DOI1tHzX8w5ClAxzY\nOuLUbTetG/wrKqnLplZRv/IOUH3V2JiOTfPVp70+kNn8Z3O6TFswYDkPo7RG\nZUJBpgFidkmq0OpfYjv9X4tJY8WMp3diWpEPsqLY1CFys9H7IQs3TAnuo7YZ\nyyfN9ZqNUrKsyVzO4R5sm8HMH2w38i6jCEK5iC1+WdI2XGSKhhFCJ2JAjWbO\nag6K5YFQdwBA+G0iUOlJiCFnKpDeyjE0YdlA4J/2eGJfdHTyEqYAhAejkYcE\ngrTM11QLXjs1W+wU4Z0oOcOfh+EndJNZrOTCTck1q4StMs32HQpSN1DLySsn\nUqu5u7W/S3a4NO6zbI6HUvndrVekkSCrVqKuGFjKaMSaEyRFKD04V3SKwCLz\n1KWtS9MOgD/LxDNftWqPZRXIUbeYN4XxDZyKlBWTmFfJRNMWO3sxlXcN8r7j\nLxd8EWwqyti5VGY50bGBtfnLmk6JknI7jPMmrYoRh42JqO8hX5jDOIX0xNOL\nUAmVAu6+msWunQ/1SlN2g0btwCfwsVM8QZjKBbkgd+QIU07TurbpiYG2I8F5\nmraO\r\n=E1AW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX9V+pBMKhSnvjczoydvi7E33GwTbvyEdYNWHAUZ7a3wIgLpacZVxLt5MJmf74ZcKlnNPF1TUc69JA1Hz1hJR3Zvg="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.1_1556404901625_0.5311056323849555"},"_hasShrinkwrap":false},"4.0.2":{"name":"pws","version":"4.0.2","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"e1fcb54e353f0dfc2e61c3d075499aaa757536c3","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.2","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-I9QJO1V6jk86fijgw6bm1rnzk2Q9N9/jLV/PBmT22BeWeXt5ZMQQ8OJSVGOG0bc5jzG9xhjMsuJOnrbbh8bQ4w==","shasum":"702b064284ec48ba1775d0562c7c7e9a9b8a7855","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.2.tgz","fileCount":10,"unpackedSize":39891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/pEvCRA9TVsSAnZWagAA4vAP/jneWt+Yx7OYv73TQEBm\neLWFhTNOkYzvUB4DfiJjPwdxoXqelzSNXZWyNEYsOhDNR2T5Sj5PAnvJEQLr\nI+dDqUkRAHUl9Y39fHcJB8+sv3M0x2YC46JV8r+ZRh3ko2Ot6mXCO/DWzJsE\nbcUft6mUKCUrDw/FuT/IGuNkHTwM1/Gj35ttVKOzavmU+DcUqaTF4PZVGwQW\nJcHi26orzmU6YUm3IC7gEC+t0FxKB/gt2uq6W3u5fhqr2Vp+7V6cS2erifbA\nPu/x0S8RWUo4S8bYza7Q5RSOBiuP1aLYCROvxRHSIs/cSpuO6/ziVjvswPqz\nLATnECz1YigwYaMKIVJ7zGv+/DwuLkaXsYSyteUpUIbjW+nSANO+wVj8Db+D\n5gq4vhZRtHjv0wC/GGLvSatIJuCsJpPx5VEbV93eYxdGgQM7JCQ38dLON7Rg\n8FYJ8txrlTuFpplspYIYEzucwIuRWc+PlnVNDzeZLT4lZ8cCaULqm+VqBwtE\nMJDLRIh24cNvNGWwwQ/XZfiD7Yacucb4+AzuVbDQDVP9JuD3XajwEj4Scr8p\nxT1bzGvZ49xGoHjxGbrT5x3F4lmFd6kikq9r0m5bUovRvcSXVcWaiqxAkQrW\n5FOvzGvC4/4oA4Rp4sFpci0XXYOmp8KAmLuqGzjauJeKh2++DJ75GvD+1rkc\nzfi0\r\n=Vlx+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAlSHFTt86f1ZliNd2jIgqwOPnf4dKKIK81DYH9lLZegIgXBpn4NF/BDbl+Ls1W5YYFybttCT6pkSV/5JqSnDbu2M="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.2_1560187182472_0.8008453850264616"},"_hasShrinkwrap":false},"4.0.3":{"name":"pws","version":"4.0.3","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"3572e10d24643f9bb7308f67acc27114282c0131","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.3","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-myKFyfLHeHbtawXlOSFYOefevPZE06THIaMAcJh4edoHksqeT7fwh7F+SlMl5X/zDBVrZLho3LnRjC9x7Ch9tw==","shasum":"8b5993953e9ecb564fd94954472e1802be298e08","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.3.tgz","fileCount":10,"unpackedSize":39891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/pFXCRA9TVsSAnZWagAA58IP/1Q8cUoAwSQ/5Dgew5Cp\npRfSloTPUU5BYyk/ToYVLpz/KgcUSd8iQp2omHGS4edbHOkr0NmvTxFqFAyT\nxjWz0Ovwe1igJYSpOYpAMDuKsVbSRw07zfmZ++LBk3qWA9auWRYs/a7Euzr0\nvXq/m46mQCYZgsmBlUg9vMcZ/VX11g+SD2G2srwFm9Te2xy8O+NNkBFleFyi\nna1KHpYDVhvqIJ+xvhZR+yyD2/520i91vQUwfpByG8YTctEYMgmsp3ysHWQP\nA1oH2YaQksgzDr5e8QthHK7q87UXc/VDR9b5Y82rZ7mqFFW/foEhJoVt7JiN\n1FU/o3i4QH1jH2HprCdzYaFFOX/CleCxGsEWpLkCy7qAe/njVAKaFBktU0+G\nqfM7pDZfMvtnXiSwCErEYS6AmfjkTvPqgsor+HKLNbKe8bSgRQWklbIE51wi\nE4ktIYDGDDrqfiXKbBDuckRbc67lLmYdSNgtM1tq9ksV6dNND/4wAMubrJNt\nC8RDuM8FrLvwmXf3rPybxkUbZnZ7Ws539gUBuOUF5N8C9udLn1p64JJh06YD\ntRnZ4shGoShDPj4454GU19dZ7UP4xpLIhlXDs/XuKXw3shBdbl/ViysLG7/j\njKDbKWXckCkNH6iLcwGVKUib7zXdLuiufCfqu2OkKh3BitxIzNhOhwR+zv4o\n+RFx\r\n=uARP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA82HDtkwG9tfMbOaOhgQ0RJjrmcsXP27HGlILtY20O+AiBYjHvQNteQKs5LFdTEicpPiSQo/CIRaPOQO9RulK2jXg=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.3_1560187222982_0.5995573057853054"},"_hasShrinkwrap":false},"4.0.4":{"name":"pws","version":"4.0.4","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"1a4eb736faf95049e072839b2a0684429f3707a4","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.4","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ufgZ7mKl6wjlmt9ZIlwnRbAthdFmqELIImmMhkOCko1OjhaoKGfLQ68uMpvhTW2D381KSjIZ7qdWPkJMX39dSg==","shasum":"66e785dd685054e77d170fb1fedb01f562812ac1","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.4.tgz","fileCount":10,"unpackedSize":39885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFgHPCRA9TVsSAnZWagAAiM0P/AosQKJRleobu0LTdKrd\nTh4lr8IH7/Kbt+d5Bnr2YnDZ3H+4JbXofYd0Gq0neTqvoEfA01OxAg5godE+\nTrmFvzOMtnFIqdvo6pNsTHKm8G86GTjNADTrBhmcm+M3wbISbzZdOQr2UI0E\nFoAkzz2Rs/d8xkGK5JDyeATiVE460ve7B/kmBkcRomcgVQc2UKU8dn1uIEgs\noa4czhZogm88vTPlGQ37qbesLxHbuiPaYhAhP+ccIQAB7Ua5SCpPxKv7CqAV\nZRuF1f500fKDgMYxbrFUOvdkA0azKXqhExpclEmlCcacbt0w+P2u/W+VHezP\nxLvvBPvf+2iSjjPfJtcWz0xppJk4xUvxVKetcUGItHJ4GM17wOUGwpLwdK0S\n9p+loTQapnthl+L3G1W32kksmCFXCqIYP8CNnP2qRCcHXyOmkY4u/sOvd0Fs\n4yUEQnW6MfSQKVHHJgcHDzyD1EKD6k7Uplw7puVjANNR4yCisKV7eSbzHjbm\nQaYnH4gQnMLEr1GnaAmymfwk1y+hhTOQeyrP+uoqoNCI20dlZBKpWBJQg5dj\nvGduxbAnBwrrgxf1ZU7FUmnUF/OPOS7L4aE1gfKqPbOvLqUDu9nSChET/822\nK1HQA9jchz5zpxuYZNwmg4QXXclXNzqOXb9JHdFlzfIab48SOQYpbF1Somlf\nX9io\r\n=qzb9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkMTopFoqjdwTM1UgTxRitZm5v7P9Ga0GgTHMjHr2LZgIhALnput9Lc+oQ0CFFR51L1lmjoKrJXo5kQDQQoFHpGlYO"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.4_1561723342411_0.4389670032648829"},"_hasShrinkwrap":false,"deprecated":"wrongful release"},"4.0.5":{"name":"pws","version":"4.0.5","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"50ba0b8923bbcc9d94698e27f492f60ced54b619","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.5","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/plNu/xa9qeNRfY8fQA0wdYgXBIsDz9HacLMS61r9x2jVxMsyKwCyeK9FMKjW+ZVb4owsrV4a2HZdMoA7IJOcw==","shasum":"0188847687a0439fd3ebb31ef3b0983c5fd20cfe","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.5.tgz","fileCount":10,"unpackedSize":39933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFgKHCRA9TVsSAnZWagAAV4UP/18PjtPPWbtS1M2rSUmO\nY5UNP+kLFVzI2yRXddRmtq74MlJydC49g372kDmQiMOdiawVS7Pewwe/X8D9\nN0jlu6LCJv1EcRwyPgmzbml7KhN5FT56KyrFRRNX0tSFTMQ014aoweFO4bt2\nhJoeg7D6p4cVAk0fHjZaodJ1CTz+ATRy+DP01zwk+6xveD9s61iT4UDdtl2h\nGpUCHz6YCY7kXjqdc6z2fgf4RQ2dGEn3Oo84Shncb1lWT0DHugvRPIuSSYwy\nesbAQmsGRNM7xx37j8wf07mOP1D958/WJzGY/h26PhwTzY/47jn+vR22Zyay\nr+YtH1CaGAAZAcj0temNahKJxArLCovJc9UeYGmas99QqvDMt+4TQ4lC80qt\nRi80j9NTck7jMOPEi5gzjkfr68doXJKKGMI5PE51DDj1H80kHs6jOiR/rXuX\nWVsMFq7zAa7buo/fJLUwGFNIi1dXNOLB3wpPQJvx3wYMSXW0cHG/Hw/egNH7\nyemSErneaYRy7AQeD32v7T7PLR/tPLR+SmNfEE5z2vKRJ/cWt04IcRCgkub4\n8TtRskJOGI9psgR3l/FP1uFVGTO8QqVVWE4fXV3UjTtaOQm2mP9B1F43MjnM\nx6J4tMaFJtOzt3TEmIaBoTn2Me96nASGpzvVgGxSnLdZ38zlSB7BDbcsllAY\npKfD\r\n=3c0N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE71GWnKpEB+sxrm4EOX2lSy5RueoaiRT9WhgsoysqA1AiA6WUswWVillfEfkfE+y8Fb1W/vT8YOGA+piclJi+kAsA=="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.5_1561723526233_0.31342505058985415"},"_hasShrinkwrap":false},"4.0.6":{"name":"pws","version":"4.0.6","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"de20d7bf2fbb48f7248f85a776a5df3f3d1ab31e","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.0.6","_nodeVersion":"12.7.0","_npmVersion":"6.10.2","dist":{"integrity":"sha512-LzX0w/dVsGmTSaIt6emNoqOJF8KTDjVFJENVa2PuXEWNoAMFT1O4XrXvun4V7iKRE81cMsKpdMAkkcBUT+nTOQ==","shasum":"d6a5954886f7890175c47c86fa656c3f62a0da82","tarball":"https://registry.npmjs.org/pws/-/pws-4.0.6.tgz","fileCount":9,"unpackedSize":33531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVs8NCRA9TVsSAnZWagAAQRwQAJVgRLOkVraiTht2g/7h\np8FP9SeikW4RAIf76h/iV6X/GzPCe4u5aZoblruBBJxq54rimdcQt671J2T6\nyl72R/lLVIANxCz6FgcoKJoKqelTZu6E0zKd6xINbtqQNS48qOzHNsNcTeO8\nKwS+eD2+etmgJy+yhXW4QUkjbCrnZMn3m0aDKuAIMhzaljzIUe2OdXS8d2rB\nI9dCfa5E46le6RkQowc2xKRO9GPzMNfPkMxilBwjkCe/vyEi/VG8Y5cH/HMo\nhSqrGazfCKtO0Ny7mbe55Da0ibxzUzeP47D/eHqGLOpu2iB/UVbCu9ehvQgr\nqaBwLFJkhARh2XW2+FY34lVNtSbLKYSWHE4q2j1VLKHYdS4iaseATJWdFzK2\ndeWQqLFN33sVzl3OourzbUlnEeeSoU3IchQfGEKF7QMOXVqCvyzRvpoDhoF+\n4duBhczxR5aSJHkP7tSCMsaauBppojS4O0ucOjXYPIHIDqHBvnRFOaCA6o9d\nAPYP4oGXU88fSXDO8dg+4Wvc+5Ex5Omspa4we6+0pgZtUSAxeKBUO5cdavTB\ntu3+0r16UqLi2HYjTA/Q9J4bOjN45ZcueWrPdb0P6YYxF5cqxWpRUwByFTlG\noQnVd8fdQjm65XKyiVywgsn54Oikk0Mkudgw6nY5rpE7PPIuT4/EKNgJ0+7X\n+AMw\r\n=gxe2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkmBFKTtvoIoyNylNdBBoRwFtGZS4lf7XwLC7YuNm0DQIhAKilz1Gx4CRFx6o4m6LfRgZXtFEKgOKSi/oXd7ZKY12B"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.0.6_1565970188194_0.801669878359609"},"_hasShrinkwrap":false},"4.1.1":{"name":"pws","version":"4.1.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"bc0a31d676b9d72000e079dd37e6de33decdfc98","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.1.1","_nodeVersion":"12.7.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-siEpiKh0ZyV/epYt1YKfr4cFxrXVIu+DoO//JAX17SdJcqM5008CYs6AItwqq/iHYl9psZjzU/7Wp4JMMoPqJg==","shasum":"161d1259f87e5bae0e9f75f473a3d67822faff32","tarball":"https://registry.npmjs.org/pws/-/pws-4.1.1.tgz","fileCount":9,"unpackedSize":34426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaX1OCRA9TVsSAnZWagAA0dEP/2tZyqWWY3MY3L4JzNKp\niTDRyerNuV0cc+4T1Zse3Q7xdQqoc13OcuSGy+Ymidx+0b7Y5vqcWIQPdZ64\nx8PYaBKO2lQtW9GPuM94sRAtynLCq2jpCeZkv/lpJ2a4XyzJ6NmdNFHz+nMT\n3JWZ7rHy0V5eihP/tLTW/OL68hYCzyTVADRNgVrF7OPxvsDgeUI4zbCcfCcW\nZjLhfDX9Tk91XH5BzIWXtJiG2Qmn0jZ0mY+RsJvzrj3zDrmuC5vEr4F6TE48\nZYtoKm7ZeGqECI4zAkAkKysgsG7dSDlyN8b3PJiK4UEEyKyriZeBwKnNfT9Y\nX5x09ZMigvm1CNT9aYLQkkkRjTlQN+Z5PdtJons2BPic1Uva6X8/u87kNdpr\ni2zqmoetwowSAFTmk1PNeizfGI/1XT2HFzsq4lKdM2MndVDMK1ab3kki2M3z\n+mZuNlBRJ/loW1mg/sjSU8CoROqoT5nv1VfVSxfazNWlvCXrpokBvNf4RbuZ\n8/RGa83Jt0sRSEgg4RknIwHZkkfDxvGcwnDCIR8AstkNlWX5gT8pJ/XjsMGQ\nQaOXx/tauqQEybpf+vYP0/FBdLEYz4/xQsbRq6kASQ06BP0vSk9uFDzftmpJ\nOocW/dJQpiGh8BwTTFYyZxA90WX1/hlvzfblMovnXcOPKoy0Z346qR1jg1zD\nFOn2\r\n=P6YD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0N5k3SyTYTvFe73vtoXDUQQh84qx5ys1Yp/AQ2UzDagIhAODNJ6+Gvm95Bqs47HZ98WSj/Q9e70T8hDClNnCV00l2"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.1.1_1567194445391_0.27601652868081605"},"_hasShrinkwrap":false},"4.1.2":{"name":"pws","version":"4.1.2","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"52e9bbadba07627495968d926f5f4406e5547278","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.1.2","_nodeVersion":"12.11.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-c0X172p7R/ZvreWQvkv1T7a8adLrbtyD9bA9rGkG/aE5HA6AClnLcTVzvhA1cUb5L0kGrHpsdzzUJECqzTx/bQ==","shasum":"d05cdb16ae701b8a5df52cea00893d17fbc85825","tarball":"https://registry.npmjs.org/pws/-/pws-4.1.2.tgz","fileCount":9,"unpackedSize":34426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpIEgCRA9TVsSAnZWagAADngP/RHMuCy01s7snbH2cD/e\ngWTFJ/Vsnu0Nubry1ryTrb3bpOFRbgsO1JUzgxSgn6maYIeLzOWqJ7Yeg7Hw\n8lcK24YF262kYYtVpCWh+qVGo/1Wd3RxGr/mdjIn2whQl3cUEMylYVFVh+ht\nitI72w4hU5nX4RkIhfVO/eOKGgkQo2jpXxRW2KSwtIpf+ELHzLN5t7b7RHHr\nofVbMnpx1W27steR6nwR4AWp02jlI3gXIum5ZmK0Iw+289YUFz/pmR6X8xIY\nPxmoYCeC5Yvp1zO3kLqcgo3TpZkeqkVZFfu3+65hqLzRCC5H5OWD1t+c/szn\nrnMCE/7SGD+sYQaKJd3p4pDCKD29L6h/BrReCMRMzksU2mdNQDyb3W/DFmwg\nQ/p1TjWHHpCrZUtCRa0K515HAEZSbKCK+86GD21kW5qYr5EzN43LLJfmUR+W\neOix5KR4+ZskJhWkWzTaJfDzdJQrb+PxjNv5NNrEfE0ebsEj0rhp2MYFtSWb\n/h9jyk8GqGeegMZsE/pJZLGroUSvBL2SO1+Hb2GaC8VwaStJ7qm+XxSyQ6+h\nsckgUypCD5MzndFtdO0e5kdiObVbWYOjGJBzFVnPwcIgN6ZjbISCtf/NwwYb\nHTFPD80iI7duHpwOGCtHNWNPCQkOcUg6ILoFuc0UoImUOU6bsg5xsBXP/0f7\nmwl0\r\n=lwc2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIRdbilrkIkueYfJXd+G9fq2FSMSO7JOtnuTojpobeDAIhAMUg+OOpkCF374DbhJEy/H2SDs9isW1fNrEE+6pUqlll"}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"npm@janosch.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.1.2_1571062047411_0.2662626850335341"},"_hasShrinkwrap":false},"4.2.0":{"name":"pws","version":"4.2.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.14.6","rollup-plugin-buble":"0.19.6","rollup-plugin-terser":"5.0.0"},"gitHead":"2575b3ccd4727b8c7e2c52a6e6458f5a7d5a5e10","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.2.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-pyDYTN/FJSiuS2ZWy3k/ppca/KuVSgvXP/zLq1todyZvxkieykkPvbbgPwsfiW0NxMP9Qun4B0592OJqQF4aNA==","shasum":"c03d7d19a85803a899707efa6711c07a20f55c53","tarball":"https://registry.npmjs.org/pws/-/pws-4.2.0.tgz","fileCount":9,"unpackedSize":34504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1AzGCRA9TVsSAnZWagAATcYP/j/JEkfSk6FEggTp5+CR\nivxReDeDhD6OXdECBXwbrmpybvEyTPBSxao0rELx/cpsArbwi35MctMB9kN0\nfMdnejS7VKYf4p9HF9uMy/rwEoAuqTeuulPXFSY9NOQqG+QNo8yfPvIBj1yO\nRZEkr/3Ov67tJbydEhQ+KRCKE1Uh0VSSy53KloDxh01se3UQC9ZDQFK6XTh9\nDo7/pbnne4/mjKZr/ZsKb3ahkU59jxtVjMv49orNHqIfN/t8VDQwk9/f3os2\npI8Ba5LLCF+zOfv8JYJZRKDPf6+0I+PT5m2yGtRudgmty4yv0Ij2ydzDil24\nW5A97s4Nc5M6SH4A4AivbeINn90JmqfvEDqxVcJk/89CoDRThT47QIM7e6Rh\nXmHEcxYsUc6sumhi+36nWAszS4ac0EjcEwXsmiCOVWRgGOH55+lmLBsJTxNR\nrx1Ld6CMbU1qmND7il5KQT0ZmG4ft0TKbUYHLM14v3i1WMDJMvyfZbQW7h4R\n3PO4HFE6B1Qg40ZVMkPW9NLkf42aoSr5IXprde80iQHLEnbelTobswdYie8L\nQlqYrNMNUZ3RtSspi6eRHwP4AmUU3pVP9PUS5HMrBWQa02NrOq+R+ufrgH08\n8ygB9jlrM2k4amWmRTZh1z2uOhJQWkXI0dGStXTn8RXMTC/MnhNWLDOw+onV\neBIQ\r\n=Dl7w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICr/B2yZBWe1ndUd6Et/tH0/ZIywyS+KFvBvAfDJ/arJAiEAiR8jr7Jrxukqt/ZxFCJNMRqQEQ0ZPw8dkJdai1cyPsk="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.2.0_1574177989724_0.9358545013572626"},"_hasShrinkwrap":false},"4.3.0":{"name":"pws","version":"4.3.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.27.11","rollup-plugin-buble":"0.19.8","rollup-plugin-terser":"5.1.3"},"gitHead":"f96cb8566a3868b5fcc4f9e12ae427f3b78d0ea7","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@4.3.0","_nodeVersion":"13.2.0","_npmVersion":"6.13.1","dist":{"integrity":"sha512-vWeYrzsx4o60kNA6Xx0jqh3s1dPaf+Rb42RCYgmx6z3HeiOXxWYWIcuLSv4d5KURVmS3jHmbfOxADxtJXHlGSQ==","shasum":"c7959cd787d7f2616e8163ede5f15f2b4e2dab4f","tarball":"https://registry.npmjs.org/pws/-/pws-4.3.0.tgz","fileCount":9,"unpackedSize":34483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8hD6CRA9TVsSAnZWagAAw9gP/Ap12frpvazFz5fYOilw\nJ07CQXXUc7Oat1JHzF1/Y7LlXRbpQ88cQp676sO+m5mGWuAhWM383B/NiiZ0\nR68i2ydAzpeGI9xtWxpaeepsp89ls4Xq2waabrZUH0k2ocKNGtey9NUWOtm9\nV8B7R0XSa+1G6MLwgjFqJWCRhzCWrYTDkJQzxc5H7mI1w5tl3SdPbH+tb4R9\ncRQHDbKKgxUOWmRNg8kMifVm84zDdg4VSdq5CaSpOgoXrgvYKz5vcgazMPmh\nMSS/AGJ4lcVwDe/EO6GNtEst7RIA/Ezxfu1MQdTvzT0FrTmkvERmUcscI96l\n+ZS9vkSMG5TXTxYcBtTl9Ch9WngcttnpIySTn5cHphtBziqjwqNgleTMwTJN\no/BoFlG6djR2BoA5bbVhN5dI7tjcrwHE+k8yGRBnrPP+zIs+yfBhBwsDFXJR\nU9ZOs0XHpkjeehlOts0guWkrs4rpBJVGh91938ieOKiQ2CfQD3GgaFqMeehm\nplboCMtLXEtzSggKmy3D7FuouLoiHUaMKYCiIF68/yUmdB6zJBuPcVvQHdj3\n6FzXmG0FHI9cgGMuzelkxTU/P2rkbcEpN7sXH8jGPP4Pqu7VWB/U1lzlrb4M\nlduCP0lvBbR6L7T19HFsJpre0xeYmQNPBBhkMAh/ASURCoG/qzGjEIHRx8Zh\nOfvL\r\n=9WDK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGIAEWAQzeJ1nh9wo22pKAVLklN1CYr3532N12QIQ6lmAiEArBHYVZoX2sUVMZPq060PF77xbFZ1xHmVqhOSP0KRr7Y="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_4.3.0_1576145145665_0.904089872125901"},"_hasShrinkwrap":false},"5.0.0-beta.1":{"name":"pws","version":"5.0.0-beta.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"1.27.11","rollup-plugin-buble":"0.19.8","rollup-plugin-terser":"5.1.3","ws":"7.2.1"},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necessary to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","readmeFilename":"README.md","gitHead":"59195fad9ff3b83efdba4d7f2c452c84767293bd","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@5.0.0-beta.1","_nodeVersion":"12.14.1","_npmVersion":"6.14.1","dist":{"integrity":"sha512-A8hoGz2XMsldw7rnumo2EDvTYnXdrsaUut+dJkhq2QQvLRFcaudZqJinsKuXG+EP3ikERLkvmNs4EKG39pwkcA==","shasum":"c4378320897d0546e1d4b130226cf391e8460a8f","tarball":"https://registry.npmjs.org/pws/-/pws-5.0.0-beta.1.tgz","fileCount":7,"unpackedSize":25898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXY9fCRA9TVsSAnZWagAAn/8P/1ZpAWs9SWU9gOoJ5nLc\nxVJMCr4qcWms0BBkxPOviQDtsdPmWBMULdntXg6BzaX7RbpcyYzkNGflz6wI\nsFUUAvDbam6aye+2PZqGJs0RnG5PPXiPnrndl3iMpDJvtRjCLbrJUohLRJ5H\nXUanb8nmV4D+yUCvdENZxhYQcJxYO9Q2rXTvXsNRvaAO//NdS3JLT8dDmxmm\n3qLEpt/aie1J7F5XomX4WjHcSEa3W886/mT86YkPmAMg7YA78vJrhE1K3v3+\nnC9Gu2phajcMg+I2XMVYWSxwnKPwPqGIH1LtuIYHtevLiOnf12c4VhN9zjfP\nvpGy/W6QcJJumURNYqhxaEGVgXaniC8BlSREh/N7yvjP0OjfUQhoLbl73BgR\nef92+D76KLMUNQfoDSZfvL3ro2xXFvFLRzYUVha75wnMrVa7JSCaWZctLXEH\n6/XOk+z+ygY+27WgTBOgJ44n0lcKHkli8yIM0VWUmLY/oYLmU7JcH/vZIU+A\nwHu+D2qxgchJ/15bB4DRyWm6bgZa+jTHShNUnc8Td8pjpBcLzMNksk2dap6h\nzhhuyCspyQDzydVC/fnZH0rLMO5bCOnWpi5LQINlfOzA8JO3fKIR9YN+MPes\ni0l0TjqNKmuzL6EISUU4mayuzwjCVwaqTuN05+pxsOSTfrsii0kOrXhfMOsh\nolFt\r\n=/Cc3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD79ny2u5hCNM4WPbyB9XQK0xdPyxZnXmV6xC++H0G54AIgCR1cY7J1/1YX8TE1pfoqDy4pQ6yjbRAbdVJ3mHGUwBM="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_5.0.0-beta.1_1583189855160_0.9810019516462578"},"_hasShrinkwrap":false},"5.0.0":{"name":"pws","version":"5.0.0","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"npm run build && node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"2.6.1","rollup-plugin-buble":"0.19.8","rollup-plugin-terser":"5.3.0","ws":"7.2.3"},"gitHead":"fff60eb839d4694ae87047332716f79bac2c86c3","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@5.0.0","_nodeVersion":"12.14.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Da4tMPFzdkhqDmwQMP7kOza+yJteXPO9oMsr0X7kF/Msd3kEPzZmo3kAokX3MeVg0Kg6GlL7AGeuTmXfE/m6iQ==","shasum":"7d427eb550a1aad147920f2684be1b0a539c9858","tarball":"https://registry.npmjs.org/pws/-/pws-5.0.0.tgz","fileCount":7,"unpackedSize":25906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelVp4CRA9TVsSAnZWagAA8AgP/2GFb+Dhw7D3LFOkJX0k\noBseJkB2qGyftd5s7mXXIyiLbjD/E8okz3LXDAQeRz79yAOVNuUqP7+94ZIi\nzR13TAE0Wxz4fMzanOflDuVu56Cr4R/wN/XMZxW5zKlr3Ia7cZbnEhl9it6A\n38r7ZK63nSyviT5iJzLnoBnEahXfH5d7RAsbMbc7HPr5D4wmAvRFhW+DqUkZ\nNxD860SV6Lj0zMBhMuyXy7vRtR6VCmFt4vud/BZpuhgATsXxRFWEV/EEywH5\nw+9me9TPkxFcUNWje0cQE3F2BSC9XeNhbrlW9EPBL+dxU00/K+VSNDXYTsq5\nEsJHZ4obQ4XesZlp2L4cwaPyZDym5npTdynP4PmKa2vjxIaglcMVgP3JzizI\nNn/tsDmjgHK33ndpte1Bw/cIVBUee33GH8LV2+nmCEfMoPGf1TCdoCg26179\nbltUE9JBZ2T4X899w3LEbckgGLzjnJoH4d6d4k7deGNsSTXI5BkV50ma+H9B\nwi1dv86d7k5lGXuw7U748inKXowbcEgyOI3ESWUCHmbhLhCMUo3/U7SimqbC\nbmhdbJeBQA48mYK61+VmVenRsV4E8cBlg15bJLBtvNmdiiO7U/ysvKfRLMmS\naLVEKQ0DjSjT2hq1mO1kkfsXKS2AxJolmNsuyXZ1GT3P4MkDJzsPUTdacPr6\ntU+D\r\n=+QNp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFvIZLZntZw8Bpn1u9aWFLnXIM4eb/MT00Ve63CacFiyAiEA23NXTrrPI9T5yiASpbwBpKqMqm7ZO8bkflaIWArHLns="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_5.0.0_1586846328268_0.21717606784329768"},"_hasShrinkwrap":false},"5.0.1":{"name":"pws","version":"5.0.1","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"npm run build && node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"2.6.1","rollup-plugin-buble":"0.19.8","rollup-plugin-terser":"5.3.0","ws":"7.2.3"},"gitHead":"4c986927ed0c7a26b5bf17e84ada6eb67c4858b4","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@5.0.1","_nodeVersion":"12.14.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-K7CO+hAQRHb/Xh/CBcTRPzbNHSrFxL/dnK53XD6WEgDK7VRDHvm2KBTsprjISooz1RVIr4Te5XMPYerMhB16bg==","shasum":"076a95f1e754f98bc9bfac6d2953fb636c281c94","tarball":"https://registry.npmjs.org/pws/-/pws-5.0.1.tgz","fileCount":7,"unpackedSize":26004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenxG8CRA9TVsSAnZWagAASR8P/3nj0v8sQ9rHgPx6bh/G\nOQbRI2++tXq3zfLmlvTGiNvODOw+EM/2+oTkkPhg7DvnYUbx20ub2VBIX8Iy\nrKXxdCeYboIVZ9oiSNUXAsWywBViLFIyCipuwEXUe+afXomCQS23dct28Gy3\nXNvBYuFX7El20Pq54904cnVAvXg5Oa2OMN5JPGxSYPLs4+UdBa3G5n+Qs2YH\nTxbiPz1E49BT/ktJ1a3oOspxtWCmhZX7GtsdkNNQQcerRaxyPrjxWfLxCnXo\nWg7zyqaTavTyJ87jq13foe0jiDxm4BWx280SQELy5Aov+tJ9zUFZ1jvoQn7U\nBX9QQemGuogIw27eZVrSLJntWjVCaQP8d1oL39Lx/QaPFFi1EpEns4JNdoc8\n7FA0QmnlMvVKbG/Vk1Zk+IZA1uBtohR3moOE7NGHJ9zIiMV0SKALyq61NW0Y\nHskq081VRhOo5IsMwpjIOLrcxdv23YioF4GFlsDfvMIVFHmq1RA0qZ/2uoDG\n2ryWYuocHQScYWJzmeHNSjBZpSA2lEkumHGY983FQyQv6+ldDtt7/+vf1Sjm\nbZ4urg9NvhKzmKfw/iN8PVoqXTSofsfMcyCtbKnM/ZIExOqoV04EzHfFMa3q\nCz7kPM5V6eyIvKko3DWOwiZAvkaTtjeywPJoDHbIFKCwQJkG3tul1ZHMOBwi\njtbr\r\n=AQGu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkmS7UFvflKr8K7CrxHLLwPou77PiOjxQBAKD7XZGCcgIgXEEHVSJzXi3SQuGtIOOSWlv5npRhalUAsRv1dS/eniw="}]},"maintainers":[{"name":"porsager","email":"npm@janosch.dk"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_5.0.1_1587483068082_0.874717217623765"},"_hasShrinkwrap":false},"5.0.2":{"name":"pws","version":"5.0.2","description":"A Persistent WebSocket wrapper","main":"dist/index.js","module":"dist/index.esm.js","repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"npm run build && node tests","build":"rollup -c","prepublishOnly":"npm run build"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","devDependencies":{"rollup":"2.6.1","rollup-plugin-buble":"0.19.8","rollup-plugin-terser":"5.3.0","ws":"7.2.3"},"gitHead":"585e0d03e83557c993120e4a463aa2a41f8b049b","bugs":{"url":"https://github.com/porsager/pws/issues"},"_id":"pws@5.0.2","_nodeVersion":"14.13.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-V4ZwsJIAiG9YoNv1IO/JSoapG9NrwRhmKKdQ0C7q0tBIxBTptGeTBhdnE53o5qrcoEHDqw5Mc3T1XF0NlvHTlQ==","shasum":"86b581ad5e811417d514f06868ae4d9c71bdaa48","tarball":"https://registry.npmjs.org/pws/-/pws-5.0.2.tgz","fileCount":7,"unpackedSize":26082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdZ21CRA9TVsSAnZWagAAZnsQAIOvKjlsxMamGD9keGYV\nLZ8flg6+zk7fSBGPpdK+/ZrC6oqayscmeJzV4AImGgKLZQaJkp5i2o3vxYUt\nOVN8A5xlvFxQ1OuKhTvWuItR+4eMhHh0LtTbHqpiJ9qDO8V4VjrEFBD7o7lr\n0gcp09j71LNCmadoqJel4cNOknA09lN9lQ4dUffJH/z24gnHdtjb5F6vhQjH\nNS+hbOLYYtG9LgTzDTcFeDYkxGoH/h0SWPUMrVEcYnOOW4pqmrVmWG+5lMcd\nKOn5ftph3FPBFmLOHBLqBuHnoMGTV7OQthsoti8s9XCqSAuPV+gbQl/Pl4um\n7/m8NphnQMQEAEzXBehg7xK67JXhWKL2EOjQ136wjvctv6Lni8p6kinHKip6\n+HDcIGyIPmgNWepsjx3Mx8noG1gyFyYx6UiOoWAXAzTTBAyIEt/FDnLTP5Lq\nc6bpGaHCn88A+ziNXSGofEB6MelYxYmLO+kl9633mDIRz6YUZL8byytcxKae\nkiuMO+AD+iAI6FwXfnbWS75zAVJmos/IF0gdYdXxW5uTn6gvweG179nd92dj\nJ0KQEP61nsQBuRKKIeOwqIqMgSNIXjFCZnWEK79fatBAsMXOw1dVCYoMokag\nW45uODjeaT1/SfbmleRaYyMQ/8xx6RvnaNvdF4iRoxubJ8QXB5nHmHZQe5oZ\n8VR/\r\n=T1sk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCR7elp3GXdhBr50YA9xjxfVBEugEIRv0HKi34OG8AckAIgZcaH1KP8N0pltlW0GSllQM9zWkWF1+6TR5DDnDKwpRY="}]},"maintainers":[{"name":"porsager","email":"rasmus@porsager.com"}],"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_5.0.2_1601543605014_0.4757725923774856"},"_hasShrinkwrap":false},"6.0.0":{"name":"pws","version":"6.0.0","description":"A Persistent WebSocket wrapper","type":"module","module":"pws.js","browser":"pws.umd.js","main":"pws.umd.js","exports":{"import":"./pws.js","default":"./pws.umd.js"},"repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node test.js","prepublishOnly":"npm run build","build":"node -e 'fs.writeFileSync(\"pws.umd.js\",\";(function(g){\"+fs.readFileSync(\"pws.js\",\"utf8\").replace(\"export default pws\",`typeof exports===\"object\"&&typeof module\\!==\"undefined\"?module.exports=pws:((g?g:self).pws=pws);`) + \"})(this);\")'"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","bugs":{"url":"https://github.com/porsager/pws/issues"},"devDependencies":{"fantestic":"0.0.3","ws":"8.5.0"},"gitHead":"b5070cf3ce619001f68a7fbef1e8223d5a04a302","_id":"pws@6.0.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-iETMQdppQbTLa2lT2XQH+SO5AM04ii95Brk/FMN12cGs/Sat4w4E2xjXlfxjJ5+ZgLn2qvtXAgCnOSPec/pNuw==","shasum":"1cceb6c0cf3f6a609758da085e8f3e81ba2efda6","tarball":"https://registry.npmjs.org/pws/-/pws-6.0.0.tgz","fileCount":6,"unpackedSize":19506,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeLvazjd/n8hq8MEKHqwh05fnx/livX05wRcniAZqQ9AIhAJlUXG3B+sJrRXBPmJJIK+4Apbldshh7/RO/6akfgVza"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSVnYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHuw/+O2m+ORUkaNdwh8s8zgb/yGdlT95+jqCiMix4RpjObzjp0jjf\r\n5xilLIVEUP7PC0FYDpBwPO5nLh71O7tgOg3FMfpvJIR/IQ+BmdK2SbqNIXS6\r\nRBaKDHB76e5/PmeYGlJJaHM+e0HmD99tDmP4DiiKBZcWk71B8q3iWNqJkWIP\r\ngZM+G45QkEjuSmYStsfyE2ObBOTEoC8rukK4KqWNbB9H7UqoMiSwHJh7Ej5M\r\nVy8yBGRsO40TwLLtN7DkKR8ycFP0cXW4HXvf/zdqB9gYFwcOvKR0IEmtzs6v\r\nE3ZL15a3rF99zquKXodu0gvWUyEwJ+FpYz1JrmphZaWNdms4B00GQMn44OLz\r\nckWU1H5VpoQpG9FMwmFW8F9J1igPCPeACTnz99NpBIV0qSVnBN07xx/3pDd/\r\nmTQs3JERzur5nYd4U2jkHxuvWFDn9rGOgjkPbBEhVoI1euBL0oy6GhdCIoHT\r\n4f8kCFtQ2/U/I+EC7ubgFM6VxooxnfKGU5AIf9FJCp+vqSvS9SOHFWcyPJ5m\r\nGu1FopVe5LwZa50vRFTyxz/D/RN8VK5DCFsDdTpSBZixAVkfcJAUFQKZWdkp\r\n2fkqRHCyPDfwZZ4l9H1Q8/hA7gtMey4zSHXtnDVVSkbzhzju/ATLHow2M/vs\r\nK7eo+/a9LK2CKgGUmh1ABtkdRoK5CxiLaUA=\r\n=2Mla\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"maintainers":[{"name":"porsager","email":"rasmus@porsager.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_6.0.0_1648974296104_0.5818331984433287"},"_hasShrinkwrap":false},"6.0.1":{"name":"pws","version":"6.0.1","description":"A Persistent WebSocket wrapper","type":"module","module":"pws.js","browser":"pws.umd.js","main":"pws.umd.js","exports":{"import":"./pws.js","default":"./pws.umd.js"},"repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node test.js","prepublishOnly":"npm run build","build":"node -e 'fs.writeFileSync(\"pws.umd.js\",\";(function(g){\"+fs.readFileSync(\"pws.js\",\"utf8\").replace(\"export default pws\",`typeof exports===\"object\"&&typeof module\\!==\"undefined\"?module.exports=pws:((g?g:self).pws=pws);`) + \"})(this);\")'"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","bugs":{"url":"https://github.com/porsager/pws/issues"},"devDependencies":{"fantestic":"0.0.3","ws":"8.5.0"},"gitHead":"99772473629ce204ddd5128989041de94b19a741","_id":"pws@6.0.1","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-nHQ0FPHVUtgPVLWUlnxuj4tCKE7uGwxcuNyXdX2G8ToBbhCktlB4KRbuzhJbYb6cDMgQv2OUMrnTM7CLUwYSiQ==","shasum":"748dcf51ded390445364579954906e258fee6dba","tarball":"https://registry.npmjs.org/pws/-/pws-6.0.1.tgz","fileCount":6,"unpackedSize":19880,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCytDcLYp8+xKKvyXqm3K0/Eo4aTuLFSIAvcAzXEP4FDgIgUDxygUESREswlZVQOISZ5afcovyJGhRIDbOKY9cHOGo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqIMQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppLBAAkJEjFib9lPwejaBcnLrqPU6S+DGljxn0CkaMkOIIhZHWFfNo\r\nRbADaf43o3yGf6akqygUYhv/xfFimNMzFSxvwySWOtjskXwhCtW/UGbIa+Yd\r\nUynhcT5He+6qLPTXxBhzVvObh7ViVHCXxq/LR5Gjd/iOvOf4fZkFSUR9tpRz\r\nIX4DmWGHTMNMv9+7aIRR/USnxLVib1ZmHksC8J0NJarfnVJDH+x6jW5/uPm2\r\nou3keOjVOI7OXdzlLcUW/kPi0mDIUDsFDCiQOWGswzkxm6t6smLBwO++8eaH\r\nnC6mA3zB3DfMs4lKM65nQfTTX2mGXAnEMlkrc8kseFEnHDcHTggzzsu4wlBo\r\nhIZRvR7qNf35j4K+Pxzwx+nSPQAuV8FuJD48mLMJe2eotiVSCgbdapKwMOOp\r\nDGjaAjJa3pu5uGLNSpOk5l0aXs+Q4Xopj5De250lTRqR5FDC7ShFxCaA977e\r\nrxnsX2NICViqWWzicqAcZmKfRk2tZySLDpveIQsrs1OP4jk8RM3HX1NvqJ2O\r\n0sqfyt0hD0L54HVbbIKZU2LbbaD+vEW32ynHMnmz4BlllrVjvdfJDDU+NX2o\r\n+TWKD6ORtk7rEdXritA3C9vc1nTQMPq0Ed4r5crCxWwEoA1Bj0hXmb/dt4tT\r\nL9YWpIykO2A8CUr41ovP0mDjsLUm/eEH7jk=\r\n=Gl7+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"maintainers":[{"name":"porsager","email":"rasmus@porsager.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_6.0.1_1655210768188_0.8894705550326885"},"_hasShrinkwrap":false},"7.0.0":{"name":"pws","version":"7.0.0","description":"A Persistent WebSocket wrapper","type":"module","module":"pws.js","browser":"pws.umd.js","main":"pws.umd.js","exports":{"import":"./pws.js","default":"./umd/pws.js"},"repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"keywords":["websocket","reconnect","ubre","ping","timeout"],"scripts":{"test":"node test.js","prepublishOnly":"npm run build","build":"node -e 'fs.writeFileSync(\"umd/pws.js\",\";(function(g){\"+fs.readFileSync(\"pws.js\",\"utf8\").replace(\"export default pws\",`typeof exports===\"object\"&&typeof module\\!==\"undefined\"?module.exports=pws:((g?g:self).pws=pws);`) + \"})(this);\")'"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"license":"WTFPL","homepage":"https://github.com/porsager/pws#readme","bugs":{"url":"https://github.com/porsager/pws/issues"},"devDependencies":{"fantestic":"0.0.3","ws":"8.8.1"},"gitHead":"9a1e11cc7f350ffb0dd51dc621357fec0fb5f2ac","_id":"pws@7.0.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-f8bSVUwheVFR51rz4q4lT56vVZgeGF5EI85VuR510m6WwwM5VTDqoGqmiJgxE09uvr/OTaD0kSoLtv4+2efilw==","shasum":"5b6ca97c4ac66d562dab4e86cc3d1765f0d9e7b3","tarball":"https://registry.npmjs.org/pws/-/pws-7.0.0.tgz","fileCount":7,"unpackedSize":20148,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeqvr1MGGIk76iIbvXn1LEwDcwU9qpKx9Z/y3gf1yfhwIhAL94R+TvYV42x7EJ+eI3OgxvnySwLBTDfmeZFsOVBzzI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8OKKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoccg//YE6OmFrNeCCxJL6GebAqWQZ2BAKFgOa9kE4Gc+EigK6EpZgI\r\nffM5FMK1R3Wf3rAJFnWkMeOcdNls7WfbuiyQxqsBnNj+fWTwHbIgdmyBGcWr\r\nkn/cwfxtjjW/1WA42YJ/DC+PdK2N9HKadigd9yWBcen2DC4j17H9fLy7yTTQ\r\nuBOxk82yLAdySqwiCchNZddsET4qSGzz7v39+bFnPe56eu1W+kDU2CimkklT\r\nfFDovRe8PeJFpMHJJU0RAbDdP39Donmzy8QbtMRT5hmDHzvjVSg4xEtzaFta\r\n0djhVC01wjr7CG0lcDZw66YORtVhC879Mz5lcYiqIZWWOJl4ZOcfhSAMhCL5\r\ny1Ge6ZrynRpRRAfT7qjQ9UMMDZZZYSA1PimrDPP0HHqGHAmGSmYG2j3sdWt8\r\na154ygZhB7vX47Ty0bObD9wSWddPmkrTHmPwB2s3jk1PAeGOuBCBym87jmBo\r\nk87oPHltcJrjE7rZa1NfFwA3rWp7qXwz4lV/Q7qRXtss8PvBKT6SqdnvIELv\r\nhwEBHUVDmkt4J1gCOOjfvLbpUedb6+NE63FF8seTXHOyQqXlbFI8VxyaLykg\r\n6eyACGw0Pf/Q1KZ4mqsRh/RCTmyT0DQJJQweee/B1lyT64NlAjogjdFgVSzp\r\nqtmsrf+2w94OvkEyGL3dJzOTdJz1atdphwI=\r\n=+eCG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"porsager","email":"rasmus@porsager.com"},"directories":{},"maintainers":[{"name":"porsager","email":"rasmus@porsager.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pws_7.0.0_1659953802395_0.1523438448726313"},"_hasShrinkwrap":false}},"readme":"[![NPM version](https://img.shields.io/npm/v/pws.svg)](https://www.npmjs.com/package/pws)\n[![Size](https://img.shields.io/bundlephobia/minzip/pws.svg)]()\n[![license](https://img.shields.io/github/license/porsager/pws.svg)]()\n\n# 🤝 PWS - PersistentWebSocket\n\nPWS gives you a reconnecting websocket to use in the browser or in node simply by switching out `new WebSocket` with `new PersistentWebSocket`.\n\nIt behaves the same as a regular browser WebSocket, but reconnects automatically with a simple backoff algorithm if the connection closes.\n\n## Getting started\n```js\nconst pws = new PersistentWebSocket(url)\n\n// Called every time a connection is established\npws.onopen = () => pws.send('Hello')\n\n// Echo messages received\npws.onmessage = event => pws.send('You said: ' + event.data)\n```\n\nMore details at https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket\n\n## Using in node\n\nYou can also use PWS with the nodejs WebSocket library [ws](https://github.com/websockets/ws)\n\n```\nconst WebSocket = require('ws')\n    , Pws = require('pws')\n\nconst pws = Pws(url, WebSocket)\n\n// as in the browser...\n```\n\nMore details at https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketaddress-protocols-options\n\n\n### Heartbeat\n\nTo ensure a persistent connection it's necessary to send messages at regular intervals from the server to keep the connection alive. The WebSocket protocol only implements a ping to be sent from the server, but not in the other direction. This can leave the client in a half open state where it thinks it's connected, but doesn't receive messages from the server.\nTo prevent this state PWS let's you set a specific timeout after which to force a reconnection if you did not receive any messages from the server.\n\n```js\nnew PersistentWebSocket(url, {\n  pingTimeout: 30 * 1000 // Reconnect if no message received in 30s.\n})\n```\n\n### Backoff algorithm\n\nThe backoff algorithm is inspired by primus and  http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html, and stops at a maximum reconnection timeout of 5 minutes.\n\n### Reconnect on browser `online`\n\nPWS will also reconnect on the browsers `online` event, irregardless of the current timeout for the next reconnect, to ensure a connection is regained as fast as possible.\n","maintainers":[{"name":"porsager","email":"rasmus@porsager.com"}],"time":{"modified":"2022-08-08T10:16:42.622Z","created":"2017-02-06T01:06:00.306Z","0.1.0":"2017-02-06T01:06:00.306Z","0.2.0":"2017-02-06T11:07:27.371Z","0.2.1":"2017-02-10T10:40:28.265Z","0.2.2":"2017-02-15T08:22:45.643Z","0.3.0":"2017-02-23T10:19:28.021Z","0.3.1":"2017-02-23T10:27:01.653Z","0.4.0":"2017-09-15T08:36:59.820Z","1.0.0":"2017-12-07T14:16:06.957Z","1.0.1":"2017-12-19T14:34:56.648Z","1.0.2":"2018-09-02T21:47:49.087Z","2.0.0-alpha":"2018-11-24T23:02:00.255Z","2.0.0-alpha2":"2018-12-01T17:31:06.532Z","2.0.0":"2018-12-02T13:04:57.026Z","2.0.1":"2019-02-06T09:18:19.610Z","2.0.2":"2019-04-10T14:10:36.211Z","3.0.0":"2019-04-23T09:51:44.528Z","2.0.3":"2019-04-23T18:11:10.930Z","3.0.1":"2019-04-23T18:55:12.569Z","3.0.2":"2019-04-23T19:30:09.561Z","3.0.3":"2019-04-23T21:47:59.185Z","4.0.0":"2019-04-24T10:40:41.238Z","4.0.1":"2019-04-27T22:41:41.854Z","4.0.2":"2019-06-10T17:19:42.589Z","4.0.3":"2019-06-10T17:20:23.135Z","4.0.4":"2019-06-28T12:02:22.551Z","4.0.5":"2019-06-28T12:05:26.393Z","4.0.6":"2019-08-16T15:43:08.448Z","4.1.0":"2019-08-30T19:44:52.854Z","4.1.1":"2019-08-30T19:47:25.585Z","4.1.2":"2019-10-14T14:07:27.544Z","4.2.0":"2019-11-19T15:39:49.803Z","4.3.0":"2019-12-12T10:05:45.895Z","5.0.0-beta.1":"2020-03-02T22:57:35.298Z","5.0.0":"2020-04-14T06:38:48.361Z","5.0.1":"2020-04-21T15:31:08.218Z","5.0.2":"2020-10-01T09:13:25.130Z","6.0.0":"2022-04-03T08:24:56.246Z","6.0.1":"2022-06-14T12:46:08.313Z","7.0.0":"2022-08-08T10:16:42.548Z"},"homepage":"https://github.com/porsager/pws#readme","keywords":["websocket","reconnect","ubre","ping","timeout"],"repository":{"type":"git","url":"git+https://github.com/porsager/pws.git"},"author":{"name":"Rasmus Porsager","email":"rasmus@porsager.com"},"bugs":{"url":"https://github.com/porsager/pws/issues"},"license":"WTFPL","readmeFilename":"README.md"}