{"_id":"redux-async-initial-state","_rev":"13-4b34509e3a81109760a347547a3d96cc","name":"redux-async-initial-state","description":"It is simple redux middleware that helps you load redux initial state asynchronously","dist-tags":{"beta":"0.0.2","latest":"0.3.0"},"versions":{"0.0.1":{"name":"redux-async-initial-state","version":"0.0.1","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"index.js","directories":{"test":"test"},"scripts":{"test":"npm test"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"ISC","_id":"redux-async-initial-state@0.0.1","_shasum":"e89907ef2a2bbd68502436be4374c6a11f89621e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"e89907ef2a2bbd68502436be4374c6a11f89621e","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.0.1.tgz","integrity":"sha512-h769k5k0mALHD0iskD3rfezWWdIYwtteUzL39P7X/K2rkLCASX0/OwkJHFZ7KOxicscY7IGrcjEau0Rol5qNtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF66+vPhZ+wQ8+wsgjzzha5At8/XOVfjfn+kSw0NgDosAiEAsspiDGTdhkE69U2yO/KNZrEg6g5olddlodUDcI8f4Kg="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.0.1.tgz_1456922269811_0.184099065605551"}},"0.0.2":{"name":"redux-async-initial-state","version":"0.0.2","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","posttest":"npm run lint","lint":"eslint src test"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"ISC","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","rimraf":"^2.5.2"},"_id":"redux-async-initial-state@0.0.2","_shasum":"54a28b4a18b6cfdc33d1804003e74fc6941ad04d","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"54a28b4a18b6cfdc33d1804003e74fc6941ad04d","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.0.2.tgz","integrity":"sha512-l0ojOX3t70X76ki4sxO90PYwosbxuCGhdb/6IktBmb4hd4FF1wzcTj021Nx4gCfN1SoZV6e4oqWerBJeh4fssQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArYGqz2bIhuTKtpBKdHa4TdQvMikbVqyIxVUiokoDNEAiEAtgblaHYdkiLRgIdY13YuUDaHwxh32uT+uLmkUWoyJcw="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.0.2.tgz_1456926331599_0.7016064589843154"}},"0.1.0":{"name":"redux-async-initial-state","version":"0.1.0","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"ISC","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"27ae1965a9d43cc41fa45d57c2cf389931896c6a","_id":"redux-async-initial-state@0.1.0","_shasum":"9890a7fdcbe974954148db7487f4d02f9b5d1153","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"9890a7fdcbe974954148db7487f4d02f9b5d1153","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.1.0.tgz","integrity":"sha512-mzRqCwn1ijLbL12m+wGZuL9N0OKXFDlVLEyk7udnLb/6e7d5wvACMT4raUfp1bWkkdNcj7HxGjkok1muFTNFnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+W7YW4SvOw+GvpuX5brZdwg71DHHrieE84flvlrKs4AIhAPHfncQs0/UkuO7L4lbuWDJM8R5oAiOe++fnhmZuUgHl"}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.1.0.tgz_1456999202365_0.678799441549927"}},"0.1.1":{"name":"redux-async-initial-state","version":"0.1.1","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"b78ed39ca7a1e24a76862483180d303975d709b6","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.1.1","_shasum":"d9ef56475ac51e690b2413a7cb86d982be3cee98","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"d9ef56475ac51e690b2413a7cb86d982be3cee98","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.1.1.tgz","integrity":"sha512-wMc8PdUBpFiNzz+xLPa758oUxi/Xemm8fix05LJ+l/6DzDJqQzBYEWjTpGk3jvi7t4RTbupEyd2UPHLz8idQ6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGoHaFx6CCIH+P4ZlZj+ezfT1CAShG9GyF+KCgt5lYIoAiAaEaK18HYelrjJLBTeRxZBl8f4NgLvk3BG8Gtx0OBgmA=="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.1.1.tgz_1456999496150_0.6411224987823516"}},"0.1.2":{"name":"redux-async-initial-state","version":"0.1.2","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"a6f70fb25479a4f6fa3bc9c68f1ffe27d62e3e33","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.1.2","_shasum":"a27e4ffbcebd0d1ef9ab7624e49587e925a69f6e","_from":".","_npmVersion":"2.15.6","_nodeVersion":"4.4.0","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"a27e4ffbcebd0d1ef9ab7624e49587e925a69f6e","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.1.2.tgz","integrity":"sha512-LPEbRn9EnqSvWG/g4xAO4WvGlDzuxyK/Sd2g2SWCaa9vlIEP+PLGxauU0esONZvTAc+vvu6YxecAiSMJNcgGJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgt+cLGEmVTH2lS8s23aN57hyEdCIddVODUuDuEWXjrAiACX/ZfeGmWDYEFceIEXDRpsAXJBJu653qOY1w6yCD3FA=="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.1.2.tgz_1465206684867_0.3772135120816529"}},"0.2.0":{"name":"redux-async-initial-state","version":"0.2.0","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"8411e36b4bc55b4c1bbe65637859205500f853dc","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.2.0","_shasum":"1992bc03acca193339a390da0a9eaf96fb5d7014","_from":".","_npmVersion":"3.10.8","_nodeVersion":"4.4.0","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"1992bc03acca193339a390da0a9eaf96fb5d7014","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.2.0.tgz","integrity":"sha512-er4R612P5k6PAnp3moCeEtSUuR5jeVBJaTO0a2ssB+FOuHrBSioqPYLGSBzeZDwC45vYb+Su7XvWEv2zXwLVPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqfcnBv6tMNzb2Nfbw0Hbb4+LTbYagmPf3Xx6jLXiByQIhAKHwXF2nMKKWQRuhu/cbfOGxfDL/wJ7Pld1E/tSf5UQM"}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-async-initial-state-0.2.0.tgz_1476370609334_0.14548517181538045"}},"0.2.1":{"name":"redux-async-initial-state","version":"0.2.1","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"247b244c2d66da12045596e1a537a8a51cf3396e","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.2.1","_shasum":"ee80737e6c654ef12dd4d2e2a4fb3ab2121d6a92","_from":".","_npmVersion":"3.10.3","_nodeVersion":"7.9.0","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"shasum":"ee80737e6c654ef12dd4d2e2a4fb3ab2121d6a92","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.2.1.tgz","integrity":"sha512-ikqqQ9n6mxj1qYtb5b0AAaQpqQ89E2i3Y8vsqfkIalCxB5O/OOeR37EcfN3bYM2AbR3lSCFu4jIbzW4EHYkBUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMA/fS5Kj7Ry4C6TWVsPBwM6ZI9Bx5k5wWwh1SgHfb3gIhAJX/HxB1PnBXwfWpmdCaWh8qDtGB2FdVunMhyRM52lIz"}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-async-initial-state-0.2.1.tgz_1501511571697_0.2549439570866525"}},"0.2.2":{"name":"redux-async-initial-state","version":"0.2.2","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"d292cb1c604d9accea07e22c3339035a229c291d","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.2.2","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"integrity":"sha512-6NgNM+FZKSxAb8ZD6n6n1U6sVTAU3nAU1rKdSqrh5CIvkVF3IBqFCevt1c55EiIJpAnD6E3oTInJ5dGy5wd12g==","shasum":"cd6b45361c3316cd4807bb06acf2ee41fe1697ef","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.2.2.tgz","fileCount":8,"unpackedSize":9553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9axUCRA9TVsSAnZWagAAKmcQAJAcuj545oJCCDHUohxi\nbx4KxmIsNvnoKrYn0FSnrb9drJD6ESlddiUFvFcz5YtB0BcJuYZ54egMvcxP\nGhPztQspzWY1vuPGyNiwpfbNea/9cZEerMkPkkR95GLB4gMmO65VbpewYRk3\nvtLga7YBIDev+iXFbVLDqTAv3wsCuDMGbfUvs153TGNSkyCX7CS6kHRxGk4b\nRwa/nAcb7S1GeB/TveOrC+Hd7ImvhTFx6thzJMmUzGH/t8jPZh/L78pnYyv+\nUYdtpQ5WUnE7Up42/xiyGsLx0SWJvY7Ch4m30y7xnxK0z+I/Baeg1GfCY8uT\nCiql5DpGiJcTIwcQY/BCFrmBRhmDfbaolo73HcJy8NwPME2YOHCTSpB+bu0v\nXwrvhA1+S44p/42+CfjyblGLiekQbUURFqa1bku/6fnyn8O35/BGzKsYB6Vs\nYgJuiKxingHvXn92QqIKPZkTr1XRl197mh96J31MxJwM9XQoPHA9TCRTZh72\nRPEmog20UJERNSSE2YLG5fXDEI3rO7xlwdL494HxNk2Dtbg8HtQbP/AE0HA/\nlg2mdz3RIAJdYTrzat2FG0vcoNlFo3b86k9ah1D9ftPHpEqjgiQdyKIzy4WV\n1TihnrqAETEuqe95/UFIAMHKn5akLT3GvbBqgqEB97lXzAyVfhUpDB4LORkT\ns4wN\r\n=uZ23\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvQpZLYSFTerheX6p+G67iWHo0oSc5k8JSHsNIu6eHzwIgG27dAwbRIrJGxAYzkd0GHr0PC4ZyX/zFXgtUkMufVGk="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-async-initial-state_0.2.2_1526049875824_0.2568753922818938"},"_hasShrinkwrap":false},"0.3.0":{"name":"redux-async-initial-state","version":"0.3.0","description":"It is simple redux middleware that helps you load redux initial state asynchronously","main":"lib/index.js","directories":{"test":"test"},"scripts":{"build":"babel src --out-dir lib","prepublish":"npm run test && rimraf lib && npm run build","test":"mocha --compilers js:babel-core/register --reporter spec --require ./test/helper.js test/*.js","posttest":"npm run lint","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","devDependencies":{"babel":"^6.5.2","babel-cli":"^6.6.0","babel-core":"^6.6.0","babel-eslint":"^5.0.0","babel-preset-es2015":"^6.6.0","babel-preset-stage-0":"^6.5.0","chai":"^3.5.0","chai-spies":"^0.7.1","eslint":"^2.2.0","eslint-config-airbnb":"^6.0.2","eslint-plugin-react":"^4.1.0","mocha":"^2.4.5","rimraf":"^2.5.2"},"gitHead":"f33d63880924e3d083af863dff742ed2ada86581","bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"homepage":"https://github.com/KELiON/redux-async-initial-state#readme","_id":"redux-async-initial-state@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"kelion","email":"kelionweb@gmail.com"},"dist":{"integrity":"sha512-Is+i60mt0eDG64xICQFej7nueSF0ZHozPLINr7KqQk2Yp04zTmPEIY6xJmBEyaz7tmWtFoVeYqfKqt7gMSSKhA==","shasum":"65cff4e4761e3f43df6da5dff84eb5477f09f8a3","tarball":"https://registry.npmjs.org/redux-async-initial-state/-/redux-async-initial-state-0.3.0.tgz","fileCount":8,"unpackedSize":9938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbIXEUCRA9TVsSAnZWagAAGDUQAIqo7ZldWqqE2PFsEFfT\n1g+hbVFqTp+3lcNIClbbgxLK8ud1Fob4pIU2CBpxijDreYNjbR1b+9O5L0h3\nWteMKsT0bwn4e4rbKWHb1AMG5y6DqhfNk4ZwoHShIiPBarjucH9+k2bS6tTR\nOduuULV/P4gVRpgIZ4C19X0OORM2+cqJ1uFoZRtx1rdVZvB/kHqOBHwI+UEj\nFgMI9qki24YJmrMkeCAth8BSPi/cEnLrlUp1U4uRvEGqpPWV4dg1OzAGRMOR\nC12yiLBOJXrqp7uZa5fXI8pN9DotPvuJ6+dlCFFr0LXFYiLBfQQQcIM6jG7A\nfNZN7vglnBqAUTytLr1We3Dkog1Qi9ZmHTeYXkhrW0OIJf/+rpsXYk6uP2bB\nB+/9CeTKh8A5AdEjSbWRM46MLPhzEm/7lOuVlMVfGqdaJUqgMQOk0M4DnEFp\nS2aCQ+/zJoin8RQAxWQpLCbW+/+oD8umxseDvzbJyGO81FDB3iUdSL/9fMhk\nurt43gEtxoD3gfKqJUkfDcqyaj8pFVoaLt5Pwj+I4GAzbAe3o3zT0CJzg2wC\n0dxQi/5JLJzfds4kIG0u0kUsboppOHOqgWo5ilVKt0BsN5PxkURUTBB/neqU\nmvt1xYYHzU3wWtOg88O0r+95m+A4PeLOKqfCVf5AR2Uq9AOBqBAb44iTeAkl\nV0UR\r\n=dOxp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExskc4fISkCd6XPQFvUK6wIGk9fJCaFUJdrrd+z6bYXAiEAq6qibOaaNWiLPpjQGQWpk7L1ACovr+FVOIpul21gV/0="}]},"maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-async-initial-state_0.3.0_1528918291724_0.6154229250753838"},"_hasShrinkwrap":false}},"readme":"Redux Async Initial State\n=============\n\nRedux [middleware](http://redux.js.org/docs/advanced/Middleware.html) for async loading of initial app state.\n\n[![build status](https://img.shields.io/travis/KELiON/redux-async-initial-state/master.svg?style=flat-square)](https://travis-ci.org/KELiON/redux-async-initial-state)\n[![npm version](https://img.shields.io/npm/v/redux-async-initial-state.svg?style=flat-square)](https://www.npmjs.com/package/redux-async-initial-state)\n\n\n```bash\nnpm install --save redux-async-initial-state\n```\n\n## What? Why?\n\nWith [redux](http://redux.js.org) it is quite simple to synchronously load initial state, i.e. from localStorage:\n\n```javascript\n...\nconst initialState = JSON.parse(localStorage.getItem('state'));\nconst store = storeCreator(reducer, initialState);\n```\n\nBut it becomes quite complicated to do it asynchronously, i.e. from server or from async storage, like in [React Native](https://facebook.github.io/react-native/docs/asyncstorage.html). This middleware do it for you.\n\n## Usage\n\n1. Add package\n\n```bash\nnpm install --save redux-async-initial-state\n```\n\n2. Change your reducer and add middleware:\n\nbefore:\n\n```javascript\nimport { createStore, combineReducers } from 'redux'\nimport * as reducers from 'reducers'\n\nconst reducer = combineReducers(reducers)\nconst store = createStore(reducer)\n```\n\nAfter\n\n```javascript\n\nimport { createStore, applyMiddleware, combineReducers, compose } from 'redux';\nimport * as reducers from 'reducers';\nimport * as asyncInitialState from 'redux-async-initial-state';\n\n// We need outerReducer to replace full state as soon as it loaded\nconst reducer = asyncInitialState.outerReducer(combineReducers({\n  ...reducers,\n  // We need innerReducer to store loading state, i.e. for showing loading spinner\n  // If you don't need to handle loading state you may skip it\n  asyncInitialState: asyncInitialState.innerReducer,\n}));\n\n// Load state function\n// Should return promise that resolves application state\nconst loadStore = () => {\n  return new Promise(resolve => {\n    fetch('/store')\n      .then(response => response.json())\n      .then(resolve);\n  });\n}\n\nconst store = createStore(\n  reducer,\n  compose(applyMiddleware(asyncInitialState.middleware(loadStore)))\n);\n```\n\n### Partial replace\nIn case when you're loading only part of your store initially, you can add `getCurrentState` argument in `loadStore` function. So, if you have some complex shape of your reducer and you need to replace only some of keys in your store (`currentUser` in example below):\n\n```js\nconst loadStore = (getCurrentState) => {\n  return new Promise(resolve => {\n    fetch('/current_user.json')\n      .then(response => response.json())\n      .then(user => {\n        resolve({\n          // reuse state that was before loading current user\n          ...getCurrentState(),\n          // and replace only `currentUser` key\n          currentUser: user\n        })\n      });\n  });\n}\n```\n\n## Reducer\nThe shape of `innerReducer` is:\n\n```javascript\n{\n  loaded: false,\n  loading: false,\n  error: false\n}\n```\n\nYou can add it to you reducer if you want to handle loading state, i.e. to show loading spinner. Here is React example (it uses reducer, described above):\n\n```javascript\nimport React from 'react';\nimport { connect } from 'react-redux';\n\n@connect(state => ({\n  loading: state.asyncInitialState.loading,\n}))\nclass MyComponent extends React.Component {\n  render() {\n    if (this.props.loading) {\n      return <div>Loading...</div>\n    }\n    return ...;\n  }\n}\n```\n","maintainers":[{"name":"kelion","email":"kelionweb@gmail.com"}],"time":{"modified":"2022-06-26T09:59:26.897Z","created":"2016-03-02T12:37:52.171Z","0.0.1":"2016-03-02T12:37:52.171Z","0.0.2":"2016-03-02T13:45:34.360Z","0.1.0":"2016-03-03T10:00:05.020Z","0.1.1":"2016-03-03T10:04:59.091Z","0.1.2":"2016-06-06T09:51:26.478Z","0.2.0":"2016-10-13T14:56:51.122Z","0.2.1":"2017-07-31T14:32:52.644Z","0.2.2":"2018-05-11T14:44:35.921Z","0.3.0":"2018-06-13T19:31:31.800Z"},"keywords":["redux","initial","state","async"],"author":{"name":"KELiON","email":"kelionweb@gmail.com","url":"http://asubbotin.ru"},"license":"MIT","readmeFilename":"Readme.md","homepage":"https://github.com/KELiON/redux-async-initial-state#readme","repository":{"type":"git","url":"git+https://github.com/KELiON/redux-async-initial-state.git"},"bugs":{"url":"https://github.com/KELiON/redux-async-initial-state/issues"},"users":{"cbpetersen":true}}