{"_id":"lore-hook-websockets-socketio","_rev":"50-be723eaefe57d38ef57c533569158503","name":"lore-hook-websockets-socketio","description":"A lore hook that add websockets support for socket.io","dist-tags":{"latest":"0.13.0","next":"0.13.0-rc.2"},"versions":{"0.9.0-rc.1":{"name":"lore-hook-websockets-socketio","version":"0.9.0-rc.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.9.0-rc.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.9.0-rc.1","_shasum":"fbd8cdc185e5d09a2ca5c0efaf7f4acfc147b158","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"fbd8cdc185e5d09a2ca5c0efaf7f4acfc147b158","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.9.0-rc.1.tgz","integrity":"sha512-/9A7fFeAP5fBZW1qMX4iMwNgrYuV+Q9w6FetfyqTGX2Bktyqxy+2bwC3GbLHnvEpx2ApArjl73YkKQd2OZj0cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDL1AijfFudxweH2NUiuAC1MP9RUDM3wCy5fK5jrFQztwIgGk/sGwSI37cAZ3TuZIh/7sOBgQDlfSAQNR1/aTej2UA="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.9.0-rc.1.tgz_1473454914281_0.5276236350182444"},"directories":{}},"0.9.0":{"name":"lore-hook-websockets-socketio","version":"0.9.0","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.9.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.9.0","_shasum":"d03a740fc6a17dbae84ecd4c3de2ee64098c573c","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"d03a740fc6a17dbae84ecd4c3de2ee64098c573c","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.9.0.tgz","integrity":"sha512-mrzisouMcc9RpeShI4spPbHByaWOgAPiFLr9ZcxexZrhZChPr8JJNPS9q+g1L2IvcNfLT8rWucwQsFBtA4MFAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBTVaBr7o/L/aL+50Hp4cyYZqrK5/EvadJKqClwnj8xAiEAzeETrqjuT6oHSX0XxNpjn7yw1caJuh88OO7H/pkfMnA="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.9.0.tgz_1473582764868_0.23452549427747726"},"directories":{}},"0.10.0-beta.1":{"name":"lore-hook-websockets-socketio","version":"0.10.0-beta.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.10.0-beta.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.10.0-beta.1","_shasum":"3031e1fa1b97dfeacc3a4706ff945a442b872af8","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"3031e1fa1b97dfeacc3a4706ff945a442b872af8","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.10.0-beta.1.tgz","integrity":"sha512-RuEbd5W4vMYiCTnkmsfNl18oYmbuj/jLYenF3P1CDWLtJWUDCZXuq8bPi+8vux7RaUVDrw9ANXP14V/+HJnwxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9Bg1ce/go7jeC4OYmXypChSAIeKrFfT9fN9nXcglFOgIgdJrZmVvzLDR79P6gjwHk97nv+KXtGHYCtT0eC9Q9T7A="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.10.0-beta.1.tgz_1475572929995_0.17728568683378398"},"directories":{}},"0.10.0":{"name":"lore-hook-websockets-socketio","version":"0.10.0","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"~0.10.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.10.0","_shasum":"4b919e7b5332e73657a2966ffc8f8bf9dfdd2626","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"4b919e7b5332e73657a2966ffc8f8bf9dfdd2626","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.10.0.tgz","integrity":"sha512-LEbVlDMn9MhPCJueMUNvKFbtq8bytYOonATF3BnTPoj0d1hS8MeBY8oih9JhOSYuijVWk2ZdywD0jTNOD2hKlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPITfcnvyJjzJapqoZ8MLt45O4X3Gj5UmZrD2rGPkc/wIhAP1rDc9fC6rB5jveHbyUqsHEM/yKsErkp9ktBBv1W0ev"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.10.0.tgz_1476337338365_0.2323926379904151"},"directories":{}},"0.11.0-beta.1":{"name":"lore-hook-websockets-socketio","version":"0.11.0-beta.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.11.0-beta.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.11.0-beta.1","_shasum":"eb15c21dafca15c2b4187607b03ba0e9b7117be1","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"eb15c21dafca15c2b4187607b03ba0e9b7117be1","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.11.0-beta.1.tgz","integrity":"sha512-60XWFL3ckers1Ghry4fxvsl3hZE8zUpELc2n41vzzY8NukKXhnuXvC/HS4NJdutCxA5gbSWQlnzePiG6WH8yTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwzKj1MczkhvwYBsHGZc1NddZ7qnA5ffDjIbAoD/jR8wIgdHYb6y11atnNIPG61HNuYUukxDpo4n+cgDjbVVcXnME="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.11.0-beta.1.tgz_1481523874792_0.8294461364857852"},"directories":{}},"0.11.0-rc.1":{"name":"lore-hook-websockets-socketio","version":"0.11.0-rc.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.11.0-rc.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.11.0-rc.1","_shasum":"5aa89287652339f08986fcdf6fc07ae1b16ec885","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"5aa89287652339f08986fcdf6fc07ae1b16ec885","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.11.0-rc.1.tgz","integrity":"sha512-UpLawqMaKXTju8MMwUmV+KKCDsfDHZcs20iJ6npSTDgMxElLDNwDi0SnyU96FFfit0NeuQJUWUZi7HpeOws63w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzvcpUk6mdKKNdkD7K6TSlDWV4ebd7tagHBVBz1bVbmAiBTWX9Jj1l/QipcSm0LB7MRT9KYVxxyAuKJ+94DWY8G4w=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.11.0-rc.1.tgz_1485239119097_0.31247389246709645"},"directories":{}},"0.11.0":{"name":"lore-hook-websockets-socketio","version":"0.11.0","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.11.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.11.0","_shasum":"419c7a3b1de1a60954ef0101a3a0965e4ef30ec3","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"419c7a3b1de1a60954ef0101a3a0965e4ef30ec3","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.11.0.tgz","integrity":"sha512-c1tIjefpPYB4ODxKrr0TCDqz8BB8ceZU/tlwYddRflpP0W8S2h2cUXAh0HGq8ycBoDTRVXBC+IJBYaMoqJoT9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDF5bILnzmoyWBa204Y/dZdj+cMpkB2JRpXX2p6ptETAAiEAxfLV1SoSrP4izcytcIE+mWooobZHRQJEjzuUrN1MoSk="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.11.0.tgz_1485665720043_0.8277010063175112"},"directories":{}},"0.12.0-beta.1":{"name":"lore-hook-websockets-socketio","version":"0.12.0-beta.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.12.0-beta.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.12.0-beta.1","_shasum":"11fabf1d2f0f00cec34b69fcc23b437a909ab24f","_from":".","_npmVersion":"4.4.0","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"11fabf1d2f0f00cec34b69fcc23b437a909ab24f","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.12.0-beta.1.tgz","integrity":"sha512-DFAAm2bdXb6lolrIhEyQzyJEh2unDWP9BDKguIq+fbvYTVTWD/dMot9n5Av6WOk6ph5J6zWWYTB/n1EbCSSgWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR0Jb42kEPRJUXXTgtVAnz1VGX82ki3NB1I20m/DKj9gIhAPVBL+1cs9ZRmAZFBOyI+kh+fg9GRnuR6JKUhn9W7YvX"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.12.0-beta.1.tgz_1488758436242_0.4678033720701933"},"directories":{}},"0.11.5":{"name":"lore-hook-websockets-socketio","version":"0.11.5","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"~0.11.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.11.5","_shasum":"68f1eaf17a4e0996ab6f422e6507338a9a585b16","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"68f1eaf17a4e0996ab6f422e6507338a9a585b16","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.11.5.tgz","integrity":"sha512-YguIiZDA/pA1mMf3N+fWrVbMCt1r5CyS27RJgcXm1A/gBGY9YeAkTDGy12aIi1+2ssakb/0zHQCPlhdQdN2rWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5zIoElQQ0F0wyPJA+k9EEkLM+AoGf8wbU/MKsf63VwgIhAK/pCz/KK39YL4uKXGx7pODJdmmBkbhFrz0b65IBqhkQ"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.11.5.tgz_1493712304792_0.15715772355906665"},"directories":{}},"0.12.0-rc.1":{"name":"lore-hook-websockets-socketio","version":"0.12.0-rc.1","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.12.0-rc.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.12.0-rc.1","_shasum":"0b26cf92f598211c41269f364baf0c3b5787ca48","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"0b26cf92f598211c41269f364baf0c3b5787ca48","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.12.0-rc.1.tgz","integrity":"sha512-uWxSvAzxGvA28qjO+z04LQ2gYqbVXGLxLO4LpYzSQ7zb+stpHgpwKsS+M112ZucvKDPX9TQbouvTl2aOYpyE0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoKKrgOkNPhkG6lN+HCsIO180sK/aaLt1DQHeYAN/MrwIhAMRi4BjRim5OkIfm64jdz9cHqBOJSxbkKPqY8K74n9nv"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.12.0-rc.1.tgz_1493715360301_0.6007705794181675"},"directories":{}},"0.12.0":{"name":"lore-hook-websockets-socketio","version":"0.12.0","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.12.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.12.0","_shasum":"5a311565d7302012791689bed4130ed70747facb","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"5a311565d7302012791689bed4130ed70747facb","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.12.0.tgz","integrity":"sha512-DdZB/J7/wW4qXHHSZunjHLIY477IarFsHywZSyvDc/NFGfuDkecIgcjuNyMdzWYUD0V1VJxSw+Ih+p8/tonQaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENducVJYZTer/vfhT9h/Dowann1nhp3EgVfRv4fJuxiAiEA98PhyjL+CHvKgvRDArewJeKrAUIC+8avH4nTJbPucjI="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-hook-websockets-socketio-0.12.0.tgz_1494219626032_0.7581821028143167"},"directories":{}},"0.12.6":{"name":"lore-hook-websockets-socketio","version":"0.12.6","license":"MIT","main":"./lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.12.6","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.12.6","_npmVersion":"5.0.4","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-vE0ZYIiutCAiStSninnAUukFLooTTnhda/mw/EFqT1lBGmFcwGcb81ReHCazq5U0sZEmuRHIsyn0/IGOL0zUvQ==","shasum":"0b866694f213cffa3dfe77f781f48e8e268dcf97","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.12.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEspmCLYymL44f6eY9hu1HAbk+3SnhhHo8urxK72ZmCbAiBasS9/8OfDRBzZoL9XcziuUWgrZz/esZVQomLzUfzZjg=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.12.6.tgz_1499144978693_0.6043272139504552"},"directories":{}},"0.12.7-rc.1":{"name":"lore-hook-websockets-socketio","version":"0.12.7-rc.1","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.12.7-rc.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.12.7-rc.1","_npmVersion":"5.1.0","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-rtKCJEcs5Fbxe45mf5PDpbaVwq/jk8wsIYcgLVoleIiUMgZtQgDNMbcGU70KjN4mrE0Y1oEswJwDNuKSSoFOow==","shasum":"e6db56aca689f977959f894c055e96db12c1aa7f","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.12.7-rc.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQ+HFTsWOBll9/LkEIgmEQIQfXrvdrgHRiACOatc0LBAiEA7cDO4W4OHCXdqrykZz/kCZXRY/O4NLUDTVatb+FmTCg="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.12.7-rc.1.tgz_1499638580058_0.1979264731053263"},"directories":{}},"0.13.0-beta.1":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.1","license":"MIT","main":"lib/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.1","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-TfXoV/Au9HuvVrskvH3T4ttsfebB9kbnLFIaHLNjGgSJ3DrF4hGiJ0LKDM5zFZMy7Hum6iXD+9lWZfXbFkj9Ow==","shasum":"d7128a495ab37e96cc313cb7350c4de6e5348a19","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6lQpD449fx7EBoDapPTxUhHBqZXELnT9L840+TUhXRAiEAqL3nuXhfRPTsEREEK1UcIqDPOtlAxBbGHBtMn+69GtM="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.1.tgz_1505764653765_0.529438900295645"},"directories":{}},"0.13.0-beta.3":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.3","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.3","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.3","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-ZaZrF9BW0600I4IT71oiF6bBfSpNwCcW/WJuoxkQa6es53xKM3iPwLwUc3FdK97pswdiPuEvL8rgu+kVrZteEw==","shasum":"b113651c5f7e1f69bb459ed047f6e8d5a51462d9","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGS8+PR5U5ysWSDbSOY0KsJ6jwoxL6JuxdRbRxKzs5/YAiEAgX/VEUAhR7Rlmc+mpHfkXoe+wjCORGGVedVIGfPExRA="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.3.tgz_1505773911634_0.6871067276224494"},"directories":{}},"0.13.0-beta.5":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.5","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.5","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.5","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-6wyyzEcogF/mMmbklssb6I1boAk7UjbXSz7j3pwDohFAQndYxk5qWD+hQUy3+XLNE06VkWqZ3hUUrDG7R8YXzw==","shasum":"ba2061e1f008ef5d7669b0ebbbfd4a391639ef78","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlIdEPO969wujATwxq0w7SYRQo+LZ4Id8IYQdZCS1ksAiEA9ZN4o1TtOh1wX5SH+k8/j3cJ0WxcR4XGTZgRuPBdXSg="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.5.tgz_1510692780368_0.8303021416068077"},"directories":{}},"0.13.0-beta.6":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.6","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.6","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.6","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-UsbnBBD2vsYahpuA6B5D60QM2/5k+uuavecxqLivS9SkeLY09h4B/WRlIWTlQG357g40fiWwOXEJPel2soDy/g==","shasum":"b75e9b9d6e3ce747bdaa0ecedb781b05a521804b","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICIp/hsGxdAlGKMYUIJgAF5ji3MDIn9AmbVKOKVeCxJiAiBC00bjMz7ASkKDcSHsv+vcHwApfYjEAXJyH8HEgTYkVg=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.6.tgz_1510698387618_0.7408350210171193"},"directories":{}},"0.13.0-beta.7":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.7","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.7","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.7","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-/OEe6HyIwwB/8q2fw3llOampz3+78tKIvQntvh9AGZQbb6Do6vsMN913sprOMtJyVCn8Y9gAs0EG4stlhDwR9g==","shasum":"e8b9f043b7039d8aaf5f31a179c9477859b55313","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD87XIlJb67cyHOf277nkn9c0j0Tj9eth2SvCYBVOP1dgIhAL3nP5nIXyORN/mJSWHBYHrTnzl1Z42KtCunUODUnVCK"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.7.tgz_1510699137829_0.9380433929618448"},"directories":{}},"0.13.0-beta.9":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.9","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.9","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.9","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-P1MpcE0bOuxOebd4iCYxcq6NdRGNV8zGQI1WDyTxJBxYz5NoamVdzGToiZ8aapGRKuVsCJ9ziMNyzQkgAb6ArA==","shasum":"202138bee95bfac87c7e59d9780e4135302ffad2","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB74D/rhjU9w2WaNa4v04/Qfx8IvNAuOWiBJkE11lF3zAiEAhlDELoCmLKSiSr1Kl7nWFpe92hLR7zGu6iENa4sQ7Xw="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.9.tgz_1511594317201_0.8120720679871738"},"directories":{}},"0.13.0-beta.10":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.10","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.10","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.10","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-Md1ZUKTE6FuvU+PhR3s73Q6oqTDcuZYX2B3RYkGaSiS9Bsb0NJHfbNRz8ZTEaKT7doMmqIEeHQWvmpxChMESVA==","shasum":"e135f08e3fe73b4b69bef2cfaf0c36752ce15948","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOgMWW7S3Cj03KI8FIA2iMm+A/R1yOTTDm2+V4DtGEvAiEAvtylN8cU1jRJzwYD/zKoOSVUAuJY7wTBtPaXkV/pTOk="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.10.tgz_1513286430210_0.2070839935913682"},"directories":{}},"0.13.0-beta.11":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.11","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.11","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0-beta.11","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-2kBUU+xukua13EjSKXOfXjNRI95rlKgXGFS3OBIPOZuZMFnL0YsC418xdbUCClI/ctLIB9yla1CG8v/x8fi9hw==","shasum":"809da1846f861be2ffd76c2b268ca091ae00a3a2","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhAVB05GBppjbNK67hyAd4rM3M7SyYcldL7h/VpXByFAiEA5C19G+BCX/PU20EHYpnLvWtG+NmS6eX/L3XQDXhvMrs="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio-0.13.0-beta.11.tgz_1513716351749_0.5577554637566209"},"directories":{}},"0.13.0-beta.12":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.12","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.12","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-beta.12","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-G5/JaNgG1EYs7qUjNGx+iehQN1pcQxWaLxRfuFyvKfiIbr72qMRm3camPxmgJV/kDjJJS8hYftmmH0VaSCZ3ww==","shasum":"243aa71927cec3ed3c298ff9d8326f1993bfb542","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.12.tgz","fileCount":9,"unpackedSize":12718,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNuUYnZtO9SptshGPUZlPwDIeh7op48krsOVMQHm/XuAiEA0hTNhOEgSl7jjHDGu5zgO9bW1YN+mX8i/B/pNdLR150="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-beta.12_1520214967641_0.6045771559565385"},"_hasShrinkwrap":false},"0.13.0-beta.13":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.13","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.13","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-beta.13","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-j5m/TOpQn6gBDjzpTj0+mArwBqmyssWnVbrHXw6i4Olj/oJefaDBBTFy6ao6Aj72QIonGMvssmX9tIlVCiJLmQ==","shasum":"4f09e5baa98a219b0891cf4c5120bff143ea5208","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.13.tgz","fileCount":9,"unpackedSize":12718,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo4HE5j7CiGkbbSSTWfKnUuflyI1qmPpGJh/vTDz2obwIhAK78fcx8RnPz7zzHhKFhgXEXakyKGF59O1snQCcYBvkl"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-beta.13_1521940011524_0.7423181425890422"},"_hasShrinkwrap":false},"0.13.0-beta.14":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.14","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.14","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-beta.14","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-gUonHUEnJ1hPnTNTRHEuKgIUtxWXeyqcdtn8qOV2inis3bvkg5bdf0E0tViavW33dbNQOpfICDg90GiZm0GUcQ==","shasum":"7d0331a2ab7d4074d232fd55d05e553d5297de3e","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.14.tgz","fileCount":9,"unpackedSize":12718,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCTZ/uhb3tAenr8PQByZf4Mxz78BQCtFGV07/qwW/JpAiAEp4LhUUi1d/T9+lECd/FyRekaDb6j3FJKzMuUasti+Q=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-beta.14_1522531117663_0.11887953799072015"},"_hasShrinkwrap":false},"0.13.0-beta.15":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.15","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.15","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-beta.15","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-Ts+2rRrcOeyps7LJ0G9EnGWKk/S7/66to84gGK62VQbuSlupI2YIvdq4g0bF1uuWW9McKWsNljijuDNa6PoW1Q==","shasum":"74c0748df850e245961a7e04958b0eb1d9f99dc3","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.15.tgz","fileCount":9,"unpackedSize":12718,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlCoGrDqgDaJFjNC/nyJGKPX8lq5pcqgQvyQMKxYqYPwIhAKZ8EPvIPcfyFkhLzndPOnBEDM2UpmaJdEZYprLL6XZJ"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-beta.15_1523329177571_0.6750220223632231"},"_hasShrinkwrap":false},"0.13.0-beta.16":{"name":"lore-hook-websockets-socketio","version":"0.13.0-beta.16","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-beta.16","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-beta.16","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-BQ2EyBhWCN5Wv0EEIWqfbblu0s9FNC73D/CB6MBCtPy5Q9zp/n7Sy/2lqA0ZgQJqgvSwg1pzarE08HfyQ60ETA==","shasum":"22e1ba2c6f6842273e5656570c8fc4fbc4bc48a8","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-beta.16.tgz","fileCount":9,"unpackedSize":12718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4kK5CRA9TVsSAnZWagAAKDYP/2BzSbpU85ZD1fXPEwXw\n7o2slY0+3MYbk/4r7SshStNxFOP3ZxP8Fh5Z9AVGOBm0F/682FR6dUTyQBJT\nmyQLTyqHuIdMCJPEeYdqSA8mveuFtE9B/5eOcXjZMmIbAOgQKNOE0hV+wN3g\nyl5+4C9n8At8565XbpA5aF/DF1m0ccBuoZLukv6B/SFteKzhgByT15KOuzva\nDi2KzE39z6gby4ewQS3aK7GRcYz9Y+OXcT3E+8/7DSKlB+YyVHN0+NuHafTh\noUWMPW9GoDUXRvPta2d1H1O40aoSQHhagQFiWVIQ7O1LyAaeiLc+EneJzkeu\ndLEalpjLVu3zgHoPJmlJkdK5eLz1vzGVH0tv4xrqIHHsCFuAA1yPeJquvQkF\nfMoXSzKRaPGgHDM8Swb5psiP7w2nRN15YvRtzvWdskPlI/CxpK8ZTqiMus9v\ne29f4ny12ltbqnblPe7xjXHMIn5q4nHg0fI9Ih+iedr6lnok4jJcZzrNQdV+\nP+zLijSoXGHbwA4jhZif2WpqsQRQiGco4Z2j1+/KIJtXjt3MVZu38zkEp+Bf\n3we6V04fTnsBdiYbTDCSuFYATNVyL8oYJkdBEBrkGqYHYsHefD1oTtFZnftH\n6ffsCh0/ClUlzX5XmMr6BY4/OsVQLcT8oxl+3I2J0Sr/nQbqO6Xvtzdv1hck\nVOH+\r\n=N133\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD84K2VqAse0rZeYHMU4TKNj49XfU3G4IWxyBjuDZqdKwIhALDHEe6ZW3Oq+BfSID3hdKlH/Xh3BECsccb9AjYkijLn"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-beta.16_1524777656744_0.1523808104586144"},"_hasShrinkwrap":false},"0.13.0-rc.1":{"name":"lore-hook-websockets-socketio","version":"0.13.0-rc.1","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-rc.1","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-rc.1","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-TiDysxI+aA7OlZwYLOn4dMRtQRz5bvZxHWJA+M8dx1ZXRtv/FlW0l/kF4Gvt6x8Dfvf7rlXyWug7UBgIWngvBg==","shasum":"8cf454d9e2dce3fe285628872b6ee429b278fc43","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-rc.1.tgz","fileCount":9,"unpackedSize":12712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+Ic+CRA9TVsSAnZWagAAeREP/3jUMP/U86TQRxUlytxs\nSWlOS3KtrDoSTpdQHzjIKjH1ZzeFjUxUND1CLSGmrZ+PU9Iq7PagpHRD5HQ/\nQgXtMUCsRfYY5gd6JegnmN2k5iTh5rH9M0DbXV1kNc91mctozgpHlF8xx8Uk\nJfHRsjAmlHgkM5rNVqxdjBnjv4tu6arA13PnyT3xFKibHiGWracgOj9RtAFc\nKk75Ljk213K8Ix4S+x5DDnSbbzmEL2G2wFXgaVMAHPxPpZFCFjvV0uXcIVDO\nm8YYifYmzGhTu5PzR3TiuCzpxEtFT4NuGgOgrY6Hm9J8autK9oXOyWuXCGZt\nPTsuLGF1j5WhYMIOt0moSX5sXKq3b/B7cdQax3odrVh7/VjX6cTzYGprWxnX\n+BXswlx8DPPXdpNyQ1NV3LPMpPHzxXR8Cwa7Nv11NhdDvJDxp/a/FaxcePOW\nDKlsJSvGCAFDKbaUjTdHWoJzMPzjNXAVCQxAy9QBnj2ORmMg3EKl4snjIN9Y\nNXMpvia3xcVhsuYCQwKuH2DJq4pw7y7gQaoJNLnmFoz7s6FBk2tUwCga/cmm\nElY+eyddhQKdVQJxHl1Iz5PMJbvDZKsx/6DFq3wHmwaRSoUoCh0iosFPKSPu\na3nfyBvG/OsdlGNW+tWZ9OqIbLClu9LDlGwacf21HJitQEd7XMM/Si7a11S1\nw/F+\r\n=jT9q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfFEm8QR9Xb2sEW0eDKvDez39Qeg8wg4AZR3XhVlpQKAIhAMlp5hNLb+qUdgo6jDOF6gJY1kB/9WF/l4WrBqyI2mQY"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-rc.1_1526236990174_0.9186929555515844"},"_hasShrinkwrap":false},"0.13.0-rc.2":{"name":"lore-hook-websockets-socketio","version":"0.13.0-rc.2","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0-rc.2","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","readmeFilename":"README.md","_id":"lore-hook-websockets-socketio@0.13.0-rc.2","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-ZI9K/IoljkPO1FnUrfMs0IC3QiAvZtYModAHuEhZii/nug/8TTpsKK1W4pm5sSQHPqmvnmD+6mju476OBBDNOQ==","shasum":"537095233a0ddd2a52f1e3008a484c5d5f07a54d","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0-rc.2.tgz","fileCount":9,"unpackedSize":12712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAhMqCRA9TVsSAnZWagAAy/AQAJgGLaqbIkolsYHbkcki\nLUZ3KCgO1/LU7a3MNYdSQ5txPCDq88c7HnoyZmkDax4a410YFco7vrQTs3Aa\nBlaMlM2Y/cfG33SMslUg8t8WWCxE5DYHIjH6WUu7yRkOf0Gvc4fa7a6CALZM\n0zbNK5BB1RirjIhKNCYPrypMvdVlTMCA7pQYOUcWUI9YUZz7zyKk58F70n4X\nKbXUODyIdrXPY8WeJT1LZqbckXBL9/Xu7AqHic+x4XbAgsZpGOz0p0PZkIxy\nAFc43f3baVIOOXyfYEGHgBfVjBGWu8EYMOvV7HZwZWBJ/vgJNjEdw+74MOH6\nJlBvxtBDxCeTe5aAk3KIKj32zIio6/zgDXALS7Mw4v65b4wdFq0EB/GKRsLO\nNZHzecBIT5vftXqXdtkWSc2uejX9QyoW86SBvt6/L3IIeTJuir2Fmz+9eSUu\nJz67WyyfiPCkzs9ATZQoJHC+S+wsR56s1tPn/SQwSAwh6KaKW/yWEGt5T6us\nE3diiNDGqBv03ONPFzCNdF5pAro1/8nQwDyck3RG5oS1DaIf0XTlUohLd+Ou\nDRI69hRxFAXonlJWc46zY7R8gqVzk59qsSiAVJf0FAc9+xM7T0K+Bni852gc\n4iLHQ78/ND8xGsofVMDSVnBtCWeWkrYh0OhcaXWuiB227d0CjkUUTxV8rXBC\nqEWg\r\n=Fwf5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEg3h3tyfphTsdMISnfIYK+R4hWxxjFhBJz1sdw5wEA5AiBaaeH0UEZDpheiA4CaNiePXBNFMIivbBSnG5B/fkdPLw=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0-rc.2_1526862632689_0.9327409708247463"},"_hasShrinkwrap":false},"0.13.0":{"name":"lore-hook-websockets-socketio","version":"0.13.0","license":"MIT","main":"lib/index.js","module":"es/index.js","description":"A lore hook that add websockets support for socket.io","keywords":["lore","hook","websockets","socket.io"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0","lore-websockets":"^0.13.0","pluralize":"1.2.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","socket.io-client":"^1.4.8"},"peerDependencies":{"socket.io-client":"^1.4.8"},"_id":"lore-hook-websockets-socketio@0.13.0","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-yFK2bKP2I86FAH2P5hdda8QX4gCpPgftjA07eSqo34ulJVYjYKbhwQt4X9yXKskJSuRFAzEDfoaAwSOGlikKcg==","shasum":"37e7fc25e8577dea5b2d423eeb14520cb30dcfff","tarball":"https://registry.npmjs.org/lore-hook-websockets-socketio/-/lore-hook-websockets-socketio-0.13.0.tgz","fileCount":9,"unpackedSize":12702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLvkmCRA9TVsSAnZWagAAdvUP/1E9uGmp1LUdDhjTFjgs\n9IP/3RnLKEB3Wo1TgyJFdc2T4yN8tpkcZi2L8AnQe9P6n0GsUtH1jn3JJ1r0\ndwe88juF49tIosyrCSZ20bLR0i7inoJeFVdTZ48uXlS7OpWLk6l5qVg0+rCe\nITyO74GCZF9gbSxFxupwoTUOKmdExbYfvQ1vB1/e3qryVw8b/kq3lqh2tHHH\nypt8SDbMNIUvbXK1R265RmaBuSffqr/Vnaw6r6+cRRTGyjNXdXKNI3mPPbiF\nQD9isQCtTVvS4fIdQ+oVJnLV+0WtrfU+y6S9UxIgKLlpobLE+VdvvZtvG7Tm\nhdXdsN/81lhMC7QR6leyulcXuSCo96g4THfRe5I1iQ9Prk3ubang9F3H/eWN\nWxE7EQB3bukpSU5RmeBemFUZVxNpRTkgHTgkYEfjaBny4z+M7+bH+e6fANXK\np27tqbOXR9yCRoj9Ek3OZSd1rYlWffUu1CciTz5Xtbqc4l+KkLYEgjKmBKoS\n5evC5hEzmHGSgFggqJTNvFqn2oWnD2V6FdUpck0RkLXGRhN0yy7FaqLI6pMx\nZAb3nwX1juRbxZGtAWJJ9xH319+2Oz2AcJ1ghkTN0ELe8wTUIB7jTux6lfjn\nap5QPC6cqUiUw22kpQcswmW1bpLEZPf5ztvzfUKrfdXcbZqgFMiHRvkVaZL0\n7iMi\r\n=QDCO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/iMSHXP1t6ZGU02OPJVbE33hBgjaDWNDVpHkL5hJ8cAIhALfkU9h0QxPJIu9QTdGPANnNp3SXzYbXMczr/FOTyvml"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-hook-websockets-socketio_0.13.0_1529805094757_0.8828127147655369"},"_hasShrinkwrap":false}},"readme":"# lore-hook-websockets-socketio\n\nThis hook does two things:\n\n1. It provides an implementation of the above interface that can be used with socket.io\n2. Provides a set of methods and dispatchers that can be used by default with any model in the application (using some \noverridable conventions)\n\n### Implementation\n\nImplementing support for socket.io is fairly straight forward. The implementation just needs to know the `serverUrl` \n(which is the root URL for the socket.io server), the `namespace` (if your server uses one) and the `event` that will \nbe emitted when CRUD operations occur for the desired resource.\n\n``` js\nvar io = require('socket.io-client');\nvar WebSocketConnection = require('lore-websockets').WebSocketConnection;\n\nmodule.exports = WebSocketConnection.extend({\n\n  // These three values are provided by the project configuration or conventions\n  serverUrl: 'http://localhost:1337',\n  namespace: '/posts',\n  event: 'post',\n\n  connect: function() {\n    var url = this.serverUrl + this.namespace;\n    this.socket = io(url);\n  },\n\n  subscribe: function() {\n    this.socket.on(this.event, this.dispatch);\n  },\n\n  unsubscribe: function() {\n    this.socket.off(this.event, this.dispatch);\n  }\n\n});\n```\n### Default Methods and Dispatchers\n\nThe code below illustrates the general setup process used when the hook creates the WebSocket instance:\n\n``` js\n// these \"guess\" the namespace and event based on conventions\n// can be provided explicitly by the user\nvar conventions = {\n  namespace: config.pluralize ? `/${pluralize(modelName)}` : `/${modelName}`,\n  event: modelName\n};\n\n// these three dispatchers are provided by default to update the Redux store\n// based on data that was created, updated or deleted by other users.\nvar dispatchers = {\n  created: blueprints.dispatchers.created(modelName, Model)(store),\n  updated: blueprints.dispatchers.updated(modelName, Model)(store),\n  destroyed: blueprints.dispatchers.destroyed(modelName, Model)(store)\n};\n\n\n// override the SocketIo WebSocketConnection with conventions and configuration\nvar CustomWebSocketConnection = SocketIoWebSocketConnection.extend(_.extend(conventions, config));\n\n// make the connection accessible under lore.websockets, i.e. lore.websockets.post for example.\nlore.websockets[modelName] = new CustomSocketIoWebSocketConnection(dispatchers);\n```\n\nIf you want to listen for events during the entire lifecycle of your application, a good place to connect and listen \nfor data is within the `componentDidMount` method of the `Master` component, like so:\n\n``` js\n// src/components/Master.js\nReact.createClass({\n  componentDidMount: function() {\n    lore.websockets.post.connect();\n    lore.websockets.post.subscribe();\n  },\n\n  componentWillUnmount: function() {\n    lore.websockets.post.unsubscribe();\n  }\n})\n```\n\nCalling `lore.websockets.post.connect()` will cause the websocket instance to connect with the server. Calling \n`lore.websockets.post.subscribe()` will cause it to listen for the event it was configured for, such as events \ncalled `post` that contain data about Post resources that have been created, updated or deleted by other users.\n","maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"}],"time":{"modified":"2022-06-19T14:20:18.521Z","created":"2016-09-09T21:01:54.513Z","0.9.0-rc.1":"2016-09-09T21:01:54.513Z","0.9.0":"2016-09-11T08:32:45.146Z","0.10.0-beta.1":"2016-10-04T09:22:10.221Z","0.10.0":"2016-10-13T05:42:20.312Z","0.11.0-beta.1":"2016-12-12T06:24:36.613Z","0.11.0-rc.1":"2017-01-24T06:25:19.322Z","0.11.0":"2017-01-29T04:55:21.881Z","0.12.0-beta.1":"2017-03-06T00:00:36.511Z","0.11.5":"2017-05-02T08:05:06.531Z","0.12.0-rc.1":"2017-05-02T08:56:02.279Z","0.12.0":"2017-05-08T05:00:26.272Z","0.12.6":"2017-07-04T05:09:39.351Z","0.12.7-rc.1":"2017-07-09T22:16:20.212Z","0.13.0-beta.1":"2017-09-18T19:57:33.906Z","0.13.0-beta.3":"2017-09-18T22:31:52.457Z","0.13.0-beta.5":"2017-11-14T20:53:00.427Z","0.13.0-beta.6":"2017-11-14T22:26:27.693Z","0.13.0-beta.7":"2017-11-14T22:38:57.927Z","0.13.0-beta.9":"2017-11-25T07:18:37.440Z","0.13.0-beta.10":"2017-12-14T21:20:30.302Z","0.13.0-beta.11":"2017-12-19T20:45:51.832Z","0.13.0-beta.12":"2018-03-05T01:56:07.675Z","0.13.0-beta.13":"2018-03-25T01:06:52.408Z","0.13.0-beta.14":"2018-03-31T21:18:37.741Z","0.13.0-beta.15":"2018-04-10T02:59:37.626Z","0.13.0-beta.16":"2018-04-26T21:20:56.861Z","0.13.0-rc.1":"2018-05-13T18:43:10.238Z","0.13.0-rc.2":"2018-05-21T00:30:32.797Z","0.13.0":"2018-06-24T01:51:34.843Z"},"keywords":["lore","hook","websockets","socket.io"],"license":"MIT","readmeFilename":"README.md"}