{"_id":"redux-apis","_rev":"30-cd7960faeb3d2db6e4356ebe6e5434e4","name":"redux-apis","description":"Helpers to create Redux-aware API's","dist-tags":{"latest":"2.0.0-alpha.2"},"versions":{"0.1.0":{"name":"redux-apis","version":"0.1.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"main":"src/redux-apis.jsx","scripts":{"test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"614835cb542b1d13328a075566e0fd234292216b","_id":"redux-apis@0.1.0","_shasum":"50504af29e02dffd1f1676682a25155487f43b1d","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"50504af29e02dffd1f1676682a25155487f43b1d","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.1.0.tgz","integrity":"sha512-PvBAZi7pYoG+uimSpdUr6nGSJuBCDoDSHroYk7yBcjLDp2h0VatDhjXOssN9hkSpaCCPDT6YY34aLXMBvmlAug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAaaNd9nTKpf+VjOhNMAU99q0Gmph9UVnW8Bcty9fBLQIgOtRpmr5Fc6O7b20S5Kdd2gUkl0FIiXmcSmSE94UhBKo="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.1.1":{"name":"redux-apis","version":"0.1.1","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"main":"src/redux-apis.jsx","scripts":{"test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"eb763a1d7d346901607e6ae98428f601723faf34","_id":"redux-apis@0.1.1","_shasum":"e14d9731d79bc7121b56319c1a58fd7e60420e0e","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"e14d9731d79bc7121b56319c1a58fd7e60420e0e","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.1.1.tgz","integrity":"sha512-j/HNAI9zcPTzZ6DAVIf1Z7kicXIKtaUt6Ct3DB37euyeY7gYZKde4Tv4u2RXOsqvx8x5r0hMqiQnSLdZH58Nbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvfEoO4h5behWxYyBsG8ekFmWWbIuNkq/IEwtysBCKPAIgC0ggkZafoeC/tnl1fnbndWblxdO9fCBSP2WWOw4Ru2k="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.2.0":{"name":"redux-apis","version":"0.2.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entries":["redux-apis.jsx"],"extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","babelify":"^7.2.0","browserify":"^12.0.1","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-if":"^2.0.0","gulp-streamify":"^1.0.2","gulp-uglify":"^1.5.1","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5","vinyl-source-stream":"^1.1.0","watchify":"^3.6.1"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"e4886ac0311e0021b2f9a09ac17f7061f4d882c8","_id":"redux-apis@0.2.0","_shasum":"a3ac329e8c536c6bc76e3912db6790b61ecbd352","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"a3ac329e8c536c6bc76e3912db6790b61ecbd352","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.2.0.tgz","integrity":"sha512-FOM26w+W+rLU+g0s3beFOlo5cQhiJxxJVHRZgkAapn78k/SURxClZe5SV8XJy1sAnulGvK5AnhmSIw4OVp2WkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZtCEy90CmvPX91nZ72owlOJ1eggPkKIe+NroOmwqnfAiA6PwyUNVAueDYW4DhC6Qi2fIB45U9xvxS2+KnfWhv/VQ=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.3.0":{"name":"redux-apis","version":"0.3.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"402977f08ec243e0650389362f666db9d4c4eda2","_id":"redux-apis@0.3.0","_shasum":"214548ad120ba111283fb7020386e82d74b05fe6","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"214548ad120ba111283fb7020386e82d74b05fe6","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.3.0.tgz","integrity":"sha512-TdCk9ZH6scACok0tm2a4V1Na1SRulWYa9ijgSey1ho5MzS+mAOqswXAqxAJAsykyEATl4u1Eint9H2wQhXwNgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDd3fXHZhzK96h8iOBZ1fusUeNJGA7Fg0V02RCLVWA1qAiEA4rV8CDT98Ma7pSL5Z2n0DOBZZdEUy9oU0ujOxuoKcho="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.3.1":{"name":"redux-apis","version":"0.3.1","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"f99d10535d3e8e41422e2bae6fa3727ab7b8c62c","_id":"redux-apis@0.3.1","_shasum":"ce9aa8f0da25a5ba6b59c17dc4f0f35608cde938","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"ce9aa8f0da25a5ba6b59c17dc4f0f35608cde938","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.3.1.tgz","integrity":"sha512-o7ffDmQSJ3mhMd3KjE2ciqc2gpeaHQM20XFCPLlyBoPSbb0oyzgEyGcJtkW6u8ev66RELicKkADCsbFvJWpAFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHygYT3GOn7R3CFIpgy6P5XnUJiGBHYAc7xbMCMLU22UCIQDvpWAb3ZmjYzkrQbBL3GPRDWeevU4tkyraS4aaClDYUg=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.4.0":{"name":"redux-apis","version":"0.4.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"501802d2d50a3a4f72baa86499d66e3f9d0369d2","_id":"redux-apis@0.4.0","_shasum":"8de237deb05ec859d5a4d63600edaf3415503a40","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"8de237deb05ec859d5a4d63600edaf3415503a40","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.4.0.tgz","integrity":"sha512-0p+zSJat/zjiv2zj7s6tq5SB51LxmwjOfxya3lLUUT8hfxGmGhswGbxamJCyo2h/8W4sn41tG3ISfyKB7VpQ2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFujSTy+kTTPfJWqN+XjCxIt1Hc0WlZhBXqZIglvyj6xAiEAg1hAccCtM0KTO/FAB5F5jUdZVOzTnKgpQYiRzRqC7mQ="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.5.0":{"name":"redux-apis","version":"0.5.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"56e28076502e282ad8aa67cf1ae47c259604ac8a","_id":"redux-apis@0.5.0","_shasum":"78ad550f6bd3b21986753c570a065f0d9ae808c9","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"78ad550f6bd3b21986753c570a065f0d9ae808c9","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.5.0.tgz","integrity":"sha512-M9xEvHcoRrtijygcqQq5xUOJiQl735AqY92FglV8Z2uesBdK2JXeIS0roByn8/VsEqFMFPWdsxUlToQeXa3K0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/SaiWg6ohiEedCP1d+8g3ACR9c/eCKMy/yz3DXjL3IAIhAKP/MshFLmPSW7+qZlDq+auzQ0AoDQA0XLylSV/D2aSR"}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.6.0":{"name":"redux-apis","version":"0.6.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register src/**/*spec.jsx"},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{"redux-actions":"^0.9.0"},"gitHead":"55d3d083e942a397dfd3286c881156c658761dc9","_id":"redux-apis@0.6.0","_shasum":"e58723b906cc4806658974f8aad95b6bf04a66b3","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"e58723b906cc4806658974f8aad95b6bf04a66b3","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.6.0.tgz","integrity":"sha512-eZuFt12kyC9E6s10BvUqqQ3JIS4i1cw+aQUvIqEeXKf7af7U+ptOjqI3qDSkgZq+cWXUTAGX+WDRcdnZ+8xllA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTmvns+dRUsDgwk0Td33P+vCFqq3mtivzpa+OyT9SW+wIgYmYSfpWJb5DfbxNcWi8TJdFGQwx3vX31nZwHTqN3two="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.7.0":{"name":"redux-apis","version":"0.7.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register \"src/**/*spec.jsx\"","examples":"mocha --require babel-register \"examples/**/*spec.jsx\""},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{},"gitHead":"9fc0e412cabfcb09ec88f4ab778a0fceb1ccf9cc","_id":"redux-apis@0.7.0","_shasum":"24dbb999389bf48bc2188fa7a7be648cd7cf3a8f","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"24dbb999389bf48bc2188fa7a7be648cd7cf3a8f","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.7.0.tgz","integrity":"sha512-Tr1b1Yb32pghRzMbbM1iLgovAoLZYCcYdAKckp70SfkTn1G/6fECPiN7C+j//z3aGJaafm2mifzw1I/Da4wLKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1J5FMsC/zoMqZLkEW+Of9eumHncdI0lpYOx/4yOBfvAiEA92KSN6UgUINdtiwvnvLdcYLGsiu41NIPOQYPyx0q1aA="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.8.0":{"name":"redux-apis","version":"0.8.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register \"src/**/*spec.jsx\"","examples":"mocha --require babel-register \"examples/**/*spec.jsx\""},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{},"gitHead":"66410c6f2f6e4612692338b4b023abf7a4dbdaee","_id":"redux-apis@0.8.0","_shasum":"be3b91877d26e3096f6267be54795dd8e89813e8","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"be3b91877d26e3096f6267be54795dd8e89813e8","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.8.0.tgz","integrity":"sha512-2QV66ZCVQRlsrUaymeMVCGwwHVFkJKqIsdYfiP4y0AhYqN7ueloYw2iv4VgSvxW0cczXQ7nvwroy0XgfrIVTZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgRt+b4WmjnXa/vRoyf7Hi+KeQ57g8qG3cOunkhUCI0wIhAMBRcrkWjOn5rTXiAAjcO1ugfTAirOUdxYfngvzSKlXM"}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.9.0":{"name":"redux-apis","version":"0.9.0","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register \"src/**/*spec.jsx\"","examples":"mocha --require babel-register \"examples/**/*spec.jsx\""},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{},"gitHead":"3b6f4671d69e4ffcc76d835b5826bad0b9fa17ae","_id":"redux-apis@0.9.0","_shasum":"27d501f704f5f2ccbd7d1e7e9ccc94361e689013","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"27d501f704f5f2ccbd7d1e7e9ccc94361e689013","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.9.0.tgz","integrity":"sha512-5IuLNfbHBqpghYoKkk3uS8DG4gF7UbXlJKMGzas3xBS2QSSn19IYK1QqNT2J+fKc0OIngOUVQkutqFKcjcI4BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6A/0Tq/+6JJYBdgFiVACSx2wg1tGPsRTuvHiC+LcvEwIgUOSdxns+U+rppDdoT+BQteLdWI0Hyyx6Va388Ru+fo0="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.9.1":{"name":"redux-apis","version":"0.9.1","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register \"src/**/*spec.jsx\"","examples":"mocha --require babel-register \"examples/**/*spec.jsx\""},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{},"gitHead":"c2274b0249b9f93bd07deac9982eed7ffcaa249b","_id":"redux-apis@0.9.1","_shasum":"9c4270f9799a82e28ff3292cc4cc44610a33284d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"9c4270f9799a82e28ff3292cc4cc44610a33284d","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.9.1.tgz","integrity":"sha512-22A86OC621T20z26mS7CiOIPkTpw6/EjNGauQSISyU62ywxMOes256d4Ry1kSEbmZdVqt+CguF1qbbM0iM0NaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDyk22KANs3uR/FM9L/Jjlgm6AAjvKi7B5FqcTRhJ5BKAiEAwFPeIoVO8nREuJGfoWrec85v0Cc2shFG5N7KExwNb1Y="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.9.2":{"name":"redux-apis","version":"0.9.2","description":"Helpers to create Redux-aware API's","babel":{"presets":["es2015","stage-0"]},"entry":"src/redux-apis.jsx","extensions":[".jsx"],"main":"lib/redux-apis.js","scripts":{"build":"gulp","test":"mocha --require babel-register \"src/**/*spec.jsx\"","examples":"mocha --require babel-register \"examples/**/*spec.jsx\""},"keywords":["redux","apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2015 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","fs":"0.0.2","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","path":"^0.12.7","redux":"^3.0.5"},"dependencies":{},"gitHead":"167249ad6a95864414414e0d00a42e0ee6c21db0","_id":"redux-apis@0.9.2","_shasum":"f51c8c81f410854b80732a437009d45517c6230c","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"f51c8c81f410854b80732a437009d45517c6230c","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.9.2.tgz","integrity":"sha512-/dwA0hRv4e2Z/f0p94DGal29U1555bV80/a49W5pq+gP7y7TElN/L4/J1/+kvr9MjpOxj0BddOnxuZeEd9iugw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD95WMV1yjZHdYojRPhcYtXZs/XJUpesUwZPhlfVKBb1AIhALD++giXk5VFidVqlDUYPto34pVojvSgbVua+jeX605p"}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.10.0":{"name":"redux-apis","version":"0.10.0","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require babel-register \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","redux":"^3.0.5","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"55d4a87817bfdc3cbd238c79da05ce67f5aa2f02","_id":"redux-apis@0.10.0","_shasum":"3f8f8eb810423dc72f4e22f399efbad51beff0d2","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"3f8f8eb810423dc72f4e22f399efbad51beff0d2","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.10.0.tgz","integrity":"sha512-0iOiPksRZFI12gMY1F8G9JCux/XKleBZYZvSSiiGYZSJlH73EVRnRCmJ1KvAZJBfUhALhCRn06kQa+fU7wugnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDh/5C6XT5HHNuOpd8jXjr+Ze96FYlwiosZMAbpeeeYMAiAIkwE7GmaRZlCc4hUFCMtUwY8piFwbBqESaiIayRBAmw=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.10.1":{"name":"redux-apis","version":"0.10.1","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require babel-register \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","redux":"^3.0.5","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"970d9121aa6b1590bced2abd558818f921c4cf8f","_id":"redux-apis@0.10.1","_shasum":"6c7d093763b54c49bbdfb991fb3d5d1f42b0eff0","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"6c7d093763b54c49bbdfb991fb3d5d1f42b0eff0","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.10.1.tgz","integrity":"sha512-V/qpwkky35+qemVfoq6sC9Wm73HoxS1JoE4VZ8wfPOVHHo9FLptX4Akd+aRNt58VIBdsBvDB7zE0v2wjgt8iQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUzb0M9QOBKVV6HGUYMauj8QbH19ui5vGiOkzH1nF0fAiEA7f6bNv5rEYCGxGCKDu2cPlxh0En5fsAgkxXE4N/GinA="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.10.2":{"name":"redux-apis","version":"0.10.2","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require babel-register \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","redux":"^3.0.5","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"dae29b88c9ac952eafb3a77204113d8eaf646a1e","_id":"redux-apis@0.10.2","_shasum":"10c2549af651d7024adc59437f80b25c45136f2a","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"10c2549af651d7024adc59437f80b25c45136f2a","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.10.2.tgz","integrity":"sha512-xHQaP+dUNazdZJhW7DfvpmQBovraVNU09IgTHp2Z/GFAYKyHg8jzD73mMbwWhJ2TXMabaKghvZiWn2exhIGzmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYE5huE1hdunait6MyS4AL2f6RUdatd1dlhTOegwcbNgIgSHdvDZydpxjUnq3Qqc1hg1bL6fJ6FWazrKvvbO01LRw="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.10.3":{"name":"redux-apis","version":"0.10.3","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require babel-register \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","gulp":"^3.9.0","gulp-babel":"^6.1.1","gulp-sourcemaps":"^1.6.0","gulp-util":"^3.0.7","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","redux":"^3.0.5","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"07330bb02b27585f4bdabcb0996744ad8a190403","_id":"redux-apis@0.10.3","_shasum":"b392f66640f64fafabc48e414d1b250f68f825b1","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"b392f66640f64fafabc48e414d1b250f68f825b1","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.10.3.tgz","integrity":"sha512-piMDGwQMbLLolxEefaXKPeFtuElBUp5fMbJypdWuXkVfsgTjEEvDcP2gLx2rT6UGmrsTStEfNw7pppirZC9Bfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6xtbZWVZsmV3UXyTQMz1WMZUZf9+nUO3Q+V/Vt5s7QwIgaLg7aCET5JQ4sMgcbnxBkZmrwRu1TB2XznIt1koi+8A="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.11.0":{"name":"redux-apis","version":"0.11.0","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require babel-register \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","react-router":"^2.0.0-rc5","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"e0a8867c0b6ae0f8671c1af3ab6967632086ce99","_id":"redux-apis@0.11.0","_shasum":"1fe18076d66f63c423511f07221f702e80cde1c8","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"1fe18076d66f63c423511f07221f702e80cde1c8","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.11.0.tgz","integrity":"sha512-qT4OWXm2qVNuAz48sNxQWtUvsg7p3xmI7ETRJ7kZ2TBcu5vvSRKSrhdG102pcuhG1lL5w83ps5kR7DO8mKSCbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcqFUWzZdJdkLT3rLNNOeLdw87kWWnHPvygs1OT1cIvAiATwfqig17faDlMpje+aPvzAivhP3vBt8nOryIxMXsDOA=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.11.1":{"name":"redux-apis","version":"0.11.1","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","react-router":"^2.0.0-rc5","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"fcab5dbc050188bc8697adefa589bf34ac906920","_id":"redux-apis@0.11.1","_shasum":"e481a3d0478a0e7c26ad4555292a3078856189d6","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"e481a3d0478a0e7c26ad4555292a3078856189d6","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.11.1.tgz","integrity":"sha512-Mss9UHZgy88LAtD9VZ3meY1NGDV7IcqQNQCHUmMHUFWziF3549f0awj9F/QdpaxMQJVdhNeHh2h/ybWOgjsU8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFLUKst26C1iQF2OxvHAiVJYmJdtJH1uraXz+wvZE49AiEAsO+kibkJcA+0WBfVhRiMJ9xqzYzZGkEUnU385YCQPRk="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.11.2":{"name":"redux-apis","version":"0.11.2","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-file-name examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","react-router":"^2.0.0-rc5","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"09ad7fbfdd98a23d7e2795b1d8c51d345944a27b","_id":"redux-apis@0.11.2","_shasum":"ef40bb8b1f11b9c92bad35b496059772fabd1d45","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"ef40bb8b1f11b9c92bad35b496059772fabd1d45","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.11.2.tgz","integrity":"sha512-i9JwvzUOwU6Kpbe2LKD7//6l9WPM0TOjblIsXMgqEja3izWXiXt/19zUbuCCYUdPMQxqU4Q0mPCUB9DrbFWoXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHD5vmO4ahjLw0Kayeu/fnWGVfnFdYDaHQ4UngL2aCR0AiEA9jq5vNoJG5HejRIK3E89F/IgXibdjOk4MwujhuJAHJA="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.12.0":{"name":"redux-apis","version":"0.12.0","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"0073140dabb0b40d5fb9496c331ee9dfc011a895","_id":"redux-apis@0.12.0","_shasum":"c0b5e4a46103a71b950cd21497bbe74f00d0821c","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"c0b5e4a46103a71b950cd21497bbe74f00d0821c","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.12.0.tgz","integrity":"sha512-ke6uKX5bNrjAmgy0WSEatXtihNPjeDzAcrq+JJn8fnW7ucJ+T3U0LYgrW+cXl41GaS5ZbuLgyQSK7E5zyD0jFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClGmUKxzpJyfoivysfL3rJ/7JXo0BLBfzCm6oW5VzqlgIhAOVL5cVfiJP+vGD3RojPUrtnuCHdjYjGZJyaGPS1b+10"}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.12.1":{"name":"redux-apis","version":"0.12.1","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"d623ebcd171c30dec12c9a89677c583cc03c4fa5","_id":"redux-apis@0.12.1","_shasum":"26af855f59654fd371cc60cfdede6ae924a5d182","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"26af855f59654fd371cc60cfdede6ae924a5d182","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.12.1.tgz","integrity":"sha512-r9UUoCOC6J+J8Jw/qhCs42pA4IGbMqSCYLU71wNhp0z+NtgVlJvXW3M+svWduJPWHHKENvIqfm9/cw1m4l2z8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE7TY8756fcgI44fMdL8pmZZRBP8w+R4ggPN++P243a5AiAZlAt40ANFAyePgIKRIZSvcKmoL3palb9arkTmIyWZMg=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"0.12.2":{"name":"redux-apis","version":"0.12.2","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"16cf61e811c2a2aaea0a42831d0533c296988b89","_id":"redux-apis@0.12.2","_shasum":"b228e9533d2f94c234954feca66ad101fafe9246","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"b228e9533d2f94c234954feca66ad101fafe9246","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-0.12.2.tgz","integrity":"sha512-KwjAEkVXtNoKltHtVqGufQ/JifP5WbveU2+4J5O9ZJyoy5CRktySUI7fwlJixps541dHYPUbSCIagR5mLyAqNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEBMimFWH6NFi+6XAaQf4WeHydsPgF8sAdeq+0d4II8nAiADFzgsx07T8kRkIcoMryvcMLFqC/7Wei0mYpkqymTbxQ=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}]},"1.0.0":{"name":"redux-apis","version":"1.0.0","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"84721fc06b2102f8877c1c68e854fc702d270f30","_id":"redux-apis@1.0.0","_shasum":"1359e183ec14721d5b49fca1711a3e9734afc284","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"1359e183ec14721d5b49fca1711a3e9734afc284","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-1.0.0.tgz","integrity":"sha512-3yQBV0L4peIXp+NHLcDQWu2z5Q2oTB0thI2D4g8vvHbTA2F0rK/U5P+bhzhAwqVKgF/Xft40nIzMykrEcu1dhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdkoxm7159lsInwIlnKGYOSQJyIV6/6IHs2UonWN58kAiBvsHC22kwjcOu0ueE8+Ev+6Q/sZ27nGwYI3Ble6VagKw=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/redux-apis-1.0.0.tgz_1456360160361_0.5309374153148383"}},"1.1.0":{"name":"redux-apis","version":"1.1.0","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"8022651fa86270dbb0b7d9b8b5ebc18f0a2bda05","_id":"redux-apis@1.1.0","_shasum":"df04c87e80bc1bccb5f0988b9bb68964cc37a0b7","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"df04c87e80bc1bccb5f0988b9bb68964cc37a0b7","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-1.1.0.tgz","integrity":"sha512-Xl4fuCAWaoGYD1gO4j2EzDFfg2IGj8BHHmXmLvYQ878R9uvs2hz2fVv3ogSstZ1OCwfasbBVDaL9uloX2cLjpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJts6BsQ6IGKLzJRdgPtb0ET+xH9dbV4reOeEMmOlAAAiAR7MPYsrLN/4+bwb5/8VT6LbJp8KnfN1zr0uO93Y26CA=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/redux-apis-1.1.0.tgz_1456839850704_0.4792952418792993"}},"1.1.1":{"name":"redux-apis","version":"1.1.1","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"bd106882d5a8a5d30dce8371debfc2958c632c89","_id":"redux-apis@1.1.1","_shasum":"d26da5d36cf15db2da99b5dc191b2bd6a6785479","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"d26da5d36cf15db2da99b5dc191b2bd6a6785479","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-1.1.1.tgz","integrity":"sha512-WLu/Z/N651eHLiGPYMLSzMDmB5TXJ/vjz2XcnD/N61yI6NYiIFRQuhbWArQyHb0d3yLtWehJn1kkpDIbxJZrKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWGKcFBQU6i38rMPyZOlj82RFeNrIviFvu7f30ItKFdQIhAJbJzZ1W7qQIksmHkDj07TLKaVRF6aksmzcbLvq+qMBY"}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/redux-apis-1.1.1.tgz_1456999835584_0.19254341954365373"}},"2.0.0-alpha.1":{"name":"redux-apis","version":"2.0.0-alpha.1","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"c6a283ac68c7cc5a8b1569733b4e2e26a922783d","_id":"redux-apis@2.0.0-alpha.1","_shasum":"c6a744e19d47ba80648e603a8ebc8d2ff8dd6c42","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"c6a744e19d47ba80648e603a8ebc8d2ff8dd6c42","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-2.0.0-alpha.1.tgz","integrity":"sha512-RFCFkbb7WmOpGqvbjXoie8Su8Eep1mkJjzeL8zJzk+p5Znjce6vsjpGLqsRYAryeo659jYLzx8dWxtkcY0woXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMV64G7qnFnY6B0D85YbvTYpQwVzpujRqB/Kiogvw8kwIgAWKVehJdnTtigpvhBtOyoBYWGcosOgvaVzgE+NBwT10="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-apis-2.0.0-alpha.1.tgz_1457834028726_0.659985511098057"}},"2.0.0-alpha.2":{"name":"redux-apis","version":"2.0.0-alpha.2","description":"Helpers to create Redux-aware API's","main":"lib/redux-apis.min.js","babel":{"presets":["es2015","stage-0","react"],"plugins":["transform-decorators-legacy","transform-class-properties"]},"scripts":{"build-umd":"webpack --context src --output-path lib --output-filename redux-apis.umd.js --output-library-target umd \"./redux-apis.jsx\" ","build-min":"webpack -p --context src --output-path lib --output-filename redux-apis.min.js --output-library-target umd \"./redux-apis.jsx\" ","build":"npm run build-umd && npm run build-min","build-test":"webpack --context src --output-path lib --output-filename redux-apis.spec.js \"./redux-apis.spec.jsx\" && mocha \"lib/redux-apis.spec.js\" ","release":"npm run build && npm run build-test","test":"mocha --require src/test-helper.js \"src/**/*spec.jsx\"","test-dev":"webpack-dev-server --context src \"mocha!./redux-apis.spec.jsx\" --output-filename redux-apis.spec.js --content-base test --port 8888","examples":"mocha --require babel-register \"examples/**/*spec.jsx\"","examples-dev":"webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889"},"keywords":["redux","redux-apis"],"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"copyright":"Copyright 2016 by [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"homepage":"http://github.com/download/redux-apis","devDependencies":{"babel-core":"^6.3.26","babel-loader":"^6.2.1","babel-plugin-transform-class-properties":"^6.4.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-polyfill":"^6.3.14","babel-preset-es2015":"^6.3.13","babel-preset-react":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-register":"^6.3.13","chai":"^3.4.1","mocha":"^2.3.4","mocha-loader":"^0.7.1","path":"^0.12.7","picolog":"^1.0.0","react":"^0.14.6","react-dom":"^0.14.6","react-redux":"^4.0.6","redux":"^3.0.5","redux-thunk":"^1.0.3","source-map-support":"^0.4.0","webpack":"^1.12.11","webpack-dev-server":"^1.14.1"},"dependencies":{},"gitHead":"f9dc49da3373ac2d87c5622ecf55fd000713c3a0","_id":"redux-apis@2.0.0-alpha.2","_shasum":"1c4dc02a003b9bd6fe812f1c7b908b487113bd4c","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"},"dist":{"shasum":"1c4dc02a003b9bd6fe812f1c7b908b487113bd4c","tarball":"https://registry.npmjs.org/redux-apis/-/redux-apis-2.0.0-alpha.2.tgz","integrity":"sha512-cOerwi8Tm6VgsBzLdnvpEjMHGj/vOpyQJYz2M8XhA8wmEzAS4SPsbE1j8IlGjFZoR/tN4PH0NreRa8Vr6Am+Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGt7MypLLEu6msFPd+UXPWl13VwHwmCxarPO2Lq6DSe9AiAqtgFKUAW2dr+RP1j5u0O7ybRXAZdMEY9wl6Z87GCPHQ=="}]},"maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-apis-2.0.0-alpha.2.tgz_1458223840573_0.8389666934963316"}}},"readme":"﻿![version](https://img.shields.io/npm/v/redux-apis.svg) ![license](https://img.shields.io/npm/l/redux-apis.svg) ![installs](https://img.shields.io/npm/dt/redux-apis.svg) ![build](https://img.shields.io/travis/Download/redux-apis.svg) ![mind BLOWN](https://img.shields.io/badge/mind-BLOWN-ff69b4.svg)\r\n\r\n# redux-apis <sub><sup>v2.0.0.alpha.2</sup></sub>\r\n\r\n**Helpers for creating Redux-aware APIs**\r\n\r\n\r\n## Installation\r\n\r\n```sh\r\nnpm install --save redux-apis\r\n```\r\n\r\n## Usage\r\n\r\n* [Use Apis shared by the community](#use-apis-shared-by-the-community)\r\n* [Create your own APIs](#create-your-own-apis)\r\n* [Compose existing APIs into new ones](#compose-existing-apis-into-new-ones)\r\n* [Link the top-level Api to a Redux store](#link-the-top-level-api-to-a-redux-store)\r\n* [Use redux-apis with React components](#use-redux-apis-with-react-components)\r\n* [Scoped isomorphic fetch with redux-fetch-api](#scoped-isomorphic-fetch-with-redux-fetch-api)\r\n* [Async actions with redux-async-api](#async-actions-with-redux-async-api)\r\n* [Server-side rendering with redux-load-api](#server-side-rendering-with-redux-load-api)\r\n* [Use redux-apis with Hot Module Replacement](#use-redux-apis-with-hot-module-replacement)\r\n\r\n\r\n### Use Apis shared by the community\r\n\r\nI'm hoping for `redux-apis` to become a community-driven project to further the use\r\nof Redux and React. Read [Share your Api](#share-your-api) at the bottom of this page\r\nto learn how to contribute and get your Api listed here.\r\n\r\n* [redux-async-api](https://www.npmjs.com/package/redux-async-api)\r\n* [redux-fetch-api](https://www.npmjs.com/package/redux-fetch-api)\r\n* [redux-load-api](https://www.npmjs.com/package/redux-load-api)\r\n\r\n\r\n### Create your own APIs\r\n\r\n`redux-apis` let's us create APIs that will feel very natural to consuming code and that completely\r\nhide that redux is being used under the hood.\r\n\r\n#### Extend from Api\r\nTo create an API, we extend from the class `Api` or one of it's descendants.\r\n\r\n```js\r\nimport Api from 'redux-apis';\r\n\r\nexport default class DrawerApi extends Api {\r\n\t// ...\r\n}\r\n```\r\n\r\n#### Create properties\r\nAn Api automatically gets it's own private slice of the Redux state tree, accessible via\r\n`this.getState()`. But that state can often be very 'raw'. It should be in it's most\r\n'normalized' form (e.g. no derived state), which can make it hard to work with.\r\nBy implementing properties that inspect, but do not manipulate, the state tree,\r\nwe can make custom properties that are interesting to the outside world. We can make\r\nthese properties read-only by only providing a getter for them, and we can make the\r\n'public' by specifying that they should be `enumerable`:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state) {\r\n\tsuper(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n  }\r\n}\r\n```\r\n\r\nThe code above assumes that our state has a boolean flag `open`... But we need to provide\r\nthat initial state.\r\n\r\n#### Provide initial state\r\nWe provide initial state by setting a default value for the `state` parameter of the constructor:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state = { open: false }) {\r\n    super(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n  }\r\n}\r\n```\r\n\r\nIf we intend our Api class to be derived from, we can publish the initial state\r\nso the extending Api can make use of it:\r\n\r\n```js\r\nexport default class Base extends Api {\r\n  static INITIAL_STATE = { base: 'basic' };\r\n  constructor(state = Base.INITIAL_STATE) {\r\n    super(state);\r\n  }\r\n}\r\n\r\nexport default class Derived extends Api {\r\n  static INITIAL_STATE = { ...Base.INITIAL_STATE, derived:'extended' };\r\n  constructor(state = Derived.INITIAL_STATE) {\r\n    super(state);\r\n  }\r\n}\r\n\r\nnew Derived().init().getState(); // { base: 'basic', derived:'extended' }\r\n```\r\n\r\n#### Create manipulators\r\nTo manipulate the state tree, we provide methods that create and dispatch an action:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state = { open: false }) {\r\n    super(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n  }\r\n\r\n  openDrawer() {\r\n    this.dispatch(this.createAction('OPEN')());\r\n  }\r\n}\r\n```\r\n\r\nNote the second pair of braces in the call to `createAction`. This pattern is copied from\r\n[redux-actions](https://github.com/acdlite/redux-actions)... Heck, the code itself is\r\ncopied from `redux-actions`! ;) The resulting actions follow the\r\n[Flux Standard Action](https://github.com/acdlite/flux-standard-action) format.\r\n\r\n#### Register action handlers\r\nWe then register *handlers* for these actions in the constructor:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state = { open: false }) {\r\n    super(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n\r\n    this.setHandler('OPEN', function handleOpen(state, action) {\r\n      return { ...state, open: true };\r\n    });\r\n  }\r\n\r\n  openDrawer() {\r\n    this.dispatch(this.createAction('OPEN')());\r\n  }\r\n}\r\n```\r\n\r\nNote that `handleOpen` returns a *new* object. We *never* mutate the existing state, but always\r\neither return it unchanged, or return a new object. We initialize the new object with the current\r\nstate using the ES6 spread operator `...` to copy all state properties to the new object. Then we\r\noverwrite the `open` property with the new value. Copying the current state is not strictly needed\r\nin this example as there are no other properties, but writing your code like this ensures it will\r\nkeep working when you decide to add more state properties later, or when the class is derived from.\r\n\r\n#### Finishing up our first Api\r\nLet's add a close command to finish our first Api. We'll also use arrow functions to make the\r\ncode a bit more elegant:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state = { open: false }) {\r\n    super(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n    this.addHandler('OPEN', (state, action) => ({ ...state, open: true }));\r\n    this.addHandler('CLOSE', (state, action) => ({ ...state, open: false }));\r\n  }\r\n\r\n  openDrawer() {\r\n    this.dispatch(this.createAction('OPEN')());\r\n  }\r\n\r\n  closeDrawer() {\r\n    this.dispatch(this.createAction('CLOSE')());\r\n  }\r\n}\r\n```\r\n\r\nThe cool thing is that we now already have a working API. No redux store is needed\r\nto make it work, because Api objects will maintain their own state when not connected\r\nto a Redux store. This is helpful when testing:\r\n\r\n```js\r\nvar api = new DrawerApi().init();\r\n```\r\n\r\nNote how we call `init()` on the new instance. This initializes the state tree by sending it an\r\nINIT action. If you use Api objects independently from Redux, you are responsible\r\nfor initializing them yourself, by calling `init` on the top-level Api. If you bind your Api to\r\na Redux store, this is done automatically by the Redux store.\r\n\r\nNow that we have an initialized Api, we can use it:\r\n\r\n```js\r\nconsole.assert(api.open === false, 'Initially, the drawer should be closed');\r\napi.openDrawer();\r\nconsole.assert(api.open === true, 'After calling openDrawer(), the drawer should be open');\r\napi.closeDrawer();\r\nconsole.assert(api.open === false, 'After calling closeDrawer(), the drawer should be closed');\r\n```\r\n\r\nBecause the `Api` constructor accepts a state argument, we can also initialize it manually:\r\n\r\n```js\r\nconst leftDrawer = new DrawerApi({open: true}).init();\r\nconsole.assert(leftDrawer.open === true, 'The left drawer should be open');\r\n```\r\n\r\n\r\n### Compose existing APIs into new ones\r\n\r\nBecause each Api has it's own state slice, we can easily use the same Api multiple times.\r\nWe use the function `link(parent, child, link = apiLink)` for this purpose.\r\n\r\n```js\r\nimport Api, { link } from 'redux-apis';\r\nimport DrawerApi from './DrawerApi';\r\n\r\nclass AppApi extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.leftDrawer = link(this, new DrawerApi());\r\n    this.rightDrawer = link(this, new DrawerApi());\r\n  }\r\n}\r\n\r\nconst app = new AppApi().init();\r\n```\r\n\r\nThat's it! `app` now automatically has a state tree that looks like this:\r\n\r\n```js\r\n{\r\n  leftDrawer: {\r\n    open: false,\r\n  },\r\n  rightDrawer: {\r\n    open: false,\r\n  },\r\n}\r\n```\r\n\r\nWe can use `app` like this:\r\n\r\n```js\r\napp.leftDrawer.openDrawer();\r\nconsole.assert(app.leftDrawer.open === true, 'The left drawer should be opened');\r\n```\r\n\r\n#### Action types are namespaced\r\nThe example above works, because `Api.createAction`, `Api.dispatch` and `Api.reducer` all follow\r\nthe same naming conventions and are aware of the (state) hierarchy via the link created with the\r\n`link` function. When you call `createAction` with an `actionType` argument, it checks for a link\r\nto a parent Api and, if it's set, prepends the parent Api's name and a slash to the `actionType`\r\nbefore passing it on to it's parent. So in the example above, when we called\r\n```js\r\nappApi.leftDrawer.openDrawer()\r\n```\r\nit actually resulted in an action being created with `actionType` equal to\r\n```js\r\n'leftDrawer/OPEN'\r\n```\r\n`dispatch` then passes that action along to it's parent, all the way to the top-level. From there,\r\n`reducer` is invoked and is doing the opposite; it's breaking the `actionType` apart into separate\r\nparts and routing the action to it's destination. Along the way, 'reducer' will be invoked on all\r\nnodes of the state tree. If it finds a registered handler for the action, it invokes that and returns\r\nit's result. Otherwise, it returns the current state, or the (default) initial state. The side effect\r\nof this is that we can initialize the entire state tree by just sending it an action that it does not handle.\r\nThis is exactly what `init()` does; it dispatches an action with type `'@@redux/INIT'`. Redux itself\r\ndoes it exactly the same way.\r\n\r\n#### Api as a mini-store\r\nIn fact, `Api` mimics the api of a redux store, so that conceptually we are building a hierarchy of\r\nredux-like `mini-stores` that maps onto the state tree, each store in the hierarchy managing it's own\r\nprivate slice.\r\n\r\n#### The `link` parameter\r\n`link` has a third parameter, also called `link`, that allows us to customize how the state slice\r\nof the child is extracted from the parent state. By default, it's using `apiLink`, which dynamically\r\nfinds the name of the child api within it's parent and uses that name to select the right property\r\nfrom the state slice. This creates a 1 to 1 mapping:\r\n\r\n```js\r\nclass AppApi extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.leftDrawer = link(this, new DrawerApi());\r\n    this.rightDrawer = link(this, new DrawerApi());\r\n  }\r\n}\r\n```\r\n\r\nmaps to\r\n\r\n```js\r\n{\r\n  leftDrawer: {\r\n    open: false,\r\n  },\r\n  rightDrawer: {\r\n    open: false,\r\n  },\r\n}\r\n```\r\n\r\nHowever, we can customize this by creating a function that accepts two arguments, `parentState`\r\nand `childState` and that performs the mapping. This function should be read/write; meaning it should\r\nbe able to 'select' the child state from the `parentState`, as well as 'update' the parent state\r\nbased on the `childState`. Let's look at an example. Suppose we want to map the leftDrawer Api onto\r\nthe state key `drawer` instead of `leftDrawer`. We could do this:\r\n\r\n```js\r\nclass AppApi extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.leftDrawer = link(this, new DrawerApi(),\r\n      (parentState, childState) => childState === undefined\r\n          ? parentState && parentState.drawer\r\n          : parentState.drawer = childState\r\n    );\r\n    this.rightDrawer = link(this, new DrawerApi());\r\n  }\r\n}\r\n```\r\n\r\nmaps to\r\n\r\n```js\r\n{\r\n  drawer: {\r\n    open: false,\r\n  },\r\n  rightDrawer: {\r\n    open: false,\r\n  },\r\n}\r\n```\r\n\r\nInside the link function, you have access to the child element via the `this`\r\nkeyword, so we could also have done this:\r\n\r\n```js\r\nclass AppApi extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.leftDrawer = link(this, new DrawerApi(),\r\n      (parentState, childState) => childState === undefined\r\n        ? parentState && parentState[this.alias]\r\n        : parentState[this.alias] = childState\r\n    );\r\n    this.leftDrawer.alias = 'drawer';\r\n    this.rightDrawer = link(this, new DrawerApi());\r\n  }\r\n}\r\n```\r\n\r\nFinally, for this common scenario, there is a helper function `namedLink` that\r\nwill create the linker function for us . We could have used it like this:\r\n\r\n```js\r\nclass AppApi extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.leftDrawer = link(this, new DrawerApi(), namedLink('drawer'))\r\n    this.rightDrawer = link(this, new DrawerApi());\r\n  }\r\n}\r\n```\r\n\r\nEasy isn't it?\r\n\r\n\r\n### Link the top-level Api to a Redux store\r\n\r\nUntil now, Redux never came into play. And in fact you don't need it.\r\n`redux-apis` has no runtime dependency on redux and can actually be\r\nused without Redux itself! The handlers you registered are reducers\r\nand `Api.reducer` acts like a generic reducer routing the incoming\r\nactions to the registered handlers. This is very convenient for testing.\r\nBut using Redux has many advantages. There is a lot of `middleware`\r\navailable for it; small pieces of code that hook into the redux control\r\nflow. Things like [redux-thunk](https://github.com/gaearon/redux-thunk)\r\nto allow us to dispatch functions (for async handling for example) and\r\n[redux-logger](https://github.com/fcomb/redux-logger) that allows us to\r\nlog all dispatched actions. Also, redux gives us a subscription model\r\nfor listening to store events.\r\n\r\nHere is how you link an Api to a redux store:\r\n\r\n```js\r\nimport { link } from 'redux-apis';\r\nimport { createStore } from 'redux';\r\nimport AppApi from './AppApi';\r\n\r\n// First, create your top-level Api object, but don't initialize it\r\n// the redux store will take care of that\r\nconst app = new AppApi();\r\n```\r\n\r\nThe cool thing is that `app.reducer` is a Redux reducer! It is auto-bound\r\nto the `app` instance, so we can just pass it along to `createStore` to\r\nmake redux call it:\r\n\r\n```js\r\n// We can create a Redux store just like we always do. Just pass app.reducer!\r\nlet initialState = { some: 'state' }; // optional\r\nconst store = createStore(app.reducer, initialState);\r\n```\r\n\r\nAlmost there. In fact, our app has already been initialized with either the\r\nsupplied initial state, or the initial state encoded in our Api components.\r\nWe just need to link back the app object to the redux store, so dispatched\r\nactions will be routed to the redux store:\r\n\r\n```js\r\nlink(store, app);\r\n```\r\n\r\nThere you go!\r\n\r\nIn this example we are linking the app reducer as the sole root reducer.\r\nBut in fact it's a reducer just like any other so we are able to combine\r\nit together with other reducers using redux's `combineReducers`, or any\r\nof the other methods available.\r\n\r\n```js\r\nconst reducer = combineReducers({\r\n\tthirdparty: thirdpartyReducer,\r\n\tapp: app.reducer,\r\n});\r\n\r\nexport const store = createStore(reducer, data);\r\n```\r\n\r\nWhen the root Api is not mounted to the root of the redux store state tree,\r\nas in the example above where it is linked to the `'app'` key, we need to\r\ninform it on how to get it's own slice of the state tree. We can do this by\r\nproviding a third argument to `link`, which is a function that gets/sets the\r\nchild state from/into the parent state. We use `namedLink` here, which is a\r\nfunction that returns such a linker function based on a simple name:\r\n\r\n```js\r\n// link app to store, getting state from key 'app'\r\nlink(store, app, namedLink('app'));\r\n```\r\n\r\nWhen we don't supply a third argument to `link`, the default `apiLink` is used.\r\nIt just tries to find the child object among the parent's properties and then\r\nuses the name of that property as the key of the state slice. We can use this\r\nfact to simplify the above code to:\r\n\r\n```js\r\n// link(store, app, namedLink('app'));\r\n// equavalent to:\r\nstore.app = link(store, app);\r\n// key name 'app' is implied from the fact that the app\r\n// is on a property named 'app' on the parent object.\r\n```\r\n\r\nWe are currently using the vanilla `createStore` from redux, but we could\r\nboost that with middleware in exactly the same way we always do with redux.\r\n`redux-api` is just another component, latching onto the redux store with a\r\nplain old reducer function. Simple!\r\n\r\n\r\n### Use redux-apis with React components\r\n\r\nThe standard way of linking React components to a redux store is with\r\nthe `connect` decorator from [react-redux](https://github.com/rackt/react-redux)\r\nand that does not change if you use redux-apis. But Api's do offer\r\na convenience method `connector`, which, like `reducer`, is auto-bound\r\nto it's Api instance, making connecting a Redux Api instance to a\r\nReact component as simple as:\r\n\r\n```js\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport app from './app'; // exports some Api instance\r\n\r\n@connect(app.connector)\r\nclass App extends React.Component {\r\n  render() {\r\n    // when we get here, `connect` will have called `app.connector`, which will\r\n    // have made all enumerable properties of `app` available in `this.props`\r\n    const { some, api, properties } = this.props;\r\n  }\r\n}\r\n```js\r\n\r\n`app.connector` returns an object with the enumerable properties from `app` in\r\nit, making them available for use in the React component. But by default, Api\r\ninstances have no enumerable properties. So in order to have the properties\r\n`some`, `api` and `properties` from the example above be added to props, we should\r\nmake them available on our Api. As an example, let us implement `./app.js` from\r\nthe example above:\r\n\r\n```js\r\nimport Api from 'redux-apis';\r\nexport class AppApi extends Api {\r\n  constructor(state = {some:'initial', api:'state', properties:'values'}) {\r\n    super(state);\r\n\tdefineProperty(this, 'some', {enumerable:true, get:()=>this.getState().some});\r\n\tdefineProperty(this, 'api', {enumerable:true, get:()=>this.getState().api});\r\n\tdefineProperty(this, 'properties', {enumerable:true, get:()=>this.getState().properties});\r\n  }\r\n}\r\n```\r\n\r\nThis is a very simple example, but the use of enumerable properties will both\r\ngive us fine grained control on the one hand, as well as very convenient and\r\nnatural use on the other hand. For example, manually passing all enumerable\r\nproperties of an instance of `DrawerApi`, to a React component named `Drawer`\r\nis as simple as:\r\n\r\n```js\r\nimport React, { Component } from 'react';\r\nimport Drawer from './components/Drawer';\r\nimport DrawerApi from './components/Drawer/api';\r\n\r\nconst drawer = new DrawerApi().init();\r\n\r\nclass App extends Component {\r\n  render() {\r\n    return <Drawer {...drawer}>;\r\n\t// equavalent to\r\n\t// return <Drawer open={drawer.open} />\r\n  }\r\n}\r\n```\r\n\r\nI've found that many React components accept event handlers for things like\r\nsome button being pressed. Assume our React `Drawer` component accepts a\r\nlistener for when the darkened background is clicked in order to close the\r\ndrawer, and that it has a property `onCancel` that can be used to set that\r\nlistener. Knowing this, we can change our DrawerApi to reflect this:\r\n\r\n```js\r\nexport default class DrawerApi extends Api {\r\n  constructor(state = { open: false }) {\r\n    super(state);\r\n\tObject.defineProperty(this, 'open', {enumerable:true, get: () => this.getState().open});\r\n\r\n\t// Add a property `onCancel`, which is a version of `closeDrawer`, auto-bound to `this`\r\n\tObject.defineProperty(this, 'onCancel', {enumerable:true, value: this.closeDrawer.bind(this)});\r\n\r\n    this.addHandler('OPEN', (state, action) => ({ ...state, open: true }));\r\n    this.addHandler('CLOSE', (state, action) => ({ ...state, open: false }));\r\n  }\r\n\r\n  openDrawer() {\r\n    this.dispatch(this.createAction('OPEN')());\r\n  }\r\n\r\n  closeDrawer() {\r\n    this.dispatch(this.createAction('CLOSE')());\r\n  }\r\n}\r\n```\r\n\r\nNow, this line of code in the React `App` component will pass both the `open` and `onCancel`\r\nproperties to the React `Drawer` component:\r\n\r\n```js\r\n<Drawer {...drawer}>;\r\n```\r\n\r\nI think you can that in this manner we can easily create Api objects that are loosely coupled\r\nto their counterpart React components, but still integrate with them very nicely.\r\n\r\n**NOTE**: In versions of redux-apis prior to v1.1.0, `connector` used to return an object\r\ncontaining the api state plus a property `api`, referencing the Api object itself. From 1.1.0\r\ngoing forward, the enumerable properties of the Api object are being *added* to this. This\r\nwill continue to be like this in the 1.x branch, but when version 2.x arrives, the old behavior\r\nwill be removed and only the enumerable properties will remain. So consider the old behavior to\r\nbe deprecated.\r\n\r\n\r\n### Scoped isomorphic fetch with redux-fetch-api\r\n\r\nOften, we want to fetch data from a remote server. Our api should be mapped to some remote\r\nendpoint. We also see that remote endpoints tend to be hierarchically structured:\r\n```\r\nhttp://example.com/api\r\nhttp://example.com/api/products\r\nhttp://example.com/api/products/details\r\nhttp://example.com/api/products/create\r\nhttp://example.com/api/products/update\r\nhttp://example.com/api/people\r\nhttp://example.com/api/people/search\r\netc\r\n```\r\n\r\n`redux-fetch-api` is a small library designed to work well with redux-apis,\r\nthat allows you to decorate your apis with a scoped, isomorphic `fetch` method.\r\n\r\nUsing the tools from `redux-fetch-api`, we can map our api hierarchy onto a\r\nremote endpoint very easily:\r\n\r\n```js\r\n@remote\r\nclass Module extends Api {\r\n  doIt() {\r\n    return this.fetch('/something');\r\n  }\r\n}\r\n\r\n@remote('http://example.com')\r\nclass App extends Api {\r\n  constructor(state) {\r\n    super(state);\r\n    this.moduleA = remote('/modA')(\r\n\t\tlink(this, new Module())\r\n\t);\r\n    this.moduleB = remote('/modB')(\r\n\t\tlink(this, new Module())\r\n\t);\r\n  }\r\n}\r\n\r\nconst app = new App().init();\r\napp.moduleA.doIt(); // fetches 'http://example.com/modA/something'\r\napp.moduleB.doIt(); // fetches 'http://example.com/modB/something'\r\n```\r\n\r\nCheck out [redux-fetch-api](https://www.npmjs.com/package/redux-fetch-api) for more details.\r\n\r\n\r\n### Async actions with redux-async-api\r\n\r\nredux-async-api is a good fit for when you need to perform async actions, such as remote server\r\ncalls (also keep an eye on [redux-fetch-api](https://github.com/download/redux-fetch-api)\r\nfor isomorphic fetch). In the spirit with the rest of this library and redux, we build on\r\ntop of the basic building blocks for async with redux: [thunk](https://github.com/gaearon/redux-thunk)\r\nand [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\r\n\r\nUsing `onload` and `load` from `redux-load-api` (see next chapter) we can attach loader functions\r\nto (React) components and wait for the promises they return to fulfill. All we need then, is\r\nsome mechanism to keep track of the state of the async operation in the redux store.\r\n\r\nEnter `Async`:\r\n\r\n```js\r\nclass MyAsync extends Async {\r\n  static INITIAL_STATE = { ...Async.INITIAL_STATE, result:'pending...' };\r\n\r\n  constructor(state = MyAsync.INITIAL_STATE) {\r\n    super(state);\r\n    this.setHandler('SET_RESULT', (state, action) => ({...state, result:action.payload}));\r\n\tObject.defineProperty(this, 'result', {enumerable:true, get:()=>this.getState().result});\r\n  }\r\n\r\n  setResult(result) {\r\n    return this.dispatch(this.createAction('SET_RESULT')(result));\r\n  }\r\n\r\n  run() {\r\n    this.setBusy();\r\n    this.setResult('busy...');\r\n    return new Promise((resolve) => {\r\n\t  // do async work, here simulated with `setTimeout`\r\n      setTimeout(() => {\r\n        this.setDone();\r\n        this.setResult('Done!');\r\n        return resolve();\r\n      }, 0);\r\n    });\r\n  }\r\n}\r\n```\r\n\r\nAs you can see we only need to implement our business-specific logic and can\r\njust call `Async`'s setters to update the async state flag.\r\n\r\nFor more information refer to [redux-async-api](https://github.com/download/redux-async-api).\r\n\r\n\r\n### Server-side rendering with redux-load-api\r\n\r\nThe community package [redux-load-api](https://npmjs.com/package/redux-load-api) offers two\r\nfunctions designed to simplify server-side rendering of React components: `@onload` and `load`.\r\n\r\nThese allow us to do this:\r\n\r\n```js\r\nclass AppApi extends Api {someFunc(someParam){}}\r\nconst app = new AppApi({someState:'some state'});\r\n\r\n// decorate the `App` component with an onload\r\n// function that calls `app.someFunc`\r\n@onload(params => app.someFunc(params.someParam))\r\n@connect(app.connector)\r\nclass App extends React.Component {\r\n  render() {\r\n    // ...\r\n  }\r\n}\r\n```\r\n\r\nLater, we can fire all load actions *and wait for them to complete* before\r\nwe render the page, assuring we sent a fully hydrated page to the client.\r\nAssuming we are using react-router, it might look something like this:\r\n\r\n```js\r\nmatch({ routes, location:req.url }, (err, redirect, renderProps) => {\r\n  if (renderProps) {\r\n    // load finds all components decorated with `@onload`, calls the\r\n    // load functions and collects any promises returned by them. it\r\n    // then returns a promise that will fullfill once loading completes\r\n    load(renderProps.routes.map(x => x.component), renderProps.params).then(() => {\r\n      // at this point, the loader functions have been called on\r\n      // those components matched by `match` that were decorated\r\n      // with `onload` and any returned promises have been fulfilled.\r\n    });\r\n  }\r\n  else {\r\n    // redirect, error etc... refer to react-router docs\r\n  }\r\n});\r\n```\r\n\r\nNaturally, `@onload` and `load` mesh well with `redux-async-api` (previous chapter).\r\n\r\nRefer to the documentation of [redux-load-api](https://github.com/Download/redux-load-api)\r\nfor more details.\r\n\r\n\r\n### Use redux-apis with Hot Module Replacement\r\n\r\nThe Redux store holds all the state of the application, so we don't want to\r\ndestroy it, as this is essentially the same as completely reloading our\r\n(single page) application. But we want to be able to replace the Api bound\r\nto the store, because that will contain our work-in-progress application code.\r\nFortunately for us, Redux stores have a `replaceReducer` method that will let\r\nus replace the root reducer with a different one, without having to recreate\r\nthe store. This means we can make a `const` store object and publish it to the\r\nworld, as it won't change during the lifetime of the application.\r\n\r\nUsing this information, here is how we can do Hot Module Replacement with `redux-apis`:\r\n\r\n```js\r\nimport { createStore } from 'redux';\r\nimport { link } from 'redux-apis';\r\n\r\n// use require i.s.o import\r\n// don't use const as these components will be replaced\r\nlet AppApi = require('./AppApi').default;\r\nlet app = new AppApi();\r\n\r\n// store object can be const. We can share it with the world, export it etc\r\nconst store = createStore(app.reducer);\r\nlink(store, app);\r\nexport default store;\r\n\r\nif (module.hot) {\r\n  module.hot.accept('./AppApi', () => {\r\n    // re-create and re-link app object\r\n    AppApi = require('./AppApi').default;\r\n    app = new AppApi();\r\n    store.replaceReducer(app.reducer);\r\n    link(store, app);\r\n  });\r\n}\r\n```\r\n\r\nEasy isn't it? Our store's state survives! The app will continue exactly\r\nwhere it left off, but with our new code loaded into it.\r\n\r\n\r\n### Examples\r\n\r\nCheck out the `examples` folder for some examples including tests. Invoke\r\n\r\n```sh\r\nnpm run examples\r\n```\r\n\r\nto run them.\r\n\r\n\r\n### Start hacking\r\n\r\nI invite you to hack on the examples a bit. It's probably the easiest way to get\r\nstarted. Clone / fork this repo, then `cd` into the project root and invoke\r\n\r\n```sh\r\nnpm install\r\n```\r\n\r\nThen, start a webpack development server by invoking\r\n\r\n```sh\r\nnpm run examples-dev\r\n\r\n> redux-apis@1.1.0 examples-dev c:\\ws\\redux-apis\r\n> webpack-dev-server --context examples --output-filename redux-apis.examples.js \"mocha!./index.jsx\" --content-base examples --port 8889\r\n\r\nhttp://localhost:8889/webpack-dev-server/\r\nwebpack result is served from /\r\ncontent is served from c:\\ws\\redux-apis\\examples\r\nHash: 3dfff65b899455e3b0c9\r\nVersion: webpack 1.12.12\r\nTime: 2531ms\r\n                     Asset    Size  Chunks             Chunk Names\r\n    redux-apis.examples.js  579 kB       0  [emitted]  main\r\nredux-apis.examples.js.map  700 kB       0  [emitted]  main\r\nwebpack: bundle is now VALID.\r\n```\r\n<sub>(Don't worry about those file sizes, that is due to the debug\r\n/ hot reloading code. `redux-apis.min.js` weighs in at just ~2kB\r\nminified and gzipped)</sub>\r\n\r\nPoint your browser to http://localhost:8889/webpack-dev-server/ and you\r\nshould see the mocha test suite, with all tests passing.\r\n\r\nNow open the source files in the `examples` folder in your favourite\r\ntext editor. Make some changes and save. You should see the page hot-reload.\r\nStart hacking away!\r\n\r\n\r\n### Share your api\r\n\r\nBuilt something great? Share it with the community and get it [listed](#use-apis-shared-by-the-community) on this repo.\r\n\r\n* Name your package `redux-PACKAGENAME-api`\r\n* Add the keyword `redux-apis` to the `keywords` section in `package.json`\r\n* Publish your package to NPM\r\n* Create a new issue here saying 'add package XYZ' or something like that\r\n* Fork this repo and clone it to your machine\r\n* Create and switch to a new branch\r\n* Update this README, adding your package to the list\r\n* Commit your changes, mentioning the full URL to the issue you created before in the commit comment\r\n* Push to GitHub\r\n* Create a Pull Request, mentioning the issue in the PR comment\r\n* I will review your PR and merge it in\r\n\r\n\r\n## Documentation\r\n\r\nPlease have a look at the [API documentation](docs/api.md).\r\nWork in progress. Pull requests welcome!\r\n\r\n\r\n## Feedback, suggestions, questions, bugs\r\n\r\nPlease visit the [issue tracker](https://github.com/download/redux-apis/issues)\r\nfor any of the above. Don't be afraid about being off-topic.\r\nConstructive feedback most appreciated!\r\n\r\n\r\n## Credits\r\n\r\nMy thanks goes out to these people. They are the giants on whose shoulders this library stands.\r\n* [Dan Abramov](https://github.com/gaearon) for inventing the fantastic\r\n   [redux](https://github.com/rackt/redux) state container and his great work on hot-reloading.\r\n* [Andrew Clarke](https://github.com/acdlite) for [redux-actions](https://github.com/acdlite/redux-actions)\r\n   and [flux-standard-action](https://github.com/acdlite/flux-standard-action), defining a convention\r\n   for action objects that this library follows.\r\n* [Athan Clark](https://github.com/athanclark) for asking very good questions and contributing valueable\r\n   feedback, over Discord as well as the issue tracker. Thanks Athan!\r\n* [Tim Dorr](https://github.com/timdorr), [Ryan Florence](https://github.com/ryanflorence),\r\n   [Michael Jackson](https://github.com/mjackson) and [Jimmy Jia](https://github.com/taion) for\r\n   their awesome work on [react-router](https://github.com/rackt/react-router).\r\n* [Tobias Koppers](https://github.com/sokra) for the wonderful and versatile\r\n   [webpack](https://github.com/webpack/webpack), and for his patience answering n00b webpack questions.\r\n* [David Lents](https://github.com/dlents) for his constructive criticism that lead me to rethink the\r\n   API and resulted in a much cleaner, better thought out approach.\r\n* [Erik Rasmussen](https://github.com/erikras) for\r\n   [react-redux-universal-hot-example](https://github.com/erikras/react-redux-universal-hot-example),\r\n   which provided great insight into setting up a universal app with react and redux.\r\n* [Paul O’Shannessy](https://github.com/zpao) and countless other individuals giving us\r\n   [react](https://github.com/facebook/react).\r\n* [Mateusz Zatorski](https://github.com/knowbody) for helping me on Discord.\r\n* [Yaroslav Sergievsky](https://github.com/everdimension), for giving me feedback and contributing the\r\n   TwoStores example.\r\n\r\n\r\n## Copyright\r\n\r\n© 2016, [Stijn de Witt](http://StijnDeWitt.com). Some rights reserved.\r\n\r\n\r\n## License\r\n\r\n[Creative Commons Attribution 4.0 (CC-BY-4.0)](https://creativecommons.org/licenses/by/4.0/)\r\n","maintainers":[{"name":"stijndewitt","email":"StijnDeWitt@hotmail.com"}],"time":{"modified":"2022-06-26T09:58:44.031Z","created":"2015-12-28T15:02:23.862Z","0.1.0":"2015-12-28T15:02:23.862Z","0.1.1":"2015-12-28T15:30:54.617Z","0.2.0":"2015-12-28T15:58:54.352Z","0.3.0":"2015-12-28T21:16:31.161Z","0.3.1":"2015-12-29T00:25:33.928Z","0.4.0":"2016-01-11T17:47:07.731Z","0.5.0":"2016-01-11T20:13:33.902Z","0.6.0":"2016-01-11T20:35:36.526Z","0.7.0":"2016-01-13T00:37:34.398Z","0.8.0":"2016-01-14T22:23:58.283Z","0.9.0":"2016-01-18T09:17:35.009Z","0.9.1":"2016-01-18T14:34:47.230Z","0.9.2":"2016-01-18T20:29:08.514Z","0.10.0":"2016-01-21T20:26:55.367Z","0.10.1":"2016-01-21T21:26:27.089Z","0.10.2":"2016-01-22T01:31:28.048Z","0.10.3":"2016-01-22T02:10:57.259Z","0.11.0":"2016-01-25T16:51:30.087Z","0.11.1":"2016-01-25T22:48:05.575Z","0.11.2":"2016-01-26T02:56:48.290Z","0.12.0":"2016-01-26T14:21:34.984Z","0.12.1":"2016-01-28T16:58:21.270Z","0.12.2":"2016-01-28T20:52:27.444Z","1.0.0":"2016-02-25T00:29:22.158Z","1.1.0":"2016-03-01T13:44:15.111Z","1.1.1":"2016-03-03T10:10:38.921Z","2.0.0-alpha.1":"2016-03-13T01:53:52.141Z","2.0.0-alpha.2":"2016-03-17T14:10:43.253Z"},"homepage":"http://github.com/download/redux-apis","keywords":["redux","redux-apis"],"repository":{"type":"git","url":"git+https://github.com/download/redux-apis.git"},"author":{"name":"Stijn de Witt","email":"StijnDeWitt@hotmail.com","url":"http://StijnDeWitt.com"},"bugs":{"url":"https://github.com/download/redux-apis/issues"},"license":"CC-BY-4.0","readmeFilename":"README.md"}