{"_id":"@daniellangnet/pubnub-redux","_rev":"5-3805742d54963cdf3d1220a1231e74d5","name":"@daniellangnet/pubnub-redux","dist-tags":{"latest":"0.0.11-custom-3"},"versions":{"0.0.11":{"name":"@daniellangnet/pubnub-redux","version":"0.0.11","main":"dist/index.js","module":"dist/pubnub-redux.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint src --fix"},"devDependencies":{"@types/deep-freeze":"^0.1.2","@types/jest":"^24.0.23","@types/pubnub":"^4.28.1","@types/redux-mock-store":"^1.0.1","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","deep-freeze":"0.0.1","eslint":"^6.8.0","husky":"^3.1.0","pubnub":"^4.28.3","redux":"^4.0.4","redux-mock-store":"^1.5.4","redux-thunk":"^2.3.0","tsdx":"^0.13.2","tslib":"^1.10.0","typescript":"^3.7.3"},"peerDependencies":{"pubnub":"^4.28.3","redux":"^4.0.4","redux-thunk":"^2.3.0"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"prettier":{"arrowParens":"always","printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"moduleDirectories":["node_modules","src"],"roots":["<rootDir>/src"]},"dependencies":{},"gitHead":"462d03ee89ea45e7028ffc75badead6c5829ca95","description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","_id":"@daniellangnet/pubnub-redux@0.0.11","_nodeVersion":"11.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gNSU0bzVm54VTNIi3yrB6L5KdIQgRR55ENQACDVRLYYvetyhY/8XwT1g6oLjZMXqSEwpU39yfMq7Ct9KP0y3lQ==","shasum":"1d17440057219a638a0696919fb9728260d8b87d","tarball":"https://registry.npmjs.org/@daniellangnet/pubnub-redux/-/pubnub-redux-0.0.11.tgz","fileCount":83,"unpackedSize":818095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQbitCRA9TVsSAnZWagAAAwkP/R477umBGx7zY8QjpUK6\nH0hI0YPijp6zmccdKm54TEVuOsGpanQMdH/8Y8+1IvCZasLcTSbimhr5FjWH\nw92+1dGVEL/AT96TfHvd5mGDdtpigEPOf/dQ9Gcd1jd7wljfCEF7ZIjk68N+\n2StQ2AfW3iicrqixUTrzj9PDcKLDQN3ucvdtNfU1N9ToEcxFnjSylmlnN65o\n3os2S/8nl0v1PLQJecpX/5kgjPIO7662SoH4cpaUHv9AA+zwPmSSZisxb/9C\n+awdKBONQ5aWPN6xQpusW0wtmRQyDWNUSgMooiByUDVDR3umZ/LKRYzts0Q/\n8+M6r1Mrpio9eSs2Pl9DjFAepxARUak6FLuZl/y7ZzCR1U+hiEnik8CM6Uu+\nH5KXeme/xkYEcXwWBVDWLVw1pREsE2i+0oX3nrEo6e6HbB+VNe1MXc38ATdf\nbiniNHADTylanQZHvsNpNAnjrWztBsOJcdukinqFktuMUpVBnDSc1Ictlrii\n8f68gYHkHt3gwQIlLGd9geG5j+MB6CCKqmzTmXNONbdPu5wKC7DQJALG0uyy\n3HLH0E9quaCBWShIm9bhAydD6vGGnCDo7EVVXgQrBjw1lqutZFAKxuTHlga9\n/l1w5QFvEzVR6X+9dozGpQb4iDHlxXO00okteuR/MyNwva9on4teRQ0eWbeu\n8L7V\r\n=FA85\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMweJD96i2n3zzRMSizhfZGwdmitJ3GiioQ505WESicQIhAOmPkOp9KTdqOJiXGKyCyRLXgz80mQupUe5fZgoZApD1"}]},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"_npmUser":{"name":"daniellangnet","email":"me@daniellang.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pubnub-redux_0.0.11_1598142636859_0.37604077622330734"},"_hasShrinkwrap":false},"0.0.11-custom":{"name":"@daniellangnet/pubnub-redux","version":"0.0.11-custom","main":"dist/index.js","module":"dist/pubnub-redux.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint src --fix"},"devDependencies":{"@types/deep-freeze":"^0.1.2","@types/jest":"^24.0.23","@types/pubnub":"^4.28.1","@types/redux-mock-store":"^1.0.1","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","deep-freeze":"0.0.1","eslint":"^6.8.0","husky":"^3.1.0","pubnub":"^4.28.3","redux":"^4.0.4","redux-mock-store":"^1.5.4","redux-thunk":"^2.3.0","tsdx":"^0.13.2","tslib":"^1.10.0","typescript":"^3.7.3"},"peerDependencies":{"pubnub":"^4.28.3","redux":"^4.0.4","redux-thunk":"^2.3.0"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"prettier":{"arrowParens":"always","printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"moduleDirectories":["node_modules","src"],"roots":["<rootDir>/src"]},"dependencies":{},"gitHead":"cae53b0e21a88dcd7354bd490f9d42735a6b99c7","description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","_id":"@daniellangnet/pubnub-redux@0.0.11-custom","_nodeVersion":"11.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8BR9lgBoojHsMzFlGC8SaZkp0jycd/PoLEo+FYj7tOcURgciNQs7RelkbrHYENvfjr9fvQDDcTf38r9oTRWHSQ==","shasum":"6c97ed3b20f8d121286eb01623a74dc51833eb5b","tarball":"https://registry.npmjs.org/@daniellangnet/pubnub-redux/-/pubnub-redux-0.0.11-custom.tgz","fileCount":83,"unpackedSize":818102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQbvZCRA9TVsSAnZWagAAmV0P/0MVMrkAdgnEu/GVhCMW\nUZeJtTcMW2szIw/yyaJv8afsM0xDDU+hpePasM/DOgH0yF4Vvr6cmJZncoES\nqezIixRVFZ1xFsY4m5Bqj2b+eweSOzmktbe+G/iK0BtiJtLXzzo4gJY2pv47\nAX9+4wMpQvTFTYAE8E/dscC33vkwqA07ZDpKwB1UnxyVe8F0hiTfBC/KL/OH\n6Um/AeOogyjkvb9Z0Y/mG0mkrHZce13Z201uhn3+W6ojsP+yTLSmdg00rseg\nnciTdLpZn2ftt3D82WxsOC/ZN01Pi65M4TBubuGX9WG7aOm246lpFTDfkYT0\njESXPKLOamDB9gAuCTaybWU/uinde1JVz63NOuG1j+nyMLaosWETVBgO4Hzm\nohpZxHVLEvL9A/PjfS4/m3UIBIx56IOzA+DR5xDzG+o3+0qjFka3Wv2I5j+D\nAJq8x4ayy60Xy/XFqEYTFthmPiaFa2XGVHBQs+uAWDG+L0WVOG/Elj5kz/Rh\naNt3UWnnyCztfhYcivEI2W2JRFDmMFdfe9qrsMAOLgGqNQUQI1SwpUmEX/r2\n/LXC6CH9Yq3ksVXFw9baz/kjkWzqnoXBj9OwT2q7Ed5cSYKDscVAH3kl7NC2\nVS414VHoBsTb4GEQmYQcsf2cxboVMOCMMUCTUkkicttN2qSQ1UvX7fpcuPt6\n4woQ\r\n=nGSX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBu4Mwq+9Bxbm6KWklWITgaWdjdG8M0PmrEN/uUTxEIMAiEAzbZ4aCJoTTcZZd1XrmMh0b6+QrZsKpMIQzzRd7CirfQ="}]},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"_npmUser":{"name":"daniellangnet","email":"me@daniellang.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pubnub-redux_0.0.11-custom_1598143449358_0.233503083947741"},"_hasShrinkwrap":false},"0.0.11-custom-1":{"name":"@daniellangnet/pubnub-redux","version":"0.0.11-custom-1","main":"dist/index.js","module":"dist/pubnub-redux.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint src --fix"},"devDependencies":{"@types/deep-freeze":"^0.1.2","@types/jest":"^24.0.23","@types/pubnub":"^4.28.1","@types/redux-mock-store":"^1.0.1","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","deep-freeze":"0.0.1","eslint":"^6.8.0","husky":"^3.1.0","pubnub":"^4.28.3","redux":"^4.0.4","redux-mock-store":"^1.5.4","redux-thunk":"^2.3.0","tsdx":"^0.13.2","tslib":"^1.10.0","typescript":"^3.7.3"},"peerDependencies":{"pubnub":"^4.28.3","redux":"^4.0.4","redux-thunk":"^2.3.0"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"prettier":{"arrowParens":"always","printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"moduleDirectories":["node_modules","src"],"roots":["<rootDir>/src"]},"dependencies":{},"gitHead":"cae53b0e21a88dcd7354bd490f9d42735a6b99c7","description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","_id":"@daniellangnet/pubnub-redux@0.0.11-custom-1","_nodeVersion":"11.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-td2sK1OdR56fQfoc6hTRa0+dQUqLLZV6ot8hubof4EV8a2Z2IauZ4XjgqijELu+ar08gpfvm0ovZ1gWKlynBIQ==","shasum":"82be71570cb1743a43fe45816daa8319641b8ddc","tarball":"https://registry.npmjs.org/@daniellangnet/pubnub-redux/-/pubnub-redux-0.0.11-custom-1.tgz","fileCount":83,"unpackedSize":818686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQbyoCRA9TVsSAnZWagAA1C0P/jHWATo+JbxEWsOXe9IX\nwOrlgVx8fQZbJPPmTiPAC86lw2bpss/Otld/CN0HoEjUlV0H7+67HSBs9cdQ\nYG5vL0F/ex5SQphFieCC50/MEgTMz+hN+XMwU2v2fOY/tGgYNVDj+IQmyt66\nObKUafByO01hIaXX1A+4zsEqL61UzCwvKEBOsmnOgZGHAiH1RyP3n9ZoKeYh\nW7ZfFYL86HsmufUI+MFpbgEY1WJErTPIj69KJebWhFCM/8fvmKEC2x/h7QQ3\nRMQmrLLht9v0isVLku0vcxGw6X9bDJMjXl4P3iBC4mBpIYxdBnLi/onvU71Q\n5Pv9hEiKE8wlePUFtn2SYCzseTMNMRLvw+08AHX0bamwCXKFr3cjLA+KW54+\nqs14rqtriaFQ8NICxvzmAaOigXjwvfkstk54zbnj0/a4sOc97co5gZqaDpDX\n/uKyAI8n9Djsu4nUn+BJATWQAXs8jTTr+MoqEUwZ3CG4tBt7xcZemZP64BAN\nPs2lVWmBz0o9lrKKa7HB7wDFbaNejVvgOChxG+mSvqEFIcCkq3LAKrff5FjW\nwAu434PlE23WZyC8QjXOScyJ3IpIzBcpj9q1blCC2jDtxRNycvUaOTAEyIcI\neuX4CSzfGIq+Vz1oohqragAAReGyk2kuMHp3RCc1YZgB47A1H1kdU86yKFMA\nyyZD\r\n=/E/+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/Qv+DUN9jIEZM6n+TtXEbGkQXYQUFXTcgB4/jFJqzyAiAREiouZcudjb3VfV3mYnvIgDaY9pAWDzTHKy6pPNgQiA=="}]},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"_npmUser":{"name":"daniellangnet","email":"me@daniellang.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pubnub-redux_0.0.11-custom-1_1598143655890_0.05251197262706353"},"_hasShrinkwrap":false},"0.0.11-custom-2":{"name":"@daniellangnet/pubnub-redux","version":"0.0.11-custom-2","main":"dist/index.js","module":"dist/pubnub-redux.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint src --fix"},"devDependencies":{"@types/deep-freeze":"^0.1.2","@types/jest":"^24.0.23","@types/pubnub":"^4.28.1","@types/redux-mock-store":"^1.0.1","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","deep-freeze":"0.0.1","eslint":"^6.8.0","husky":"^3.1.0","pubnub":"^4.28.3","redux":"^4.0.4","redux-mock-store":"^1.5.4","redux-thunk":"^2.3.0","tsdx":"^0.13.2","tslib":"^1.10.0","typescript":"^3.7.3"},"peerDependencies":{"pubnub":"^4.28.3","redux":"^4.0.4","redux-thunk":"^2.3.0"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"prettier":{"arrowParens":"always","printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"moduleDirectories":["node_modules","src"],"roots":["<rootDir>/src"]},"dependencies":{},"gitHead":"0dbe02fb3846ca14527ab743e0842788a9500b55","description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","_id":"@daniellangnet/pubnub-redux@0.0.11-custom-2","_nodeVersion":"11.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DyBnyIFCg/Csfivow9tpcoQpneOzRqtbZ96wzcRAc3DfohISX5Fvb+Iw02yBLrtYipPwx2gVzhYKyQfubgEngA==","shasum":"257035154fcacff75e1c3ca4623ab9f9a90e8887","tarball":"https://registry.npmjs.org/@daniellangnet/pubnub-redux/-/pubnub-redux-0.0.11-custom-2.tgz","fileCount":83,"unpackedSize":818926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQb3vCRA9TVsSAnZWagAA9OsP/iwfDAt0l50DSaBnEPUG\nLC/SujaP7are3AvXatokGXGHroyzoJSvxirTdQb7OQayji6EHmlWmjtbPtNV\nNbZi6Lxgy21ku8djy8YlzvCo4SiUHS3M2R/+uUfD0KC56safu2cjzY0mG3n9\nc7y8c8nRnjd/0jI/Ck6VmqJ1lyS3E/B7jFCk3kBQOPjxmikPiDRqKwKUP9mH\nO4n0ZqaJu5OR+3ft1/uAwjm8hy7TSj0ZHA+3LXDhZZF3M44WfjiGOodcR08Y\n5KHYwpzCbZfUDkCRT9nLeT12N2DGEsK/Cn31r6FY7vOxeDeysgOYqKdCZ5+W\n2oGfrFiWKp7q/wbSZPEKQOTUWzUO8ENC52rTb2ez040p8yBDYR+VUqawfXYf\nwghVZrHp4oRaelk14OzGLfigAPx675K7k9fbTi7XoyYf5e524M4bE+Vkykok\nzWApZjy29Y6OABBC3Dlx6Ld6GYpgdfYBc9XrZYatgqqKM0OR0CEMTHreyIWD\nMhDlD7hX8if9p8Gnxs/NsuzeLtfL3n0oUndoBbhw+N0wsnUWfuii2YsvyQCy\nwSDiIPWe3bj5Uw2IuL8gmOpGdPPNxPdo6fWighkp6oS0chL/amouwEFQrvME\ny7OLxaRHMKi15hhIGySdm+SdySflDG5CRJH8nSLjh4BbiaiXPZM+nVf9fjvW\nSl6e\r\n=jZA0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwNqZF7hBGOEs1owWGx3cxqS9YzeSxxeA1d/WHSrKzlgIgG7lIdKcPqeX7SZAuzH+LMQfSjU0tUBPM1DEwm0vJ+oI="}]},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"_npmUser":{"name":"daniellangnet","email":"me@daniellang.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pubnub-redux_0.0.11-custom-2_1598143982669_0.6538595671195191"},"_hasShrinkwrap":false},"0.0.11-custom-3":{"name":"@daniellangnet/pubnub-redux","version":"0.0.11-custom-3","main":"dist/index.js","module":"dist/pubnub-redux.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint src --fix"},"devDependencies":{"@types/deep-freeze":"^0.1.2","@types/jest":"^24.0.23","@types/pubnub":"^4.28.1","@types/redux-mock-store":"^1.0.1","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","deep-freeze":"0.0.1","eslint":"^6.8.0","husky":"^3.1.0","pubnub":"^4.28.3","redux":"^4.0.4","redux-mock-store":"^1.5.4","redux-thunk":"^2.3.0","tsdx":"^0.13.2","tslib":"^1.10.0","typescript":"^3.7.3"},"peerDependencies":{"pubnub":"^4.28.3","redux":"^4.0.4","redux-thunk":"^2.3.0"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"prettier":{"arrowParens":"always","printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"moduleDirectories":["node_modules","src"],"roots":["<rootDir>/src"]},"dependencies":{},"gitHead":"a1ed51b02cd4f47ac455e0835eec9a913ce36f59","description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","_id":"@daniellangnet/pubnub-redux@0.0.11-custom-3","_nodeVersion":"11.10.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Z0q9bs6hfQOb8El92CM1Cax3R+jM/asiV6u93leGdlLPWXfK7PrEj2cJbWFLc+KMUX3JdrH+VTuKo4aPVkZnLg==","shasum":"bb812e290a5a023b56e06a631f58d87bc5c02202","tarball":"https://registry.npmjs.org/@daniellangnet/pubnub-redux/-/pubnub-redux-0.0.11-custom-3.tgz","fileCount":83,"unpackedSize":818421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQb7xCRA9TVsSAnZWagAAChwP/jGYeFPt85SV3yWOyCNX\nB36bQ43GYnNupSOBUWs55E3hlm065suQtZUdBbIxPmpXVSEig9OmJ9ArKBj2\nbh/uOcRnInSIHaS67+U4a67/52cuxQdxuoyykvfdkt4yb+EMLpkAPyd3uhdL\n/hnCo5ndTGfzzqhLfDAxD4iHfTBRe27QGITZN9vy2wC363bP7Q/904LnIos2\n6wSGG9dXR8ore5QJApq/dDUUHWazRweYVIi/sOfzY5JPbh7KZGdxSmT661rL\nrV7iLdyuZ2gqlxcpKhe/sfLhJy6HGPOnY0bqm+J7kyUDXAfczYAYXdLS/96u\n9KZpJYS2MCOv0zPQPSIyo3WFpIB757GYM5Lyo5ZbUsIfzwxAQx49sq0MmBLL\nMAcXVTH2z77LE7OiqyhFEHCBFQjOVakuxZ/79sTXUzH09UuG9LGbjePFqCiv\nNTRb2TrZASwh7Dyhl228ZGhMEo1j1U/lhQJaYco08/NrwJkxFNGIi2GBkp2j\nxPUGku1AcmLtWKvWXbbOUXHtv6npwAWt5PX0nNwdpkaX6cXcYF2Au9ePIFRV\n2Qw2viaoz6f3kACIPXYAvOU/xtoamU4atNYjnajmXAK4JUdTSqux1ArsSXrq\ns4SdoYSgMQ1eEemiM4uWEvfLh0yGik5/A93MnBfw91EF3xDvoKtc1RwwkPoP\n7NLs\r\n=OftO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCefj7QSG0Oq7mD3H4CbuHoqtBnLty4mIpge6ya8QigewIhAKVG0ygWSQk7z/fVxyqOftx+YCROfW6GxevaJ8Wzd8fH"}]},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"_npmUser":{"name":"daniellangnet","email":"me@daniellang.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pubnub-redux_0.0.11-custom-3_1598144241108_0.894869348801266"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-23T00:30:36.762Z","0.0.11":"2020-08-23T00:30:36.987Z","modified":"2022-04-05T02:41:11.806Z","0.0.11-custom":"2020-08-23T00:44:09.486Z","0.0.11-custom-1":"2020-08-23T00:47:36.012Z","0.0.11-custom-2":"2020-08-23T00:53:02.815Z","0.0.11-custom-3":"2020-08-23T00:57:21.250Z"},"maintainers":[{"name":"daniellangnet","email":"me@daniellang.net"}],"description":"[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)","readme":"# PubNub Redux SDK\n\n[![Build Status](https://travis-ci.com/pubnub/redux.svg?branch=master)](https://travis-ci.com/pubnub/redux)\n\nThe PubNub Redux SDK offers a data management framework that listens to realtime events generated by the PubNub network\nto update the view inside your application. And of course, your data can coexist with PubNub-defined data.\n\nThe Redux SDK is an [`npm`](https://docs.npmjs.com/about-npm/) module that provides\nRedux-specific functions which can be integrated with your existing or new Redux data store.\n\n**Note**: This is a beta version of the PubNub Redux SDK\n\n## Table of Contents\n\n- [Concepts](#concepts)\n- [Setup Instructions](#setup-instructions)\n- [Usage Examples](#usage-examples)\n\n# Concepts\n\nThe PubNub Redux SDK includes the following components that you help manage your application’s state and PubNub server communications.\n\n- **Actions**: Preconfigured actions that correspond to PubNub internals \n- **Reducers**: Configured to respond to the actions dispatched by the PubNub Redux SDK\n- **Listeners**: Monitor subscription notifications and dispatch actions\n- **Commands**: Functions that execute PubNub API calls and dispatch actions\n\n## Supported Features\n\n- Sending and Receiving Messages\n- Indicating User Presence\n- Monitoring Network Status\n- Managing User Data\n- Managing Channel Data\n- Managing Channel Memberships\n\n## Not Yet Supported\n\n- PubNub Access Manager\n- Storage and Playback\n- Signals\n- Message Actions\n\n## Dependencies\n\n- `pubnub 4.28.3` or later\n- `redux 4.0.4` or later\n- `redux-thunk 2.3.0` or later\n\n# Setup Instructions\n\nThis section provides the basic integration setps to connect the PubNub Redux SDK into your existing application. For an example\nof an application built on top of this SDK, go to our reference application site at: https://www.pubnub.com/docs/chat/quickstart\n\n- [Before You Begin](#before-you-begin)\n- [Install the PubNub Redux libraries](#install-the-pubnub-redux-libraries)\n- [Configure the Store](#configure-the-store)\n- [Register Listeners](#register-listeners)\n\n## Before You Begin\n\nBefore you can create an application with the PubNub Redux SDK, obtain a set of chat-optimized keys from your [PubNub Dashboard](https://dashboard.pubnub.com/).\n\nIn the following instructions, replace the following references with key values from your PubNub Dashboard.\n\n- `myPublishKey`\n- `mySubscribeKey`\n\n## Install the PubNub Redux libraries\n\n```bash\nnpm install redux\nnpm install redux-thunk\nnpm install pubnub\nnpm install pubnub-redux\n```\n\n## Configure the Store\n\nA Redux application manages all application state in a centralized location called the **store**.\nTo gain the benefits offered by the PubNub Redux SDK, you must configure your store to include references to the PubNub libraries.\n\n### Create the PubNub instance\n\n```javascript\nlet pubnub = new Pubnub({\n  publishKey: \"myPublishKey\",\n  subscribeKey: \"mySubscribeKey\"\n});\n```\n\n### Configure Reducers\n\n```javascript\nlet rootReducer = combineReducers(\n  createNetworkStatusReducer(false),\n  createMessageReducer(),\n  createPresenceReducer(),\n  createUUIDMetadataReducer(),\n  createUUIDMetadataListReducer(),\n  createChannelMetadataReducer(),\n  createChannelMetadataListReducer(),\n  createMembershipReducer(),\n  createChannelMembersReducer(),\n);\n```\n\n### Configure Redux Thunk Middleware\n\nThe PubNub Redux SDK uses Redux Thunk to manage the interaction with commands that execute PubNub API calls, process the responses, and dispatch Redux actions.\n\n```javascript\nlet thunkArgument = {\n  pubnub: {\n    api: pubnub\n  }\n};\n\nlet middleware = applyMiddleware(ReduxThunk.withExtraArgument(thunkArgument));\n```\n\n### Complete the Store Configuration\n\n```javascript\nlet myStore = createStore(\n  rootReducer,\n  undefined,\n  middleware,\n);\n\n```\n\n## Register Listeners\n\nYou can register all the listeners that are included in the PubNub Redux SDK.\n\n```javascript\npubnub.addListener(createPubnubListener(store.dispatch));\n```\n\nYou can also choose to register only specific listeners and combine with other listeners in your application.\n\n```javascript\npubnub.addListener(\n  combineListeners(\n    createNetworkStatusListener(store.dispatch),\n    createMessageListener(store.dispatch),\n    createPresenceListener(store.dispatch),\n    // a custom listener\n    {\n      status: (status) => {\n          console.log(status)\n      }\n    }\n  )\n);\n```\n\n# Usage Examples\n\nThis section contains a few examples of commands to get your started. This is not meant to be an exhaustive list.\nAlso, you can create commands in your application that use our actions to meet your requirements.\n\n- [Sending a Message](#sending-a-message)\n- [Set User Data](#set-user-data)\n- [Fetch User Data](#fetch-user-data)\n- [Set Channel Data](#set-channel-data)\n- [Set Memberships](#set-memberships)\n\n## Sending a Message\n\n```javascript\ndispatch(sendMessage({\n  channel: 'my-channel',\n  message: {\n    title: 'hello world',\n    body: 'This is our hello world message.'\n  }\n}));\n```\n\n## Set User Data\n\n```javascript\ndispatch(setUserData({\n  uuid: 'my-user-id',\n  data: {\n    name: 'User Name'\n  }\n}));\n```\n\n## Fetch User Data\n\n```javascript\ndispatch(fetchUserData({\n  uuid: 'my-user-id'\n}));\n```\n\n## Set Channel Data\n\n```javascript\ndispatch(setChannelData({\n  channel: 'my-channel-id',\n  data: {\n    name: 'Channel Name'\n  }\n}));\n```\n\n## Set Memberships\n\n```javascript\ndispatch(setMemberships({\n  uuid: 'my-user-id',\n  channels: [{\n    id: 'channel-id'\n  }]\n}));\n```\n","readmeFilename":"README.md"}