{"_id":"reactive-state","_rev":"109-b54bae4ba513bdc8ce83e3ef3589b648","name":"reactive-state","description":"Redux-like state management using RxJS and TypeScript","dist-tags":{"latest":"3.7.2","next":"4.0.0-alpha.0","beta":"3.3.0-beta.0"},"versions":{"0.0.1":{"name":"reactive-state","version":"0.0.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","scripts":{"build":"tsc","build-tests":"tsc -p test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build && npm run build-tests && npm run run-tests"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","mocha":"^3.4.1","rxjs":"^5.4.0","typescript":"^2.3.2"},"gitHead":"af1b96dd2f2b0e315c7740b901ae0db53ca1aa13","_id":"reactive-state@0.0.1","_shasum":"3129b08c93a491447b181fb8b9856d45bcde1a8b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"3129b08c93a491447b181fb8b9856d45bcde1a8b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.1.tgz","integrity":"sha512-2HFDjNQoJlCuDvtB2IxTJNGBRGEvOHIi1+tHLPvDbWDjlreUd8RioNBVcfv8NCzDdegIn5TxUvrKWZzU9VDQxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfnL8qCeLlmfUE175uupVcTBe9PhpuCIACkJWzd5wWGAiBJq1A6lD8WZsUy1KRLMWz2aJ4t4t/dS5P1WCXECmEWnQ=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.1.tgz_1495382947374_0.20965578104369342"},"directories":{}},"0.0.2":{"name":"reactive-state","version":"0.0.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"scripts":{"build":"tsc","build-tests":"tsc -p test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build && npm run build-tests && npm run run-tests"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","mocha":"^3.4.1","rxjs":"^5.4.0","typescript":"^2.3.2"},"gitHead":"9916f20e7e48dd14304ab058a97f36d92000c841","_id":"reactive-state@0.0.2","_shasum":"fc89a628d9cbf532c907cd0b2769ff3d1d568bab","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"fc89a628d9cbf532c907cd0b2769ff3d1d568bab","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.2.tgz","integrity":"sha512-FdzMWf2ZWAWiUWYvvfp4her+wq2yDg17YmYqXsgd9RC4Y6ovGRcTtzi5d3iL/Mg7oR+SZ0HJjIpWOZJyGzhNiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWxlP/aXn2sX92abSARomI6AtDQJJ79ZulMyy5S2eMtgIgPfFEKYVsTTM5vmfwdMFsP5YI9MPhDS60aN33Qai2wvM="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.2.tgz_1495383467603_0.7612394220195711"},"directories":{}},"0.0.3":{"name":"reactive-state","version":"0.0.3","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build && npm run build-tests && npm run run-tests"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","mocha":"^3.4.1","rxjs":"^5.4.0","typescript":"^2.3.2"},"gitHead":"cf5d8c8cd81a86095bfa717a6b53502e12019bda","_id":"reactive-state@0.0.3","_shasum":"eceaa60b343a659d14c50f21da465b0f3df5bc2c","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"eceaa60b343a659d14c50f21da465b0f3df5bc2c","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.3.tgz","integrity":"sha512-ycWIhfJRKNNwOBLB9aBPTC6uAw0NoR7oP+twcU3TEewdVGz7KrjCirfEFvv36CD8rM7xGXyPSsNpjuJBG84Hdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPwdy+rAACTvYMfJCRHkMPoP9SFThcv0J2+JDlZKlMfAiEAkeF7cqaXCfdvB0GuOEeiSu0rgHsCCBOeENKBu7/blLs="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.3.tgz_1495383654934_0.3202486843802035"},"directories":{}},"0.0.4":{"name":"reactive-state","version":"0.0.4","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build && npm run build-tests && npm run run-tests"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","mocha":"^3.4.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"c61bb675839aac260d24f086e57b6a420d9bc315","_id":"reactive-state@0.0.4","_shasum":"351bd47850c387371887fbc26e7c27763be25e2d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"351bd47850c387371887fbc26e7c27763be25e2d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.4.tgz","integrity":"sha512-FcMGGTLDIxmifXYOlPJtWIgfH1J6cSvtTF1hWQ6l/+32cJTsodcIh5E08i23w7hJ1NrKKQNcIqte15smK2zM0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4Qv5VcR9BhS+zeTQj3Rb+7tO+eNYOj6dK3Cc1GKcwTQIhAKmF8xcFgMyQx5KB8ByVpGMDkRLexEuFkDT2CIOS+hHW"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.4.tgz_1495710032332_0.26337654842063785"},"directories":{}},"0.0.5":{"name":"reactive-state","version":"0.0.5","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build && npm run build-tests && npm run run-tests"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","mocha":"^3.4.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"77f3beaab39e29db4f835779c8dbea8ddea0108c","_id":"reactive-state@0.0.5","_shasum":"531a9e0e44f2c8ca80588363af79ad67ab983cf8","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"531a9e0e44f2c8ca80588363af79ad67ab983cf8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.5.tgz","integrity":"sha512-NwXJO7aI3eubZIi1xmaXkW+lEMSqfnl42HTNpscJymNLhcQMB8zbCIiHuKvIe6EW42Oj+ytMG3UTNYNWtfUumA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+G81Q51cFwm6W+uXWHFclSm8OILpdvilUEkYxS3rKmAiEAvL1hC/12uSB4OpgLk19bwb7u9e6gtmHVXTjEKFMmTTE="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.5.tgz_1495745501725_0.7315062680281699"},"directories":{}},"0.0.6":{"name":"reactive-state","version":"0.0.6","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"6b4c805fc66fb58621bc40cf79b657f955ad6365","_id":"reactive-state@0.0.6","_shasum":"177441e99d00aad945826f6f9e060661f17c575f","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"177441e99d00aad945826f6f9e060661f17c575f","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.6.tgz","integrity":"sha512-GFX3a/snn8MKzIWdXvWzawcecEz1PQZQevZI70nih34/iZdyKwdpg4ztQSUF0Y3wfktEcUDizlqW9dFpb0dx1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPfWBwBoBg7PbmFV17vF+ZNsrNyyxRVvEEMGDY3Tn/LAiEA6nL4l+YvpYTiCR9C7Mr7jWPqhGI8U62dYQClovnqc9o="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.6.tgz_1495968224444_0.5253396930638701"},"directories":{}},"0.0.7":{"name":"reactive-state","version":"0.0.7","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"9987e43b4b8421509e70f515d6a5bceb263700fc","_id":"reactive-state@0.0.7","_shasum":"d85ef4ac5eb1862cc27d3f38de0552bcf254242c","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"d85ef4ac5eb1862cc27d3f38de0552bcf254242c","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.7.tgz","integrity":"sha512-27Ex3raIFCYMxnnHxSm5quoF6KL6mdfJpFfwnRqQHqcsZhcKnNr1cRzKRc5qIt3b/nZYOaFG3FLthkqzQNgZPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0AQNQyctZg4x4LFybKIcYRQDyO++cbMzQXgDBwbbrcAiBvyTzF8pigeWjvOAerlTOXKdidRmXOPV30Sfr1APg7uA=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.7.tgz_1495971910267_0.6768641958478838"},"directories":{}},"0.0.8":{"name":"reactive-state","version":"0.0.8","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"d8a7080a555e07ddb9717d3653964060b1b9882d","_id":"reactive-state@0.0.8","_shasum":"81bfb9426d5b55e59daee607e8056358b16bdb45","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"81bfb9426d5b55e59daee607e8056358b16bdb45","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.8.tgz","integrity":"sha512-QKAkbtGFz5Rq91TkHaaLeXu3fh0/P5PqopDymYtPVS9ziGKjqZEvR+g1r4XnZj/6rGmTwEaMo5lkN/2RaKSV7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBisP22C78V9IErx197FVjVqpFg8OYE3In+cCGudm7gTAiEAs0z4K4iM9z1lk6HlNN3AcfAPGaFpLSa6G9Ymyv1otaI="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.8.tgz_1495972391476_0.10356828966178"},"directories":{}},"0.0.9":{"name":"reactive-state","version":"0.0.9","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"4b9ed4b194b56419f8c596f5cfe6ab7d7cb3e23e","_id":"reactive-state@0.0.9","_shasum":"757fa3e0aa03fed37fd1e1bc5e559882db007f07","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"757fa3e0aa03fed37fd1e1bc5e559882db007f07","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.0.9.tgz","integrity":"sha512-pj/ZkadWt89HJfW0Pl0Sdjm2T9XjvLb1bnAg9kvyPV7B8DpJl5pKvky0vCjd3g9vWtXOfWedmCcSB+pm3W+sNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFNdjMVDE8eIxba/pAiXXkKg79TPxuHe8vQiV7ssAB9AiEA1gGYwyoSxtRatYxgk7LOll6Cf2OLQsjr0oMllPzmcaU="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.0.9.tgz_1495973560061_0.8025000570341945"},"directories":{}},"0.1.1":{"name":"reactive-state","version":"0.1.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"623a9605e36cede604a1239b488385af3e2ba7f1","_id":"reactive-state@0.1.1","_shasum":"e5ddbf41faeb0579cd8cfb778028c2c5e1ea7cf9","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"e5ddbf41faeb0579cd8cfb778028c2c5e1ea7cf9","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.1.tgz","integrity":"sha512-MPKn1cYJCM26fWAc1c8l/u3NjeVXmV9rcW6CTZ0PyAbQ96EvBIWR4DRqqyE+/29RYVwqrl4tdxDl2wzO6U6mOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLQAeNuFBsAz6u9Njw1qK+LKC/pej0+WReiFQN200uMAiBy7jdFAwmtbzZIg8WzF0kKFOibHaPWhiAZAzuFIaDb8g=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.1.tgz_1496340140079_0.8728914691600949"},"directories":{}},"0.1.2":{"name":"reactive-state","version":"0.1.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"68a305243480403f832cbd2fbbb8d9f2c54649c9","_id":"reactive-state@0.1.2","_shasum":"b63fb98342543a47a58478fa10dee7365e8cddf7","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"b63fb98342543a47a58478fa10dee7365e8cddf7","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.2.tgz","integrity":"sha512-xgAkEpsA7J+j+01zA4mCp62YVPx83SgO27vHnRDJfYgu3nFWxQ1fsFDY0D1bGcSn9eJ+2wCDlWu5i/9aZ9f5fA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNP5Ck0gmFbGU8hwupuQk6S+NMWMbhzEzJ4k6yp23iHgIhAO/zGwKP/jMRlY6T8FMwR1f0QghBK1KMTgYFDqptDOX0"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.2.tgz_1496867704644_0.5284881459083408"},"directories":{}},"0.1.3":{"name":"reactive-state","version":"0.1.3","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"270ebdd3ac327f41503ebdc68e284fc1306c4108","_id":"reactive-state@0.1.3","_shasum":"74797a4eece1e9577ce80080655efa5f238750c0","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"74797a4eece1e9577ce80080655efa5f238750c0","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.3.tgz","integrity":"sha512-b+mMuYo7L5mF2+kYYR6q04M1sMauBo0nh1Vx+n2eKgELuYUWV4uG5QXx8OffjFY8v4dDsY5NxCdHqdWNv01xLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqJT1i5yeLEZZcTaIOmBSmPVmFHVS5HljL9a80SQevrgIhAKr5Sacptr85R226ar7DpStH2WaB0RqFEMuz45dmAU2V"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.3.tgz_1496897237726_0.6919279736466706"},"directories":{}},"0.1.4":{"name":"reactive-state","version":"0.1.4","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0"},"gitHead":"5de0ca024628ff3a0514251ca1f60d60184b03a8","_id":"reactive-state@0.1.4","_shasum":"80e097102e926b5fb264e3fa62f86fe7f83a48d8","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"80e097102e926b5fb264e3fa62f86fe7f83a48d8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.4.tgz","integrity":"sha512-wF7xl69Cv976lE7hLQ0g7tam//qAPLqfb6+vd0araSzm5w0wQr/8eeKsoGo8eLstk+DxZtBBkhIKCguPhXlC5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMQOzGDHK3GcLxB2wkEDzgtqkQebijH6gZVf3hymmN2AiA+P1T0xj4I7wD6ynn3SpLENan/6IobwWN1on1IUwkpxw=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.4.tgz_1496940433217_0.26257246476598084"},"directories":{}},"0.1.5":{"name":"reactive-state","version":"0.1.5","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"^2.3.2"},"dependencies":{"rxjs":"^5.4.0","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"4dc7b0132640e08aeee8305975cf91b9b5e1a5ef","_id":"reactive-state@0.1.5","_shasum":"5a52fbd138ab65c016f5072dd1bd7cb5bf711b0d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"5a52fbd138ab65c016f5072dd1bd7cb5bf711b0d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.5.tgz","integrity":"sha512-KEP7XIxx/qw2vhjigeeEeUlN0gJ1uEZT7WZ5wORAM46M1JA55DXMEIlKmmPCM7Dxx2LU4Gv7dewjXQD7B4ijLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxqIz1l1X6b+BdK3phWHKwiceBZLDfLJEr+KMBCmJbWQIhAJJN+HNSy5x8HHQSLJpAGCsKnp7OpxLUftITGhw+T3Ho"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.5.tgz_1497040662202_0.3203147903550416"},"directories":{}},"0.1.6":{"name":"reactive-state","version":"0.1.6","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash":"^4.14.64","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash":"^4.17.4","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"2.4.x"},"dependencies":{"rxjs":"^5.4.0","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"251581b614b047b711ff3253cbf028b08e05d943","_id":"reactive-state@0.1.6","_shasum":"4581a3460cafac8bb3cca5774a83b975d6c0f39b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"4581a3460cafac8bb3cca5774a83b975d6c0f39b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.6.tgz","integrity":"sha512-nBBPPGfTwfQKxgoKdiydgvXBYI8bg+r1kYov4i9V6MtdRyCMLbuJc00oQbzXdTa4dOCLmWiNQcSVNbtdPYGDow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTYzP+VhS13sA+go7X0AryXvLPscTtLyP0XXl3SqJjVQIgNMtYqJQRPIY+htiRM+ImCpJ9WUsTYbmdRj+Tl572iuM="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.6.tgz_1498982712134_0.9880487550981343"},"directories":{}},"0.1.7":{"name":"reactive-state","version":"0.1.7","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.clonedeep":"^4.5.3","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","lodash.clonedeep":"^4.5.0","lodash.isarray":"^4.0.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"2.4.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/node-fetch":"^1.6.7","node-fetch":"^1.7.1","rxjs":"^5.4.2","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"b8abd74abde0c211e4a85382f6cbba5632b46911","_id":"reactive-state@0.1.7","_shasum":"191bd7c267ddc249a19934647705b3c6f86100f1","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"shasum":"191bd7c267ddc249a19934647705b3c6f86100f1","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.7.tgz","integrity":"sha512-xYQbzpHlpyX8wnA+d3s9vwBSpLQ6AkfOKmR2Ex4ZWPkF4I5Wk34nBk/JtD/cRnEvLMLKFpnK2JIZ1QbU+ds1eQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID62vAz25xQNojNtWb8Ak25UxKbr8hCyvTGOO6wq/CDwAiBI8aL9To6372RCSvnYqyO0oruLDVod+bJ/tigkMXxp9Q=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.7.tgz_1502232449091_0.5171716175973415"},"directories":{}},"0.1.8":{"name":"reactive-state","version":"0.1.8","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.clonedeep":"^4.5.3","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/node-fetch":"^1.6.7","lodash.clonedeep":"^4.5.0","lodash.isarray":"^4.0.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","node-fetch":"^1.7.1","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"8d2a8b63b9335ed7ad3546edf8ddbf7e129cbe2d","_id":"reactive-state@0.1.8","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-qoFwQld0Rbg20T/U+dGnKFx8WhftEUZLy2Jwhcyh4rIweuXAD6io58nJQbegbX1kYUepp97SlchQm57fjyCe3g==","shasum":"7d406d65603321bbcacc0eed9153e3b2c1fe0207","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLUDMXby9AGD59E3y8d1jZlt3YNsneZCHcKYrzK3eKgQIgGyn9RcP3URBvEyrGSqRmBohnkZXCNyDf4kelcwQQnlw="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.8.tgz_1506527360073_0.09153701132163405"},"directories":{}},"0.1.9":{"name":"reactive-state","version":"0.1.9","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"contributors":[{"name":"Ron Holmström","email":"ron.holmstrom@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.clonedeep":"^4.5.3","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"2.4.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/node-fetch":"^1.6.7","node-fetch":"^1.7.1","rxjs":"^5.5.0-beta.0","lodash.clonedeep":"^4.5.0","lodash.isarray":"^4.0.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"72eae4f939092fc63b0e78261f9310f9e8c77c2a","_id":"reactive-state@0.1.9","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-Sl2+GEF9o6GcJ0maQi6+hsgXDHgA/HGPqpbLkgHkcvS965AUx6cFF04YEuXSl5yjaxu2rv5DwFJCjh1BDbjYHw==","shasum":"ce38adf3e622d37fab1a175d37d6a9c08d12be4d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcVgojgoNtMP9vnDdbWXIKsOtMgOKnR/DkcXbDHV3+xAIgBAtVYQoPI5hjpc9ESrEgp7LignKq6HWwJ1QOX2eI2Ik="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.9.tgz_1506538446732_0.4723408066201955"},"directories":{}},"0.1.10":{"name":"reactive-state","version":"0.1.10","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.clonedeep":"^4.5.3","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","tslib":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/node-fetch":"^1.6.7","lodash.clonedeep":"^4.5.0","lodash.isarray":"^4.0.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","node-fetch":"^1.7.1","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"9f71c78fa1a5e6b01381e3004bc151e6a3f8e327","_id":"reactive-state@0.1.10","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-w/6kqY8co5fvrdbc/fTLj4AsmqLiSvS54RwlUb7bH/qgzwmEHxbtiIVXkvL9Qm/tZY7f0rJ5pexeXPJbes6RHA==","shasum":"c225e234faa77ab74a231974e05ca18619092fd7","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALbLUqpvemE9d4rOm13Qe5/upFE9xNAB94iWjh4tyDbAiBp0iUum+SeM3COxFNWIxoUSoScd2rKmpU9VqZminG3qQ=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.10.tgz_1506538789156_0.3564832163974643"},"directories":{}},"0.1.11":{"name":"reactive-state","version":"0.1.11","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","tslib":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"a1155a056ea9b93134f91599551f9c1b776bdf94","_id":"reactive-state@0.1.11","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-lGGiUxixCjKcFkAt5LHI8VxLLdo/OThA9QT2v5Y7GEDLiA4m26kehH+dflA1AbChsbM64KN33wYuKtlVVU7c/w==","shasum":"3b601f33a9eb74e0049a0389152624d0c37048a3","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.1.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSNQfBT5x98948zg570iVrWrTctZ4DFdgmfBN8CaFVhwIhAPCK83MbaiHOapTWdStSd/NgUskLSldQrXLA0iMljW8B"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.1.11.tgz_1507576225513_0.6892582816071808"},"directories":{}},"0.2.0":{"name":"reactive-state","version":"0.2.0","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","tslib":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"fad028be7fa4486a0b57bd73f8da12791c5fa5f8","_id":"reactive-state@0.2.0","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-nD5HieZPBojtsWI6wROI8jH3OIsrvb3cR6V/QgjPit8G88iPOQ8kIDnT/JurEuSkEadCeSBX9gaBVi8ote+eiQ==","shasum":"18d09687a2bfc5132201b285a20bc6dc4a2fb619","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC13xrZFaSqtHsg3uwB6qyC/evuQbNe+GDozl0pebChzAIgBfCsYp0py2W0O0HGXUGeUgHqRRZnF2OAbmRJDKW0BPY="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.2.0.tgz_1507748779945_0.27179926121607423"},"directories":{}},"0.2.1":{"name":"reactive-state","version":"0.2.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","tslib":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"947aa6a721f79abcbce2375d210ceb8884226317","_id":"reactive-state@0.2.1","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-mY6Ia5g8LFMAC76+W+dSySPnYePSx5mVDIIC1dR8Ski18G6aaTu/rVqrJJyvDsU4/YO3tB9jewNlIWB/Gr36eA==","shasum":"5ec33f537ce34cbb963ec825c9b621ada123ecc6","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.2.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICCBS6DWXPmYA/4Gib3q/0pMV2Pm1ri0NH7Z4KjtFb6rAiEA28q/IzfzOXFZbtxuhHtm1BcYQC8q8IrP7RxypCDkSDw="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.2.1.tgz_1508101406790_0.7673046356067061"},"directories":{}},"0.2.2":{"name":"reactive-state","version":"0.2.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","tslib":"^1.7.1","typescript":"2.5.x","rxjs":"^5.4.3","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"62d8166de0c74c2b4e9674c807ce5a043be8dd93","_id":"reactive-state@0.2.2","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-s+9/QouH38vXXweQS8Ydpuu43H/O/J5Ui1tctVEBLFmdtFIwMJJnsci7BlBuxnh2W7F97KDExVSVVEgBhqC6CA==","shasum":"e477b7694a09cf76f1948d7a2264fdd9b1b691a6","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.2.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCA+naKCH2y2xvAMcp3Pb/0s2zfpv7YRiRel1HEg29DNgIgF4eBRkPF3MbLmW80C/12106lnFRvln2TjXcciPpK0v8="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.2.2.tgz_1508146451728_0.007065123645588756"},"directories":{}},"0.3.0":{"name":"reactive-state","version":"0.3.0","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/react":"^16.0.15","clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.4.3","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"3944460f27668b9ed0cee8ca580d613ee8bed3e7","_id":"reactive-state@0.3.0","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-PkD+CEASfiWScquxBO61ur1Gmzv7W55T1krBGncoIVJiSHrDzIvl1adZMCHN7TfxjH1yv6BqP/HRyxXpNRlnRw==","shasum":"96e94bff3a0f620155f0375af059d01ae2bd9d7b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR/uDBTYuaAa+7LfV1wTd5ana4RidEcbH4zteWXp3lZAIhAOPqaNebM0er2vo+WeUm7AHuFtdVZsZihVeCMvXZpJS+"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.3.0.tgz_1508524878131_0.9364825766533613"},"directories":{}},"0.3.1":{"name":"reactive-state","version":"0.3.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/react":"^16.0.15","clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.4.3","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"d5c2ec0b88e2b3462e97cb9f18ef2dbf69dbc88a","_id":"reactive-state@0.3.1","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-+H4OQ7EWdn4t57R1BIGCP/5Av85PpiOHKQVd3UjfU7ADtkufHKvJcI+GIBY/PADoPWL21nCNsOuxWuH4eT7ROA==","shasum":"aa190997da2957429561bba862abc629dd6eec3c","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/ctfof6B1+Zdu4oshR6k7m2yxVwdMtCkzbQLH8xl+CAiBeeJusmpD1PmCcs2fQeQcYVETzTQDrsJWgp/elaEHg6A=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.3.1.tgz_1508525238974_0.4341421097051352"},"directories":{}},"0.3.2":{"name":"reactive-state","version":"0.3.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","istanbul":"^0.4.5","mocha":"^3.4.1","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/react":"^16.0.15","clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"867ca82433a19dcb11364cdf8f9f1f9929cdcf1c","_id":"reactive-state@0.3.2","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-xJPL42MU+voAMCCejgSaCVYDbLriO8LzL91regG63qIEPPt4Q/VXZ7NA+agObMuzvB6oNjwGgCCPrUcVGG2ZAg==","shasum":"e811ab68190183a6f9f034f82f176d39db563730","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmaoUcg59ToGNDZbAM8Hh6Q6DAEeIt1WYOw7enNXQJWAiBDpR0f1llcl0DQrg6M7/Ys4u5GbOUTiE6yeqruYHq9kA=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.3.2.tgz_1508537691794_0.3489212514832616"},"directories":{}},"0.4.1":{"name":"reactive-state","version":"0.4.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/react":"^16.0.15","clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"5ddcd2159f50a407185c8737872d3dafe5918f9b","_id":"reactive-state@0.4.1","_npmVersion":"5.5.1","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-90lMcRtJxxMHXbCdQMdaPO2fzylQAmj2anwU0HseSJ+sgnl8M1wK4OHUke8TbTqI+ArTcB1NqpIdspPPiy3SbQ==","shasum":"2bd62e61e6f77cdcd569571fddd6873b22be7612","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCABL0ywDdUC7uQY66i4gjn03LqPVGbBW4dxDs1fj4QwQIgWcYGD1InvZd03ol/OG1FEtBs6ZnSmMK/KlixBiDJH4w="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.4.1.tgz_1510595509888_0.4712022424209863"},"directories":{}},"0.4.2":{"name":"reactive-state","version":"0.4.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"@types/react":"^16.0.15","clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"fe9b8954f7257f7ce2ce92ce38e00086e1c7b3c9","_id":"reactive-state@0.4.2","_npmVersion":"5.5.1","_nodeVersion":"8.6.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-mM9g8P5ssanB9V3rb7Un/Xu8xTbqiI0u9suew67GWBNGu6EZNotLNmWcYqqs0BCij9UD0Euo7s3pl/dOCwjOSg==","shasum":"5a90d70c0f0519925f159a2a1a2650b23cfddd1f","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCctAdHCDz27fS9X1lFcqhPY+L0TyN/IjZHdzRt9KZDtgIhANnkb3sRdWW4YxuprD76yIXIPp/ka7kgBt/8jF8WAPOW"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.4.2.tgz_1510608800082_0.6337780212052166"},"directories":{}},"0.4.3":{"name":"reactive-state","version":"0.4.3","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/react":"^16.0.15","@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"1768eb5811822c99343c915bbd97d098bef61bbd","_id":"reactive-state@0.4.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-n5fWeOIZlSvtrDT0zNqRk5KhRVZE11VaXg9EpqUvJheyJschBdjkdH+r4kf3H9oX9bDg2fHFzXR02UoGxtojQQ==","shasum":"b892e4019e20d0da1dd51bfcb7ee30900b12d1f8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.4.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrZ205qntzX+r1p1Wcuxa44TQVGJoAuJUHMi6gakBMHAiALd7dyMuMSBoiECuI2qTajOwRQKSzfLniobYfWA0BG6w=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.4.3.tgz_1511035949603_0.6128231200855225"},"directories":{}},"0.4.4":{"name":"reactive-state","version":"0.4.4","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack && npm run uglify","uglify":"uglifyjs -o dist/bundles/reactive-state.umd.min.js dist/bundles/reactive-state.umd.js","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/react":"^16.0.15","@types/chai":"^3.5.2","@types/clone":"^0.1.30","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglify-js":"^3.0.27","webpack":"^3.4.1"},"dependencies":{"clone":"^2.1.1","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"30db1dfd303187ea5896fc630fc343562d8ffa15","_id":"reactive-state@0.4.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-wbHOaHdx2fE0FSKExWke2WGQ+wZI2IWX6LJnY4dmbBDAMwlNExB/WrjoTltQfFo3/US++fm2OtfS5/4n7skphQ==","shasum":"f866f0ebaa472c5a235342f548e38212a13261a6","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.4.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFtc7dHgNsTc/5KD4iT+DYJTamkMt9Ex6Nrb+50cX6fAiEA/tZWfRvua9Qx6s77/iB0maTqzqgBCp4Ip0Oi+L0oWNQ="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.4.4.tgz_1511088647187_0.7745639958884567"},"directories":{}},"0.8.0":{"name":"reactive-state","version":"0.8.0","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"2519b10da99e4df9f8ccc43e3cb90617dfc81531","_id":"reactive-state@0.8.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-QvFJnx2Twhch26ORO/RE775N3GGclRWM+2bgJ44AvbSxa83dT5llFA0lkB60dWHM7B93dsN1TC+gOSRIQoxDng==","shasum":"31345f12e85080f7a092a45f01447cbc74b962c4","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmZuQHb/Dwva55kXjWhmN7b8YXAJRPFvEmX4LSU9YRQAiBGr1Pm17V5b3lqIfcWL9DxlLoEhFNuyEt3X8AuZPyoJg=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.0.tgz_1513961453549_0.14704328426159918"},"directories":{}},"0.8.1":{"name":"reactive-state","version":"0.8.1","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"23f1d2e0db77ed54cfd5291c75664940b3d05bc8","_id":"reactive-state@0.8.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-jEekCgYkXVP3VSjwc3WBOxbNK/IXN51T1bssM9yr12ekheqaeKmOW6hwtvaSzXEg+sTkjpm560gD13dwK9Nt/g==","shasum":"b5809231381e1f34aa704a1d5d0d5e3b23d1ac7b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEDsYWzJ1Dtt2kImUoeOj/Gj9f27AWoXtSigv2k4fJYAiADPaLen4o8ombnmomynrhL4npT51KoKpbHX1bXJcz++Q=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.1.tgz_1513964259592_0.3381161524448544"},"directories":{}},"0.8.2":{"name":"reactive-state","version":"0.8.2","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"769c0fd3e9566dc711b90d0f91173e1489ba8cb4","_id":"reactive-state@0.8.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-QL3jE0UyTmwPfQ7pG6IjTDHKVJol0Fl54Ufj7uu5A18uDF5GObCj9D4qSbKDv/dFx3m6wMz+MGYA6jhZbZkz1A==","shasum":"a1a21f5d87243f8e1f1d3d7a5ad82ae2ec85725a","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAyst+KPPQy+XdSnLtmoy3MOGQNT7uOEAHKfEEZvlkdIAiEAvhaBFR5VeX5g+FdFyTJUXYgrNi98dzto0s0+JPcPWgY="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.2.tgz_1513965820553_0.7084500610362738"},"directories":{}},"0.8.3":{"name":"reactive-state","version":"0.8.3","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"c60ccdab9a1d6fcd5e69939bdd0d4f80ef4b40b2","_id":"reactive-state@0.8.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-HMkZP1COQJDPI0R5qySPDhZfciK7RMwwx2Dc3RE4h0bfQSgOW72JJ3yN4Kz2Izrl7dwYWseBUxX/6YnjKKKRxw==","shasum":"e552c4a21b236b8b7cdc55f9f916bb460020a31d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxlJbhPIg9kYmWpLBeFbAAA96bh9LraCL7xTtfWwalDwIgbeGL9YtsHCgwZSaqT5wQ5cNk4495KFTUbZ5eeUjC8Ag="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.3.tgz_1513978517468_0.7746712164953351"},"directories":{}},"0.8.4":{"name":"reactive-state","version":"0.8.4","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"8d88070d361b69d19640acbce676f435fc753401","_id":"reactive-state@0.8.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-eLyfgE1jjZXhfja6XeZsym9x7gp5b1zSvEzyWij9PrU1RgAfG5X2NrzBvKZ3oFTIbsnaZDDM+rUPCEqWJFSN0g==","shasum":"565afa8f7830061b73228ec94d9342008b479ce0","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmQwpEnwaR8iBMUKaXJ6C7G2s38qm6J41nTk0cnAmGsAiAfZHwQ1TuFHo/Fjr+nbhHfwTnYxuhPgb4z8gr4u4rKMw=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.4.tgz_1514041816694_0.8457929615397006"},"directories":{}},"0.8.5":{"name":"reactive-state","version":"0.8.5","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"3d15d2247732e5ec6d7f7cbc544006e28f4c04c1","_id":"reactive-state@0.8.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-rV9jKLvL39Dw8lZg5HfM8KoC21uD7o6TgJXXKAd/zxGfLNd8+eu/hoLxDv4scgYxtoPAFt7x/04Ck7n6E+xhDA==","shasum":"e5b08698e8aaf4417c5523563e6e9bd96c8b30f8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF67DnTf0CMgXLeH1knJsihqVAYDIhutiDo9QeH0QkzoAiEAi+OdWjcqKN6ySTGgr8khKZqq6qJSHHT9UN2/0A8LClg="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.5.tgz_1514042226880_0.45629863534122705"},"directories":{}},"0.4.5":{"name":"reactive-state","version":"0.4.5","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"876703faa52332dd4f22879e86ab7d19bb8bca81","_id":"reactive-state@0.4.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-Ded2bb2gluBdjCfiTCXPyYlm2Nr10jxd9StQIdV485Y/wWqSiLtzZFIoQy3nluusYwD6xcrmcK9mv24xcRRfiw==","shasum":"4c1f223c950d45275cf0957504bc3ae4c5084b8c","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.4.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3C6+u9coeq7rZWUWzYj/bQ8ZnCRz4tCve2+iJH2TUzgIgDYA72i/kO+cS4ovWligb5cUqCrFMYq/HPXmEyGbDLDY="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.4.5.tgz_1514046185606_0.5187600217759609"},"directories":{}},"0.8.6":{"name":"reactive-state","version":"0.8.6","description":"Redux-like state management using RxJS and TypeScript","main":"dist/index.js","files":["dist/"],"types":"dist/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"710f4ac4aab5c0a310ba5bba25529dd4583e34dd","_id":"reactive-state@0.8.6","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-wzs1JD+IsTTS9yEMht+UapA5mItxXN1AfQWL/X6jDk3rSj6ZSCID3XUrO7g5hAkPIdOf+bl2W5JDEHzwobgPGQ==","shasum":"164cb208e81f6adafa1af1ea910109c2f9cde0ec","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRRGBH8IY3CbHdHE+Vzi8rKns8XsNzza2pW7soDUs5pQIgQt1NaL9R4nE3PTYlm//uwIPgxGNAGK0Sx7fQOVjBOys="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.6.tgz_1514046354254_0.11146264709532261"},"directories":{}},"0.8.7":{"name":"reactive-state","version":"0.8.7","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","react":"^16.0.0","rxjs":"^5.5.0","tslib":"^1.7.1","redux":"^3.6.0"},"optionalDependencies":{"redux":"^3.6.0"},"gitHead":"3890fe7a6004010a62d019cf18698ceedd4ec00c","_id":"reactive-state@0.8.7","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-qv3IAYjO+cxYx917SX/+MVc8wHUUoIlYa8lCeU6BU6IqPumfQS93lBXorHsIcIZQx1PnXOPBA+BdVyC8Oqwbfw==","shasum":"04be920b74ea75a5d176c27c5cbc39f19c6fa080","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFx8jxUV0V5DuZ6J+mBPTAo/CI6uTVFBaEK9/mi345j4AiEAiNR6wzYnX1Rtr7JwMSWw2LpwnlZV6DDHJwh6E0FPsJ0="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.7.tgz_1514064629602_0.22972447285428643"},"directories":{}},"0.8.8":{"name":"reactive-state","version":"0.8.8","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"b1f845dc5a59c153f65b07b3484176893e9abb00","_id":"reactive-state@0.8.8","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-9y4JoqwGcC9eEM9koNOsWxWNqcP4QwsLCX3tz/71kx6R/zfTO78mzNhqUgnRF256cPzTUydCnpmLqgiNKxkfDQ==","shasum":"24f8f6517d8821273c674900749d3de3bc37b9ab","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.8.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmMHB1GBLtf1esVf00jSsK/CSXBPxdhL3RxwLMorMEWwIgOb8fy/aLTxzqofg67HHdskVKhj8VQt2Gl9pugtRd9tI="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.8.8.tgz_1514065011602_0.3829728967975825"},"directories":{}},"0.5.1":{"name":"reactive-state","version":"0.5.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"c12e352baa776345d08811d03f1cefd8860f8f35","_id":"reactive-state@0.5.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-ubKUtyxuBeX1OgZijn2Jmy+L/fET2a2g7ENhNBXpAMYx+y5agBwN7gtvskE8a+3gvYc0edecSa89V4Dty9tfmQ==","shasum":"d1362b71a6c91a5a754f23e5aa54fd4ee7460537","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsY4mAirwrY/q1iq/UCtni0UPBKIJRU3KIdHnqLiwXagIhAK4q7gcG+kA8l1dGTlcy1cLhvvomyn5qCNdS9GZ88lFV"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.1.tgz_1514066250858_0.6410136185586452"},"directories":{}},"0.5.2":{"name":"reactive-state","version":"0.5.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"24d44dcf1a262a5409dda70da76db491b2edcf2c","_id":"reactive-state@0.5.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-/0Dm+xBxEtI+IRlL2EZZ9NfhbUsdGHb437cLgXJ0+HknJ76OaoYJ2+q94iF3wqjFWbE69/fvt4ZGu+xFxZkKSw==","shasum":"f6066b1a080baef1f81d416e4488b95bc08c5193","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM+2LOJ7SAbOGgKMd4obEapOYajj5RtpuPeJkMH2PWxgIgAne1O863Mfa3WMBnK8N3jLYM17ZUjf4WpnwZiMQ+Ggc="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.2.tgz_1514360652343_0.8716674414463341"},"directories":{}},"0.5.3":{"name":"reactive-state","version":"0.5.3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"5acfd4a62ade2eab3ea2f4020c04660b960a4280","_id":"reactive-state@0.5.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-PrS1bbt1FiuqJjVzI4rkgJ02weF0T4P49uZur9b+mw0dScMjnUnoem/fG+pfMMBahB6P//KeQ/ovfI0r7N9nfQ==","shasum":"a6c7f2e660343b3591bdcc50f5fdb6f33a352c60","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ9YORDXVxJaeZ/JdqCf6H3nmz7UXth1PGjR//nrM8TwIgMazVWsKEYktgfqAcw9aYeebiDs2EYNWGBOO9i32UdUA="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.3.tgz_1514720138495_0.5602875733748078"},"directories":{}},"0.5.4":{"name":"reactive-state","version":"0.5.4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"2507fb622c6a2fde7110005561db1e50a7c7310d","_id":"reactive-state@0.5.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-4Mi14/vXYzoBVl56ZbmwXMXf19nCQnMemVYuFaPWjYuAqlAmbePL0MjajFCbV1MxSact2yurkmfhNPYQC7NyXg==","shasum":"818b08ca21fbace9ba995172dbe018cd13d666ad","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlaKV1b2DdMHHWG69rK7Qfs/+l8wYEIjUlOHKvTSgAJAiEA41sxza/oe5tJ5vsBbaN4iKW1Me335R7kVghDMVn9CWs="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.4.tgz_1515673913051_0.1249683341011405"},"directories":{}},"0.5.5":{"name":"reactive-state","version":"0.5.5","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"789482ff1142bc35872b5fa1ecbe56cb69502771","_id":"reactive-state@0.5.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-boUuGin66ZjyZl5uDGHTgQetyP9WyGOl978VxYwzgVL02WsY/fvgtEGOvSOphKCzYwvqCppvTjda0X/MOUqlKA==","shasum":"afd2756f2ce7c02bf44815cdc413784566a5055d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZhqdqs5FRJwTZjQdVd/W/OEYvPGQ1CXAH9BCnnHpR8AIhAOVwOo9+RXZYO337/G+Il9sm3CabpZSffii6vpIJXJXS"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.5.tgz_1515685238397_0.6841204399242997"},"directories":{}},"0.5.6":{"name":"reactive-state","version":"0.5.6","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"2ebbd0b7e326e81610bf45ae7debadf0ca6bc0d2","_id":"reactive-state@0.5.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-QoNwX5mzxH1Pz0/mw+6PUmNpGVUi4lWLWbqYRWg9LiKiz2Ktg1jqo1+oRllhxNLT/4D1CWdlStP6aY3UYN4AxQ==","shasum":"75bf477453cb9cda157314b5c8d8adcb49cbe0a2","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRp3VorDRQpO2cnovxzPXq4J2rA9ajob0GB6Mh/nJ0TAiBS72G7lLq9/G6mjDrQiTF72nYAJ8k6H/R20W2GA30eXA=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.6.tgz_1515944886647_0.15092685143463314"},"directories":{}},"0.5.7":{"name":"reactive-state","version":"0.5.7","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"07cd990033130979b2e6837f35931098624fd503","_id":"reactive-state@0.5.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-6PysqNn2zzBOT8J2KmJRBx3WDOtG10X+AttD1N9nqjHID+tF71y3/cGf14uFrNy1Q8XD9wMeIUUf/GufMjhuaA==","shasum":"558346924d4437d164a87067babc8ad6709df02b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGNTzv+wfc186F03RwCl8Nb36EYOJzgMtrENgEipRvDTAiEAxcWjgn+Nuh8fuU3S41mnLjl+KW7RYwM8TnqnhSdvfkw="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.7.tgz_1515946693042_0.5666571725159883"},"directories":{}},"0.5.8":{"name":"reactive-state","version":"0.5.8","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"3794e24ecd769521e9a5890517fb06c0afa1c609","_id":"reactive-state@0.5.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-3rcB3qXUgapK/ga42qubvoCbKHQDxLKi1CXrpdY3+XrfdaMHX66QOVqilfYBr4/pLP5mhKRD0QnpKEqp82/mVg==","shasum":"5a6b37e685368577c47e91917f8699c58530666c","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-0.5.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFu8MAMacwcRlUluc/7HbTiV6/7pE1b1bmGxTmkqnKrFAiEA6UdIKQbOPz7tKW1XubRjgMpEzeMAYsaBHyg99bR/sPo="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-0.5.8.tgz_1516120395737_0.2221706765703857"},"directories":{}},"1.0.0-alpha1":{"name":"reactive-state","version":"1.0.0-alpha1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"0d2886b7168dd5a86c6670892d6147d394bcadbd","_id":"reactive-state@1.0.0-alpha1","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-SVsVNiDKfnHzunT8BJyh15Ox8+mHKv4vZNr4Kl15GI4nLH76QxzOq7s/8EoyiOyKI7NpsGYHsNw4SrWJMMheVw==","shasum":"50f789fea5757624910a4c54e3a08f095d1d3c06","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-1.0.0-alpha1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyc4G2a1DpumK8eY3fy1KzvqCzlYS13H0l0T5cV2GOaQIhAIZ0DPj0ElanyJEBwM0J2m66ojwtGAa9DU/WOOPSVsLZ"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-1.0.0-alpha1.tgz_1516550999588_0.3869243005756289"},"directories":{}},"1.0.0":{"name":"reactive-state","version":"1.0.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.0.15","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"2.5.x","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.0","react":"^16.0.0","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.0.0","redux":"^3.6.0"},"gitHead":"94dd9730c26cdc67ae7ea34f35a194665a33f411","_id":"reactive-state@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-3ilgqN6v4UjCepwQIWzkmuCBk3Wx414p3kSXRl6rnupVaWsVJ6EyZuqubyEo1MaKMVLdoYES5795bNjmPPeE4g==","shasum":"c5b125ef0ee7c44bb89d7a91038a38531fbe6af9","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRwZ442jfhb5Dpo+WqwGUWYuTOP2ulpgXSFdzBXxZ3YgIhAM1TyUmdybg2qoapMKRVwGaiIpI4KJBX/9MsNbKj56vg"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state-1.0.0.tgz_1516724902407_0.21990598156116903"},"directories":{}},"2.0.0-alpha.0":{"name":"reactive-state","version":"2.0.0-alpha.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^5.5.8","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"625ba79ebd754604bdcab8cc3a6b27bbfdc10227","_id":"reactive-state@2.0.0-alpha.0","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-GBAj6wf6WP5xOxQV/pb3QPyAAzGxLoAQVs8M/6JaU2N+CtePaQ0cjtZMRrIPOB30FexCoLE9sAwZI2ouJA1V0A==","shasum":"bcad5bc21264d40b4aa3a2aa5e0db88e1945ddf8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.0.tgz","fileCount":38,"unpackedSize":115841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2kenCRA9TVsSAnZWagAA2sAP/jWDT4JqkEIJtdr6Zc24\nx5uvLg0olxJXZd0inWNaNooHq8suv28MX/p4Q8vvi8LPLdkfY6vsMT9PUOrH\n9CTQF+xAQ0cYrr0HlAxBVw1iBY87zonyybUVRarIPlK+xe85RUXQk7oeOOAP\npz5NXYPM38gATnoU7vIMw2CJWyLHV5giwX2AGk6Q1QlRAIyvcpuNKFw4cW6J\nRND9x4QYrASvHoeA/Zq9MEaHk5ywBCDyLMxu49UndwE1qtATNMnCyPAvrcij\nyKHPKnInTh1v97VhtyYvtVGScO27yRVxANHDjRe/kxx5yjqRfYSqALH0yGHE\nZojeq3G/u4muCSiilJs2iAsN5gbECx3SNTKiSww0JrXom4ujPx1xfv0Z/7GL\nWeqamE6LqcDtRffVR3dsZjJcaQG1V7N6GLDg1OAwkg/bcc9Y6TrDoJ69KFUs\nezgWByGkbZe7knoeDd2ybIkbpDOzPMlpby5MVNMvXE3OJux+8U7y1ynG8hAe\n7IkRQV4SKkfXthKJGkz6fwDmErtxpXHVDORPM+Mw+ACYs5GiudhjB9gcy+Ck\n08ko5Aa8iXYBKKBYZzBNCEv3dmjT4tfCOZyAqrSnRymGLAQCfCiqVKGVWDkK\nh6i+aO+nVbXMEp6bS9F9O0wAjL5QFF96RMTBQJn50EmcoOvuJ9HsnXxShU4i\nX/Mp\r\n=mpix\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzr3B9D+kjzw/97RpDLLaeQjDag06MIrUHC8Y3wXNDMQIgXt2PdrkgEGjJW2xRsQHAM1SQQFuM+3uNCzZiqGtuIzI="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.0_1524254630379_0.43607181201139267"},"_hasShrinkwrap":false},"2.0.0-alpha.1":{"name":"reactive-state","version":"2.0.0-alpha.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^5.5.8","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"5acf34eb0a08c0d1dd49d86fdaa11cb22e6ed9ba","_id":"reactive-state@2.0.0-alpha.1","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-cR54ElJXboqN3DLJGqQgYH+dCsveYcuIEDhMocMhAKFztQbzwatP6aCLZerk/qE7Rjhu7/8OzTZaXr7Y71KrNw==","shasum":"b325a758cfaf5d16ec4ffc151d91a0d01f3eb059","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.1.tgz","fileCount":38,"unpackedSize":115761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2lYfCRA9TVsSAnZWagAAa5UP/jw9eiy7KxGfzi/BGbop\nAfvq6yrf1lCIiz1LiyCAwOq4wzegewqYGEJ08uUFMV+QCp9/qwcxmZOv+4ev\n7HEzc6e+LUDdC2f7zoo5pG9qZ7o/bs1mx/Ay8YwGg7iXf7B4da56aD4gwkIL\nPoEjwuizWONVMMXHRcPGnTJICj38pshsMOKa8HThg2GWuRrXndq4Ycc5HM1l\nR6306PobEtldcSSPvA5CWFMqqAzdk8X1kdhsZYC22hYLqijel+9Qvl/phpM6\nzl0kIPLN/al3lVoqSlWE1jA6iq8ymy+oNvZAUOwIDkgJPj0aYqDLiitrVh6O\n6AvRUO6pxe9qhdAQaD2sArrKh95y+xMrj/d08reiFZg/WngalYXj9euY4IaG\nBUqikCMzEuPhQObJZyIMZfKXp4EB7LPIhQV9mR5ziLpyxjmLM4ooLqCyTQ41\nJf2xY7J//94+wontTeVn+rRrr5RqaB391k6t/Ea59a0idu916BGOER0ZOUX2\n47JrmJkTday8jz7/BFTSBJcogOkwC+PtwIKEEhZJPeQF6V8g7ApzSuLbRITu\nrZoLlG24COU9Y6pquTuj0SNSLjF93qY20VOlPsPN0RALESASzjw2yhdZA+mh\nDF6vjDDjDqc74nJ//XgQTfH024e1w4y56KjkVouKiKE2CzQjhorp2lJLgSh4\ntPB9\r\n=ea5o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbvD6F2pC6Wh6XYKS9KrZlbu6nMzB0GaKFmrpip88cyAIhAIwGIJklEXpa9r8pJRZNGh/oKe8xTvYuHNK8YgOMWF35"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.1_1524258334242_0.3405275898907252"},"_hasShrinkwrap":false},"1.0.1":{"name":"reactive-state","version":"1.0.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.5","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^5.5.8","react":"^16.3.1","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.1","redux":"^3.6.0"},"gitHead":"0fba4275a249e78e2fa14f4af9cf28e7f8be548a","_id":"reactive-state@1.0.1","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-KB/rWWzrbeSIDMmscbuZVksS47iD3Os0/t00v45NpcMwXZwJZkvMxoj+fxQLR9eoJH27VDezPA4xm4tq1DyYCQ==","shasum":"7bd34c700a94ea23b920e084059818b1035ebed6","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-1.0.1.tgz","fileCount":38,"unpackedSize":114081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2xRKCRA9TVsSAnZWagAAKxIQAJBidb8EE2ZNg/or+CY9\nz2oMaZLlnaVBw66yKA6qAHdg6tCbHd78fXM94WvoICcZzFfSVTN9PIPEP5Vy\nLqh1A1Nm3brQvjZDRn65DgF4AChlpBU41R20RBzfciWnOCwX8sKZ1dTteh9r\nphBcigFFek/uOU7oq+xpqM+19xQMbgKYQ0Nf6NzbTfmnxOV0pE3vmgJwQbhq\ntkJ7bUOS9u1e6B9Qd74civzT4y3ZJbQxi+i4e2UrT+CFLUN3gXX0VjrPbl1h\nyWOaZpNJ/9e243xKtamkX68WMNffFM3S2cqN6Ohp3TZWUh9ndkPKzMce8rZ/\nRpzgjnSaJzD6sVggNMJ730pNGx7kWe8jEzuXBVAEUfHXbaypzKEjqFJK4ZZA\nsinlRjj8SELHv17OcIm5cONkK++Q+mOY+tDFuMmAY+UJf7CA9b8UFBFylhkm\n2u8c4YNpum9ssloXT7i4Z6HoLgriwLDOD95gNOfC5hK/FLBTF7Bloc0tNDH7\nbc3MDMpYe/NGpwrkbOMS7PHC02zWASl9yHrsvs0kJUS4LpLq2cwsqbUohNYe\nE5NyFO/oJtdeqwATZtd0nmH1Lgj90pXQwBDmrU/SxE2lhEgmEqjK4PrGXgXW\nrpVUgGMaUc/QHdKI4jK7A0SlIP5psvOLYx3IznRBgBQZiev+edwR2tcj8wak\nCyzK\r\n=ks4s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCacaDzz13naaSpwV2RKhgX2TsIwb5KaZdP8ejlTULC+AIhAORZDe0mkesahfSwI/qOzIorEhiJNbpANCNeadEEsWdk"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_1.0.1_1524307016759_0.5973580530838201"},"_hasShrinkwrap":false},"2.0.0-alpha.2":{"name":"reactive-state","version":"2.0.0-alpha.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^5.5.8","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"80ec69ff569c77749b166b54d9a059246cad14fc","_id":"reactive-state@2.0.0-alpha.2","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-s9BD9jUShcfOkxKwY9tkmk7Py/8LYmrEbI0+SrrmVCErYoK0L6UGyOXAPpGvsNCNKvCgposDU66F+XczdnlWyg==","shasum":"fb88a104eb363f7dbdc51c55889dfb04944bab1a","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.2.tgz","fileCount":38,"unpackedSize":116422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2199CRA9TVsSAnZWagAAEyMP/3y98DXwoSktrfoPU3IZ\n2HPCmBiEgpxXevpLNNqUAkyaV4IS7VVIn4lIhAdIqJyYCnCVhAUuOLbnpgVY\nRLBiuXsvALHdrydGQFHC4ShUYYvJydpWkbGliLBvYP9TNgwgRH5Oi9blxIRQ\n6R6+oV2LVSDTLiIf35lRSh/QcC+WDDClVFObyvKOIzlQoYr30HTfVEcR1wWN\nTFoilwdvxyRkJfMJ5sTm4FCm88o6VjCZ0t8zsU8QYewltbHtRcgi/WSgHxiN\nT85R+/yXpHGJ9g7arwMJoq49NJCdkwikOFpqnboeI36wB2JsSTxQ3OBO6/1e\n6LFcd7lg277vYRLi5SySF6HtmFjckPJ+3Q8nN1t3e/vx9pN9dkZaOh3oS0wE\n/mUDB/LA30hAQINNTfmCPib1tNKpoD6zEUe09yW+3IGVkHyQ7BDLc8Gjp6FV\nWIA2lyjpIhJI1STCg3LeobR2TK792G84sdg7RDdhDZwFeTNc7rJ0nQklerW8\ngAzDnGk6FXSw44eM5aTgy4VpfrN0cLJA2Zd0XW3hxSsSMU5nSoam5NHvuZuB\nWbGnP0bsjaliBh9lLGDYpQrlbtajooqUGL/4aJSOhsOX6wvaaRteCdwt6rX8\nLEqSsQgJkULKJEo64cWL+QEEkvJ5Ul4JERpDKFMaLQR1dkC1CsDaiLeDerGk\nfVE5\r\n=SDul\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC89JRr+uJsjO0rtpj3cn/91XhLmlYQQEnMgz3jR20ZHwIhAM6NVolMvzBj8ECUUPydVJXCQDP8MTISzzyn97bsQ2Lw"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.2_1524326268280_0.04608534049795021"},"_hasShrinkwrap":false},"2.0.0-alpha.3":{"name":"reactive-state","version":"2.0.0-alpha.3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0-uncanny-rc.7","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"732abb482e2b78b6d6ff2fe207afd9968ea9f903","_id":"reactive-state@2.0.0-alpha.3","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-e1EVGXgJjCVl4dI6P2YErN3HkqV9hLBCljJVzCEsmVpUyrrNltlz1QVZloBAabBfycMOw0Ei2pbSpsHAb829fA==","shasum":"9b7f05614b01f01391db33accbe00b9d1eb01bfe","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.3.tgz","fileCount":38,"unpackedSize":205628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa26DpCRA9TVsSAnZWagAAGmgP/1043psSamVD8udOxxvE\nQRZQ18e3ZhZpdYYx7d+IsfFq9jUH079znjsBBd4On+JBRNd3NUY7WDvMDjSe\ngSIV7OQ/TUhyr1FwXoOclD/2Qhen767jlTopR5KbySJF7+dQUEFoQIYTyCef\nQgdCvLgMFRqRYY4X1huocomurONF8znw1FxUqq/9bOz1YIajdGn9bRYyrCra\nuzsWOAQoT0zXX+MwQYGcsOqoORDHocHYi/Vd4af1LRbRvWzbD3OZUszCYKnP\ncEejUDmbOOn3sywmBM5IuCiU2ZyFcXPvZ2INLC6A9OVQdTR6+zIrQCdZJEIq\nNyJsJ7ZNAlBr5XcT6BbIQJG3VZbs8z2HftP62W22tbxbCN+w64vCWrX8ecFh\nRCTtzpJRBJLVmgKnRido161LhOezBdVb8LPb/uMQdENP9yBlT/VhPYpTdAG4\nrHBi8GkBW3TikRikM6w0pe9MQGyeTuuFTqwv6N/TJsTZWShPu9BaHPwRmoG9\njn/H6mhdhOdTnCE1h1yby98dbGr/GDE/CWlkDbwppZUTPk3z83O4IKjLyul2\nIxMYSGVEOExqksBmd6uSvaaEYYVNf2z0BYYJVT96Ob59md/B7zu8f0+fyR2T\nl8BvgWP+fdk1a6bZWXnJZOBXbqbXE/zlTST27SoBE5RXWA9mMX0opftTu+Da\nMS/h\r\n=7Fw0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEZceTERv3wmUnPinclYOSJU00S9PTCpjl6seOyGSoaAiEAx2gyLCqCPbB9hS6rHiXsJKsm6JHggmREDMDhTciYXqs="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.3_1524343016456_0.5219956567831903"},"_hasShrinkwrap":false},"2.0.0-alpha.4":{"name":"reactive-state","version":"2.0.0-alpha.4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0-uncanny-rc.7","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"b5772710c4974e4bd59193fc2401beca0fd898f7","_id":"reactive-state@2.0.0-alpha.4","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-ODNfKMbZCrM+3KJZMeCQL7AC0SWMzdGTgzASP1TWmBiG9eEXghdo81qcc4+E4+5xe98JCzv6aqlrlysQjZr6Kg==","shasum":"de786d8332c01bbc2ad6b9b93b7051e9f6391895","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.4.tgz","fileCount":38,"unpackedSize":104719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3HZWCRA9TVsSAnZWagAAot4P/i7wOPAolDWlGeIYs9Oi\ndcWXTjf6on3bmw6T6njgLl3jdh/tnsFPUcZCzpqD1LSx/42sNM9elSIupcYa\nFnJ1gxHSvp65+efcLFzb3iSs5aiTcChdmK5TgCA8ElmrANmtd41KzMm9xUXN\ngi3ff0KNFhRSjoe8mrXmH+K5m3JcgWnGaq1MmMZDT5xh7NMkfcdxCRQj2crv\ne2JbBQSuZufS/0tBVKCZq5Q0CBWrpR25zk6GmNJ7vFQsfNzEsdaCucpzJ+Zn\nd/0nHSyblAQxHg0BdMJHkNgm340ef9S2FX1jbohhlhKBjVXcyupq9vpvwe1i\ntJes7051ztsLeWn8NkhMOxdrHdnnR8YA2YLXI1Zy0dGx1UvJn7CMnIGMGYTZ\nzOT0/NQynYJpkex1iW6KHZwWZT3xbNiRx/b23ofqmhBYDdf2ImvVWuci+JCF\nZEwvsylYXjVFZGHKaqGF4/ZnaZ3W1vLdUbFKmLw/XWMuw3aFABRe6HQGiLmV\nGwOBctTMdxo+J4pxeVitnLH1IRwoy5apYQ/XLKt6/aLMFCamHBWI92+Y/caq\nGgGYCBjXu3/+zcdZeYcqCpHyquDK214/rrkkzrMs+ykLVjWjWoOWsRD9S2lY\nrYQo/ZVjHnUw0/OQbwMeVDk8zjEpsEWbX9Yc9AUdCH8cPXy8pS9Lp2HZnMzG\noz4g\r\n=Rct0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfAmhqGe/ftz99TEajTmjv45c1UTRQYrnPlpMwKyh+FwIhAP9sC/9Zh0ohVSLq2Za109DxRC+3ezKTECuM1dYY5NLM"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.4_1524397653954_0.159460392979055"},"_hasShrinkwrap":false},"2.0.0-alpha.5":{"name":"reactive-state","version":"2.0.0-alpha.5","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0-uncanny-rc.7","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"4a3631a8861238a80919204894adb445b024e093","_id":"reactive-state@2.0.0-alpha.5","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-iYzUTXBTj8NeJ4j+S+apK5Clv3qzsKbuAPAKnJmEhcR3qebZSrd2+HMik+co+rifmIb6iA3y/nO7FwVj3AO7TA==","shasum":"e3727a4de4e1fc65145172d84396cb28fe499324","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.5.tgz","fileCount":38,"unpackedSize":106684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3g6oCRA9TVsSAnZWagAAEx8P/1rL1t2v/Sg5OBWmVVH3\nBESvQpsbCxfEMjDxdHW7N2Jm/a63YhQvBj7wPtDCC5DkyoF3J9grF/hK9LtW\na6SxWkU9CBvzisH9xOoDVdrPMoXKZPrHqlpNf1AonKwnzYx9kxsIB69FJZJf\n5A3XOoVKntn6XqR0yAB0ePMfjh5gXh39Utlcwv1uR1jUPsmJ/s1rxa6c+WHF\nIvVeK4ys65HGSAR6Ucf1UnBJnlpVNcVd6AG01GeYftrPkrBrW9GqoQ2RkuD2\nWyfpgqhIr1c/NEwgZ8pYSvroFC78GagrOTOZ/j3mumZl1v7I/gKwQJKyhenH\n3E7bpCv2nQ0OZzkZ3sa1rDm8fzGyiheeJZVIGJ8NaaMizKO4n7ByyTs5oqSb\nW0VKA/oR7Glnqmi8wOO+95paUYqWMWtkDTlG9qBOXik4tNmkCUXsMKeDYwmy\nKW3qdSkT521ipG72EckuwUc1NZOsMEXkaiZrlEGlQm7TUbOK4Po265GRLxXU\nBt1lB4LMs7OXfpdOTdEIFNFGK+/g3d9Ys7Fl72D90zIfphKHFMw9DDx6In7q\n6/GSCnWA0uyWPLU0iW34a5kG2qwc3zI88HXJIQpIOw5gTARD2pW0a8MuT9l1\nSRSQpB+PtRlEVsuYZqFCeR6vr/Ipkcj1daiBF20DVYikKx1By6PI+WeFB9Fy\nY6x9\r\n=ZJxl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRFdsaIu9yJhIM+j1F8/hEiUI6zJ1dfQPSsQf5u2tFwAiEA6TZEcGyh4TGVDKY97V19JOiYk29PKBswoki4qh3Co8U="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.5_1524502183123_0.1379354691958441"},"_hasShrinkwrap":false},"2.0.0-alpha.6":{"name":"reactive-state","version":"2.0.0-alpha.6","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0-uncanny-rc.7","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 70+ tests for ~150 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"8b3eb0cbebf13d8549e90743edf94779b0e58f2a","_id":"reactive-state@2.0.0-alpha.6","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-4w4l1TfY3xlHxIRyRHz3Jb+pcawJ9NOM50u7l4N/y38B+wOxWKOwxes0ULaru476qSnTgxQtgUwR2zW7qhvN9A==","shasum":"54e3ff8bb74831a819fad9d5f52d14150cc39b62","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.6.tgz","fileCount":38,"unpackedSize":106790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3g+SCRA9TVsSAnZWagAAMCYQAJ9H3JS7TEEp6wFaVO9j\nvgGmcVxsSLHCBQlmLRKaFPmSR+X1i1EL64yLm8mU/STecYTSBn43ythu/PF4\nze6zbPi/jJwrob2OifluxWcsxQ8DfOgys9nPe8jEJ+jQgwjQrGimajFE2EAq\nDaQ16tQOZ4rKIPo+WIZSZmf/V8ywo26GVeOMgwpKVELgCx+U+/W3NnQqwjWS\nsrNsUx4eu1MoIbrMd9HMKVRXDGUrhfJNBdX8u/0SHLqOWyMFPyd72x3aiRQM\n0om849DA0s08Kp4nF0KdGNX4wMLG+jQtiBzqBVjIJhlcDLIvCqa4BcJ2y3cI\nHUv5Dd12w4jtn85hMT3jfPLrpU6T58nwQAk2Xt+A5pafARO7GBX/wmbfmUaX\nE7ip0oLUzTzC10Q9MR9woRx/iJTZqdJEvrvLQyjkG7EIipGhtSIXSGjFpcpK\nGxz5ZZDYB9idrex0uSHb8mYLhp/bTyS64GXoObWmc999uhBNvlQ/hSMogh6Y\nWvWiSGJ0hyRxfGyc2xM3iZVnC9+FemhyJogNu8umA28ZX85E8qobFncD0UxX\nH1bm9LsFIiTK/+6gZEKaMHrDETknwbB7fMqBH2XV+3fNsHuHZIX+zo9+xzdJ\npzV6SOG+ZAlBV9aMaymtoO366bmd6ZsycEpd/V7+Lh6f/nEwHTSEWbaetiWo\nSHSk\r\n=yNTS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkaREIBHJUMsTAfqp2mNpXhKH5fSwTrbYP5wS7X+h0NAiEAyC8oiWQWFhVLQ0q7BAi/biel+zsb5uMiYMvYdo8gO8M="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.6_1524502417405_0.2880454077120469"},"_hasShrinkwrap":false},"2.0.0-alpha.7":{"name":"reactive-state","version":"2.0.0-alpha.7","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"gitHead":"459ad74297404858fcc5d7d4b05c82bdb6017788","_id":"reactive-state@2.0.0-alpha.7","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-09Lp1cgAe2o6vKTEPpCC0RiPDuPPAsgCZVjTwVYsDDsMD15IPl4KH1ZrH5mj3Zqy7wJ9WksqQQ7hSulOVPaHCQ==","shasum":"79bde3a5c94e20154b706c0eb3c30429f0978b83","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.7.tgz","fileCount":38,"unpackedSize":107005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4FKlCRA9TVsSAnZWagAAhhYP/2P40seWSHFaPLzRpTSp\neQxJzR1BgA81FOJSXd9HdKFGte2+OfV4MlIak+CoWWUfw8keG638h0gOHZim\nNg3/SnzSW/2Eq2TBUA06swM2sSWSPN02vt4+IQ1vrRTHXCZ03sKpqRcDZPlz\nfWEpjmK1ofszTjEbE89KyTm/8yTJ0gkEGjfddG0rL/2LdIqil1pvoWDZ1FFJ\nYI32G61Y/Ykeh48c4jxV3PAN+hQhdNUFH1+K0MjiSiWBsWp60msKGhMZmr+p\n1jQf6jlx8LeSzE6Csfq566qMIXUTi4RnEiBdl8HOpiMd+44qDUr+jMZsQ+DK\nH36IVzBZzeM8QdoGICMjmWzZFc4dKUKGghv7Of/GWEALV/yG620Sp92HiMpr\n82gsUB3VNn3cY0S6dwZWpioC9fVMAhkHdd9TDfVCeOSEixyWwHgDA6nCLMbZ\nC4vRilNoYlYTLL+veOwsmLdEvPc1dyXzoScICKcSM0CElwNl5m0TkEE4pjXO\n/2QzaYRYSu39UPZJdyMHZMFaA8TTxkizcvlTmWiJjCGm+HCbx/1fyp6utXVp\nLHKgqx9Rd9OLfzoqqqolz5jr3a/4THU0fEOGnfgqkVFly4MRkEzzxqj04NPi\nj5T4n4ihomc/927PnKeyv5GjtMpB5MZp0wQxOIKoi60lc+stRzTVEVD4IP+9\nleXw\r\n=SNIi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICTmjYs/FHbr2J6dA6aZDKvRIQKEKhiTOlis0XV3CCmaAiAf5GmBf2Ef8KSkuew2wz2Rzqtmj+UzUfGx9+BSkbhU8w=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.7_1524650660008_0.2634792263672938"},"_hasShrinkwrap":false},"2.0.0-alpha.8":{"name":"reactive-state","version":"2.0.0-alpha.8","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"gitHead":"39d609b9d8ef663c377b54151a63c9e715093182","_id":"reactive-state@2.0.0-alpha.8","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-a/2CIbmzoidUOJHTggs51T6Z7U8RZL6/e5NyF7IhF0yReFDY8s+bTYC+9Fgufq1bUq79ZEbJEwpwH3/tCiMpTQ==","shasum":"c4bc75795b16cb078e569cbe8f9b5e2b9f8fcb8e","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.8.tgz","fileCount":38,"unpackedSize":107276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5Y+9CRA9TVsSAnZWagAADGsQAKR9L4HJOXlB+cGZAYLj\nn1vUFivVRnq4DwvEqybWnuleKBAnO34cv8VY72ygEWLR6t3a2o0pRrvcIYTx\nSbc3aFHYM9V1+KFXen64RM7GQetkAQn5tMafPPwhTDDzXeYXJ86guiwVUs5K\n18xpYTrG3UDANevGhoXcPT6PNgOilFTQrNRpTHim10ImyuwnOWofYdut8wva\nhMkdNSHOrFIC7s0OhbUsKjac4u1j1RHZI6NBhvstPbU6NOpbn51PRzOPrvwP\nMm7EbYkkRgAICpL2pKKLSdMLWF3gID9uZ2SbLfy22u+iMleJdAIzZl86UTQB\nWU3cfhUYi+HvKaq4pVzlVyzsSRlvtEDLs1YE2BDteE8sPOnmYCKA7pKEPedZ\nwypGy/diX4w9XdzY8Rz9QXAlrvOyzh5AgI4s0obLW88CVZTnhERYMqdWZT/h\nIajhN1vJLDrGkYU3NOq6+3tcVgMFaFTOd7qrEqsjzvyDTJdpCXjBbKGC48M4\nFl/VWcQNLYiBOnoM1a8Zf9t+U7mME3FhCv6PQvyaj5WkpPlSA55Jt0d8b+w8\nZkMU7TdzvZ7ATwez5WaO84GC6omuykx9bld5GVnMAnEv0CrW+v6i2Q/pe638\nhy3n5aiK28t06xIKIxQ7SVKP4gWNK3bGR0roIVFxqK2ExkNurIcvnPrwBI25\nwrvs\r\n=q9zM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsdjRSReKZWOzTkcEiu8uYYqjH4j+EsC7MtBEBUy7AQAIgaGR84ROVsJn3/S6ltTH2Zxix3Kh0SCF6vMRtQ/ZlZC8="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.8_1524993979489_0.8210549630705615"},"_hasShrinkwrap":false},"2.0.0-alpha.9":{"name":"reactive-state","version":"2.0.0-alpha.9","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"gitHead":"a4220e5b79079eb2a79a3e5d57fc7e7fe8608152","_id":"reactive-state@2.0.0-alpha.9","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-C1zNCJkYZAOmMgnEE/S7B+OiBIqAAcEuXd3iFSXDs/KllRfB1pRp/QDgbxFgskV+ZAiHMRejZg+3n/zPhIGBSg==","shasum":"a66c0588a62a29e2e22fc1548babd8eb533c34a5","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.9.tgz","fileCount":41,"unpackedSize":109681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5ZSfCRA9TVsSAnZWagAA6qMP+QCMh2CKQqeUAiBJwTCG\nVX9l6e0HB2LUgv7zwjpl2cnGJm+SsYvL9iDrFpMqshb9rfk7eaXZXLQCaEzS\nGl9BlO6H/wpv1zrExPbDEp0sxgyDl+TIKAFflh93Jt74Q/Ceh//NtIIpieT0\neDBepE/GjuCnhdUM/19qWCFrMR7WonIwDwHjS4K+aaQg5tmOEh0A5yU7jERE\nvaMqCRYi+lHcSGHjpwcE25OTltGwfeD6Vt1xHMQeu7vfmmldO1VnaW3r7gjv\nTwtYZvbaGy363zFfc5q70YW9Q6oU/MTrAT094jHAGJWh9e00PrhNa5b9cfKX\nTSUJYY9cIZXgNR5v9nL0g9KcN4YQeOKrZtRx8rVVqXJFYlaZHapT+kpWqi8d\n3UHonoKL72AWW9ZC7J0eqnfnWCZnDls+AlRVQJj2iaeOEoM4rnmZ0pPA8YHw\nsyMEIqLtNchkLOpu0iKyID9AeViJVmrnG3FvxqBGVs514VWRsb8K7LcgRZeQ\nnZysIoZo3rpMp4E7E1wSr+QcbJ7aPUJ+NyGEPWzv/JEqaDgmS9OqwMkA5iNZ\nMKCLG1zbAqJt/QuO97a3kkLT9mHY0PVHzP7DtSulY8S+mHfzNZIXCiJSaR5a\n6EBOpXN1YEpIo79wmruk2cY6rjczPrLvFc2/ClzZ1pj1Fdd5zUumBjhv5m/x\njUi5\r\n=pb8d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAO69n3/PhqmWReykGQg01TcBgpIEy5/4Q544Rp+hVYjAiAO9mHeFp0FUDWmNQliXKgNmI7jsSSFEHUSFwtZUTjkZw=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.9_1524995230760_0.023292644675035223"},"_hasShrinkwrap":false},"2.0.0-alpha.10":{"name":"reactive-state","version":"2.0.0-alpha.10","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"gitHead":"224944a13987655d0661164585a9431f1f561cf4","_id":"reactive-state@2.0.0-alpha.10","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-0DGCrA4h+HVLMhVeqH8hkCxjc5kGq0DBGbPMYUCqVpTp0gOD0vDcf91PbDLliEeobCEX1bmpYi44xZTysgvoFg==","shasum":"7a1f6707cb64e4afcbf0ef6c9ae9ac7fb8cfdc9b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.10.tgz","fileCount":41,"unpackedSize":110265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5ZxuCRA9TVsSAnZWagAAC2UP/iZ7ghGQChd/RRsNZRyM\ny+iZoeu2hUcpAhKOALX2QkZhteQZcHLI/FW7HGnbXBrzPaHiNstYrr80GXaJ\nTfMQPA7Ki8gtZL3iw17l4H91B3T2ycLCrZKykIYYFajWv1Fz80DcuKTgOENZ\nHlGiY8t3LC2bRFC6JVr7NTi5Aed8TOdS8pRoFW278r22BIWR9hmmJE0rACB8\n//ANUdR4t25E73RzhzFF01i8K8mTcMspJvb0/2Zifv4GBaHCtmiMwzaumOkD\n9QVgrUfHzP23DEHrrfeVA9CYIHGhCE/1ytXJ9nR64oMVtFNljPAjOzapF24N\niOjtrGBq+GxjCa4sBqNy2K2GTpVPHviliq51pW0Qy9Ztr5vQdin57izMOy0u\nN57ik48KaWHyzShRdEikTEdPn+Ii7VIAJMBKcy9cq7JzFBzVo9IiFI9Ipgxq\nNUJQmX6GEBWS70LmWZXXAuGK50QL2BZIBk1UFIsvbYJNiGC9V6e24fJ0TwpC\nOT4zqpfeA3TWFEjTuw5wULKRiEe2ufZN0zaN1AhWj8whP0QXAg56OtoGgI0W\n+yc2/3T1HPGFP6Eo25j1cH2vjJfSSoDXoUBnHpLjjfNU9ThkfNG9bqyw6R96\nOR8BsWHPt+4l7JgKlph07zTiJ/VW/2bK6QeGYsChDAP9p+QbkfXu8ODe0i7Q\nllbZ\r\n=Qtxu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZybujitY17UQEo5YLvBzWgR2WTbMwFuh9O4GOn5a1jQIgFsMDjNxx3uXZb2/U5zgGdG661UtQo+K5Hdozg9+ZSW0="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.10_1524997229949_0.5503505620509401"},"_hasShrinkwrap":false},"2.0.0-alpha.11":{"name":"reactive-state","version":"2.0.0-alpha.11","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 75+ tests for ~400 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"2d1532291ef6b2f5183a984cfacffb5045f2d8cf","_id":"reactive-state@2.0.0-alpha.11","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-x2wmiwDpekbsfTe5rA0v2x1234m+IcQonJhn8DtQfSXSzMm6IwpPDAvqdPyfR3dfUUfbLoEjSmmYoywgjf++Xw==","shasum":"171fc6ab20994bbacf6b361178ae5773fc82cfd8","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.11.tgz","fileCount":41,"unpackedSize":111927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5zXpCRA9TVsSAnZWagAAyrIP/R9JB7FdTWZSDUc7FmH9\nlBFtm2xGFIEdbRlcpCUSDNRU6P5jasqHTAO/Kf7pTXpWKJw8cQjQHCTziufE\nqWgU+tyWNSOeze0Bi+QhLy9WMYV9ltXlzm5HI3eghJ28dCzN1jLHmMDYbExT\n714Q/RjK57i3i6xmoj9YuTHV+YAyvMSg0aarVQ+80ZBSOp7DXZsEiWZbgXZ4\ncbBG3b32f1djYW+phMleLYV0pWxkiRsLdHD/0qLqnPIKT1VO0gZ0KLzKAE7F\nwFfSIErH7ZYQgrZMiUqI0f8t12mQ29zb/EG9dK1RvM5J7BXDoSo100cKgYA4\nF0k8qvjnXy0ZSZnKrCb8Js0rRgWgTMh9WMXv0DXEYbLou2rw/WqkANtv9oa1\nGb33+3Iehh+kfetOO9IuqalW2/puqS7UbqkYiLAKLJuczUik12Sqeab9FCKG\nIuMPpL2rVFhRr0pNYXzzOipI0jovGRvPJl8opilojd40A3oFqFnMdltDqXJq\nV8aguNub4BN9IWcDBwghwciODifnAFrENOv3Ai0zVhOeR/uMpniCpbiTTUfQ\nkxApopGu5bVQkPJaXVDWhUSDph1f5tSxxwGw6tCI7W/6vlMZYuFe9Z1mI68K\nsYAMxG8FfolyptTAHHHekLQYYIvIwIZQNP+tMN6K9G+fUPdWuKs/maVWYod9\nZTic\r\n=Sutj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC21noZ46VKQdyMPfJiv0VMxoIjhneeg8eCy7E0aT2rsAiBpL5QynofX7RqH2eCRbKBO5TtP72VJDS289UE+7lzNmw=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.11_1525102056850_0.0000687351222845578"},"_hasShrinkwrap":false},"1.0.2":{"name":"reactive-state","version":"1.0.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isarray":"^4.0.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.5","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/node":"^9.6.7","@types/prop-types":"^15.5.2","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","request":"^2.85.0","rxjs":"^5.5.8","react":"^16.3.1","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.1","redux":"^3.6.0"},"gitHead":"f5bf9f42d7dbf6b0ca1eb5e4fa0f8dd1f1f04763","_id":"reactive-state@1.0.2","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-fw700NTGiprc8ML7SDyuYxKrzXQWs5YO/1DKvb7R/8jI33GPoksTRe1i1PST7z7ZA/juxcFNuuyuOAjdEmSotw==","shasum":"fab36c65ccf68b4500c612a794f0ea565c7c0183","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-1.0.2.tgz","fileCount":35,"unpackedSize":111864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5zbCCRA9TVsSAnZWagAAm48P/iG5YGlba/PXZEWKGo5e\n7Gbcpsz6z6VQjJLDNaQTo0jc15SnOWiiI2e1UN40c/1hEWIO8IfePWHhcUL9\nA2jNe23QF0nF90ecfaavMMA42BuFnqH5MYbHyO1BBiv6ov547parjq+dP+k8\nNFzmyxdXblnuGhzAPzy1+XR6ptRHbDIfnd0XKWbsoWOgnbTI2BxCd1kMg05M\nnAbSTT8JdbQqdHORJiv/WIxErQT4Xsfj7y+j95ZHO4VVzs8wxhkvR5YyynCo\ne4dykTpEwfR63rsmKaTPxyNuqwJx/rX44OOPmkrYbYYggjnB6nFhmS8/O/8+\neXLzQw+X8kDlTIdKKLWZPX0RKrQEv7qeb8pfvNtVg65r7tyrxH5NjhICoI37\ng8tu2uJnSK31TfEahAmzrMxhvEKOUA9Ms/GHzMR2nt5RBx3AWRd8cF4NLali\nq0PdFXRqzM1QpL0lpaUw6pGmwAPIGfd4KaWjdXtb+qe1b93Pv/iHBFLA8HoE\n6GA+RYpFgn382HryLdQ46cNLtxLdilMAvE9qlgCSCz0cINI8u9NKFh7iq0Yo\nDDTRv25ogSHwYePujZ6qzwiGu2aEm4qZ/tKWW7Q55NF1/MoZxCpeVryljjNE\nEm8Ob7pOgOitiiZG6MyQF8J2sbaPCoQIE0Mdy6KzhAfubqya7+BvZrJ9qbAT\nHVc8\r\n=Bimx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmlAc5SA+6Vbo7ZeQ+JmXyrHlfR7hqOT9xRODE9Q4l+AIgJKPiXF7qRnrQ7EY9QHpYUAO724XWnbhf7cAzqPSw1CQ="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_1.0.2_1525102272790_0.15494184327685723"},"_hasShrinkwrap":false},"2.0.0-alpha.12":{"name":"reactive-state","version":"2.0.0-alpha.12","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed asynchronously leveraging RxJS built-in operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily tested, 75+ tests for ~400 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"dd3d6ffe2a6c32b945b9e90e7c8554e9b58172ea","_id":"reactive-state@2.0.0-alpha.12","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-HKDet1iJgGyuXW5eloRZ1yNRaFtzIUhD+0jlbIWcZPhWePtitDKVSO0Wnjt1aM5QwVhv/5lB4CVJKO6umXHOEg==","shasum":"011d9bcf98fa6dc21777cff55233ef3ce0acd501","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-alpha.12.tgz","fileCount":41,"unpackedSize":114070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa50x7CRA9TVsSAnZWagAAAIQQAJz1yvv49XPCzBgu15gr\njKi4YEhTsp0cbFX2lfck+GyULy8V7kcS6itKlcR9IJRXt4sIUKU65DNaOYz8\n3RkBlnEzsrlt0Ez2VIJBo1+AXsif0kmhMaNciaDQy/mvpHXvkHErz9uCSi/m\n1s/WI33VcUpvoDpZJfVop+RCcnhVgxBNcvNfV3MuVxc13Tu4o+VySb/P+kM7\n+N/5Yb0lkj5kP4zjkscfz7yiSz495Nxegfhz6N05jsVoJP5LLgTi3crA0Lks\nKmYARcZcsGaWSsOt1rDm3DLiFdBjkN03YyYf2JnWU57tza15VCmgw8OVB7YA\naaeClf+E5uYBJigAAM0nuD/DGzJ/ANe6Y8YH1FtzYXoW/JJfRkwjObPCYvr2\n+1YoQ1MvB3EHcG6pNFpz3fFNjGRrutCUxDnZxXQ30GdrhZ1nT0WlbjWEAN+g\nrF2dsFGd6UE7cVFKIdHOJAJagDgJeIsDGEazibc8RQP8LSVCqg3bOW6g7wC4\nerwYxjNLACHt8um5V/71D9zVIGTv/Ub0+dOrACLd/YU+Iq7q8yph6xB8e//q\n+tlxhPFZeFThrP4Ty3iBriuEKyKm5q4AtlJVrMtHbHUNBbMtEaLYjdrdD7t1\n+3UHxsetU1/EG5eF6MUJecIvcK+wdlFM3WA7YN5scT7+9qppvLNHE0fiCjNu\ntazb\r\n=4u20\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9tf/cmzJ04LS71P+8A7Bfy5vnHYfEwqn4eGlkM6UsJQIhAKvsUKt5Uq08rC/nA0UJpMhZlXYBD1g07C+ubqX/IDi7"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-alpha.12_1525107834284_0.27812882189626875"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"reactive-state","version":"2.0.0-beta.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"1d4eaa1e8f10477ba959a1ebc157e29b84af29fc","_id":"reactive-state@2.0.0-beta.1","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-Xhbs7b+VmS4o9gO2jH39g9qpD1LXNL4+m7cwPVd6w1c98merdHNLru0/taTjbirLPAzgu+pNPBSxIima2n2pvw==","shasum":"31a071a3f18b40737981dcdb3bcbdaab75e9e396","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.1.tgz","fileCount":41,"unpackedSize":114546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa544mCRA9TVsSAnZWagAAxqYP/RHBXD84CwjAfTfTanaA\n91PRrgYde6NI65hoq0CNShSvuj1JS57BjrqebUDcNNS0VlozUMb+TQ9Ye0DW\nzyYYslC2jZwJrHsKfk3mttP6wtK6MvIpKrGZMyXRr3+mTFeKJ1IaknU/DGPx\n987yyhqIfk+hAJbaofEYxTYERYy2MBshKvarJdoICr71oGOfzhMsBg2+Q3/L\nusCxnG9QEORAZbQSkXkj7bHLfAcQsQ2HSCzjU0AJHnWbsewg23MBoYRYND6W\ne1luN487nVayibxaEvuJmumezNqTIA+H3604rwHp/lBVrnUJEa1ixjkJ4IEz\n/IMIROIgmVw7kwTs4ABm0DIF6jBs921Fmwb7tamwU1RD9rafRBdrrIWBA70H\nPCA9hvKqmaEG3qck85k5y4F/BgIoKYIWfUcBwbuAc2U142YbT74Rroyzt3UX\nywJiRlO4u704lgZYE90vZd3/XBgF5qbOkygQq7WKw2jMluhiul9rPirRFd/t\nrHiBOF4KKVAdn0hgIGzRgFRK3RGczCpAJqW8aH/aujTTOJDdCFZeqlZsuRRa\nsuboBXC8v5MS2ZHkF9bNl3s/yfavuE6u94MZIYbWeqgGvzMOCZ5pLvw7Oivn\nWKF3OoT2pe8AYeml4R2LWJBWoqhacd5MSV6MdKNQjKopd+VhmobhG92ClAE5\nXR3N\r\n=uj7z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjmEyt6t4Yi5Qssuzg9XjMv99jYllN/H9Kn5xIAaaGhAiEAhBM9Nz7Tmwj3ag/1u4yscqO5s0IOFzkapKRuPskqpBM="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.1_1525124645772_0.2947294479893243"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"reactive-state","version":"2.0.0-beta.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"7a0a1e98da5dae5bf8f31ae6c217cc74a281b13a","_id":"reactive-state@2.0.0-beta.2","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-/159QLeNCjVT0y5/Om2GG69sYB/0D7HCTwZ5PgkBo0d1XfnddHnKPGe3mImk3Jp+uhHsEvrb1Si+LsCWOBADXg==","shasum":"2f43c7e59bdd395dc466d87db3931122ee79ce4a","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.2.tgz","fileCount":41,"unpackedSize":114054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6DRYCRA9TVsSAnZWagAAc+cP/38nWU62Okx/QKux18kE\nTDU0sv1h9/OQIUs878H8ZSHhBUJhSYxzUj4n5x/04ezpSIq9nbPz39CEx3OI\nRICq9Z5VzYPGtD0KMMF/6ES3JO2BZ96DR+FOYh2o1A09Whvvw9yh2Fa3ZX74\naiTUw2shfxJnYiYPbtm4F3O7ErpzGoIFvghzXCV6DXLOSz5404pGo4BA4kTq\nw6QxnQGTpXuM16fzGjKFqT9FqpDaQhrBUkXRM3gMRHiPITsioqlUC5HHUaSC\n7Exi4mEma0BB6uDvzLQHDz/88iBlVMVe6ps0IzBsBXvLRMHIPi8Yb5MXW/6S\nQ63l7p4fVyLmCSIY3YRSBfDGMmOGBjDJuZBjwEO9eOwrhaF6gWcSk0ZLILx3\nVjMGFwbAI9IdiD6V/VRhV+wGhGWsS+5bz0vDTWmd+XSlrj4Bszn85vq5rR9w\nuGXXspHmO7onaLN/1c5C+NhLqorAh4A/nbtqBm6FPpDeJLMRz81JT4JWVtT8\nI2B6ba05TDorWdcM4WsVDqSqlcPbAoknbvlRXV6TMGj2ap2qjDM9JOdKsd1c\nmH6GgRV5F6C5VQK2T6NXc8dtmjGiThla2Kxfxa58dfNdO8o1vgRrME7RTeXy\nzLSkQn295Vk7XYCf0BR2/hx0MizRuTibIGGfzbTGviZ87hE4cCnVUp3YGc1q\n4PrP\r\n=EhY/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuf87DUuRWJbjHiptFz/x5YfEePLdsAXVHo2WeWV5B/wIhAOc7eHYtPPQs3nDzSeS900S/gpxs03DeCpEfMroLrlUe"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.2_1525167192137_0.6258718202250073"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"reactive-state","version":"2.0.0-beta.3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"53645108531f016e5f1e563c8129d1a657552130","_id":"reactive-state@2.0.0-beta.3","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-lcNi6nWKe6/Egw4hyftozjPXFOSK+z26/jAZ3D2BQdrz8oTL4THPtEORxhcCIfJsDnDIeC4ZZ6BCPoDM3RDd1A==","shasum":"f2cd4d4f6bc394a61f3a1756934bac1dfde12cf2","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.3.tgz","fileCount":41,"unpackedSize":114251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6EzXCRA9TVsSAnZWagAAFFIQAIw194u2mY3RUo8UQmM4\njXSLXKnkh5r6AF8Zbzby/nUqrYMVValIB758dQc02wWSzcssZ/dw9xFZzMau\nBr0Wi4xL4SVOotN7URR3K1xP7kEJkUM4QL5kyBXP+bXH+Uu3yQ9Us0X/soeN\nAO2IfJEuNT0HBsUv0tbDVVWPDz5v6FZfbgFjgP6cKzEH4OYKfKkNnS8b0o8y\n3qgfrEB0xXmxx9fQ4YE+XxPtk6XmPkozatjuNbPm9Yl543fy2DtFcO35f1Vd\nnliT/raRGRApyc1BrNp42ybDxWpoeSxqtUXS+KOPdJzWF/uBh1zgBw2ehb9I\nDikuN+A+UfehZpyYXOmDjZDCfTPqbhFZOZQjxudX2U12X28eOir9eHXIFY8E\n7D2GXDT+K7N1/1hxXVFLffFL6OYeW3c3fjdZK0crk13UVsoBJN4rh9QrqkE8\nG87wKhJehmkHHUtNPmNt+FKmaHNUgF1OUeZFsWIDZXjooQ0QgjS54COr4dkQ\nPb5Vz1cNgepKUZZDo0icUjnP/f6Pr3wRlHt3eZAoy9kXrJLXNCiIjsewqPao\nja+TKW5QQcYmYU5RMlLHnTeHs7GO6N49/aC5n0+tOjUqem0o26k8lHyHlgMx\ny2h5BT2U+VWDuvBDo2hJ3Gv2Gu6fg+4+0ptqoFOKO5LYn1vqXzUUqWTAPAC7\nGfpb\r\n=kJ+W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqHleuF9WiY7vGJFjNayZm5PUUP62xK39niEx2SjatdwIhANzCoH8JluNT0Nb8mC/lXUC2cMLOv1Jm3AWzXyptTjf8"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.3_1525173463080_0.8509085382045121"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"reactive-state","version":"2.0.0-beta.4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"29426c6de5af7f90ec9da2f73d76586d4168b029","_id":"reactive-state@2.0.0-beta.4","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-OmZb74oUD1VNfdwH+iBHglKNdOKZ6ewBjx9eKZ3JIG/t9MhFMwH91xjRGtbJaGoMAYoaS2M1Pkfqs93l04Gm6w==","shasum":"37c0427930241e676c5315d4ca43979cc317d14f","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.4.tgz","fileCount":41,"unpackedSize":115626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6IQwCRA9TVsSAnZWagAAAccP/RVR2BuP5yflO8l/ZuRA\nyPgja2yJM2IKcA0eALI1ZrnYW2X5GW8HZuFLhXYQUKqgCLXD3lOPVcLcBnM+\nn/TzYHwE6TrkorGFtp9wQ2+v6R6/i4uBmRvg9ijqMAWqGNCyOfCQKMoVxfFQ\nciM5ty8m2ud+rWOsayoKOIK5kAB3KLIWwcpMDf5LxqUPiMoHaoiyHtETWZ5/\nyZaln/y5Kvjz5yrrxpCDcD1xMLKnxlyUjseEu0JK9KZcZV+XjpGm9XN9PLZX\nANd4gNl58P12ZrL4wShf9FS9TUNA7vHN2lEPzUGozfWSqT/vcBS0FBrcEGoi\nX1ZzyEnyq8ZusXEf5v2tlndlmHExBHHkvAS8WQnkviJAmQnjDxMUy5vtDUmS\nm6+N+2+OFrCESAQsiEcjxf+QKVNcXeL2h6DkbpuJGgO4mR4Ta+hUtPWJEkt1\nHP+IUTDLE4GuzHgpLEjjZ5GXb8jwI/a9TmI8SJnIhEBtS3256RAyJcImwoUF\n7JHUZGx0OI5k+C3g9gZG2rz9qUoxok8xyxH/H5G1z0vLCpngpKFf/Ci/kX3N\nEX8834Vr9wA3sh6R4Ogtk4CEEzeNK1AyHmcLWKQGp4vq+KfdJT0KmtHBnGym\nSbJH3lSrmQFyjM0zhKWeHkZ8obcNGuzccIxECV4o+Oe+yQ3ohx8ePIiDnMv5\nW+Q7\r\n=DcFV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA9dK7khsTkn7Z8cWbsQXrefdHLPJm9w5AYmfIsWPFFPAiAJcon/+7WQc619EmTiLKubBc9qtLfC8KXoTeDsbS5jLQ=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.4_1525187632123_0.8353134097099932"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"name":"reactive-state","version":"2.0.0-beta.5","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Reducer, Action } from \"reactive-state\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = {\n    counter: 0\n}\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change; we can simply\n// subscribe to it. The second argument \"true\" will - for the sake of this example - force output\n// on every state change even to nested properties\nstore.select(state => state, true).subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately get printed the inital state:\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects, but could also be plain Observables\nconst incrementAction = new Subject<number>();\nconst incrementReducer: Reducer<AppState, number> = (state, payload) => {\n    return { ...state, counter: state.counter + payload };\n};\n\n// register reducer for an action; the string identifier is optional and only used for display in\n// the devtool browser extension\nconst incrementSubscription = store.addReducer(incrementAction, incrementReducer, \"INCREMENT\");\n\n// dispatch actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// reducers can be unsubscribed dynamically - that means they won't react to the action anymore\nincrementSubscription.unsubscribe();\n\n// Now, here is the more powerfull part of Reactive State: lets use a slice to simplifiy our code!\n// Slices point to a specific property on the rootState (or of another slice). You can think of them\n// as \"views\" to the global state.\n\nconst sliceStore = store.createSlice(\"counter\");\n// Note: while the first argument \"counter\" above may look like a magic string it is not: it is\n// of type \"keyof Appstate\"; using any other string that is not a valid property name of AppState will thus\n// trigger a TypeScript compilation error. This make it safe for refactorings :)\n\nconst incrementSliceReducer: Reducer<number, number> = (state, payload) => state + payload;\nsliceStore.addReducer(incrementAction, incrementSliceReducer, \"INCREMENT\");\n\nsliceStore.select().subscribe(counter => console.log(\"COUNTER STATE:\", counter));\n// [CONSOLE.LOG] COUNTER STATE: 2\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":3}\n// [CONSOLE.LOG] COUNTER STATE: 3\n\nincrementAction.next(1);\n// [CONSOLE.LOG] ROOT STATE: {\"counter\":4}\n// [CONSOLE.LOG] COUNTER STATE: 4\n\n// Note how the ROOT STATE change subscription still is active; even if we operate on a slice, it is still\n// linked to a single root store. The slice is just a \"view\" on the state, and replaces reducer composition that would be used in redux.\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"4cd13caf2fef9cc31cc3b396760ff57fae63f5f0","_id":"reactive-state@2.0.0-beta.5","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-GICV6AU8zKbm3hxrPmzFc/E87/OYf/nIiMqagLJW+vr5DmUkbqLdAWblsVFAq2hx79+9KNFv2BRAshz51Ei0JA==","shasum":"8a9496d0da9624776272602e8440e88fe3de84be","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.5.tgz","fileCount":41,"unpackedSize":208314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6b0qCRA9TVsSAnZWagAACD0P/0oetPEuImpZraDfHUSr\nb8tk265anXL/WWtNeIBARe6bQo2jphiaTFGwRzHn/HXFpXfvAeUWW1R1Yj5a\nL/4eFpbHloLH+B/eTv13cS/dVz0eTBzRdDtIpgk6/YXAtZolHZv7Z7sfizZ6\nudMwJL1lTCURhzKjUR9g1QhDrnFzqmmApUumFYEaf/+ad/Q+u4eHD6VnhHX4\nBdPQtYj3zTPSH2YzwpJsKz8s67TCWFpubCZI+hWZUCTKoFVfsQw9Hceuma2f\nNLZAaea3wYs53BzdoNV9OLNoNnxTj2xYesg9aFLHN+fwVE241kMbVP3Sc8ru\now0f6zGVvS+jfu3iG99wFc1icO/5+cXwjMsXqSDStRGxo2Mr9IwKZ/cZLFQg\n5kls4Roqp2AeffDBs030hlUJboxaImpI8fMy3ia7DSRm8wTy/rPmfZXAVOaj\ndw9MRbxFH3ppenw4/aLQBE1AMNjLSxc0/5QhM08XDrBCScmz0XOHIOfktzhC\n9tItJzXqOifYUZZUrT9HmKG0c3WlYfaglYi2xzRxaGlGYeOdCXloiorhG6ju\n5tY+HG8GcaByK4JrUbockK9VcmLc6pP+hx7cEo+Y/lgZ9zlyUgL/WWHfY9D5\n7AXKFDWpV/AdE7KfOkhRVgP2Ndk5MeXUv1p9fYPcFyyRCHXn2ENSf4rwxQkS\ndmWS\r\n=qXVX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQ3A6yfVB18lFp2poPX16D1rKDk7cAqw/weKRZbyKhnAiEAx+uNkE502hsRDZfhV72ZHr5eirPsPGjzZIC4JFY5rfE="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.5_1525267753689_0.6438150074335853"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"reactive-state","version":"2.0.0-beta.6","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","hoek":"^5.0.3","jsdom":"^11.10.0","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","react-dom":"^16.3.2","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","redux":"^3.6.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull in lazy-loaded application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 95+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install --save reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Action } from \"reactive-state\";\nimport { take } from \"rxjs/operators\";\n\n// The main (root) state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects\nconst incrementAction = new Action<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer (state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions!\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS:\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"5456d09fbf23861b5fd7c9a025eefb38651d3174","_id":"reactive-state@2.0.0-beta.6","_npmVersion":"5.8.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-bMYicahiD+5hNuih1ZfkWmTokhsBQFbFhmCq8oM8N+ENFQeZjsg2nPegIi76b5AAx7ItvoaLOsZnkLvDo1EwaA==","shasum":"04a399cc4c72611758d7110505749382d06aa35a","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0-beta.6.tgz","fileCount":41,"unpackedSize":206228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6rezCRA9TVsSAnZWagAAlWMP/i7LXymry7dCT7Hx/yzI\nqd+OH+0HSZCEyzY3EdkgwWNsbxF5/aVbh5l6M9a+uV5Md7LrkP/paBLMBrhB\nCmvNPVw9QTFb6BPHP5ka89t3bEFZBa9iWAgM00MHikJWU8Z11gYh5JHBqDdS\nTLHZQtTbB52KJRttscldIvs4xVBmJPeq7mx6tCkeHE1LAyIu21N86Lz78BoL\nCgjM7x9wuCbG6m264+aozBW9T0G/a2RWFeJ6Sgx0S8VsoqJ9aOjRM/ryhnob\nEezo8YDqUbykuE8hsf/ThyqUjOHxB1vDby6L22pI8eDq2YSwOKc+GoYDHQOu\nwIi5a5QbCudeuKPs55L1cEFXTeSfDkNdZCPtnMrzcqKP0dqL0v++CuDeWr12\n3S7jOvcnks6D0Gi+FdyprFdKroPqRJBMfBuKPC1vjXcNM32/twRdPTBPoGN6\n6pLP6SXSrGJPUmfXR7BxUzDsLbLc/m2kLASODUkWmrluOQagIeN8VlweN4Q0\nJ/N7qxIoJXiotAvXRRjRxi0d+faZg1DBslp1XzPo0JDEKrQJHPUPIzeJZb/Y\ncsVsEdz1qqpfQXg3DuiDi6x8KEKO9IphaqiYf1ULgiWJZMdy4oOLw5LVvXci\nrj0Z+VYe0JuhNmwlFuZkAhRT58JhII5zJt9Dq4fvJPs6kiV+ipIBmu08bX6E\npyTp\r\n=MqNv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiPs4eqs6LqkD+ja0mgcwVloNDnDq5oCRkmL7XGxQGIAiEA7bXoCrPeYHdwD4H+x/FZnLeMhsYWp4B0vXtgJ+aJyPE="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0-beta.6_1525331890773_0.7305352728393815"},"_hasShrinkwrap":false},"2.0.0":{"name":"reactive-state","version":"2.0.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/lodash":"^4.14.108","@types/node":"^9.6.7","@types/prop-types":"^15.5.2","@types/chai":"^3.5.2","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","@types/react":"^16.3.11","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","lodash":"^4.17.10","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"gitHead":"8b8938cd9d2f2a03334df8313b79458a8f0334a6","_id":"reactive-state@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-yGaMJP2x5R2Tt7BfiEG4t4NeXmf2AzsWSlrcDyEs68PWVOD76eclfXcyQd59jHGiONTHw7dBSn9uQ15EBVPqBw==","shasum":"ff7e853675d3bd3a9fb24801161abd7518abae8e","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.0.tgz","fileCount":41,"unpackedSize":206504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+/kCCRA9TVsSAnZWagAAToYQAIewDbOtWQfVZVjVqHbg\nahqK1wvBfu9xYYd6CecA28D9bKLLtG9x1rtptD7wnGrVLjZEuV2SA9+6XEho\nuufqTtv7iN2YQwuk7/UggMFrLesAdqIx1LsDev3eyTh0hbg2RCCzOExQehcW\n03Xith0nt5VS0iELbrapZY6BDyjrQMx3Pi9qOXb98Big6n0gfs5a5yiqRRQM\nkbf02e8oluLVXHjKJLivUREWRXhO25rFHXYlbEnbzgfpfcONX7Iea00Tl8uS\n6y/iIZDAssNIIvBqG+WqxQOtcs93TX6s5yqFCN3dUJW7XLARFokYWkvGxxhr\nQLrtkUhybwPT6tTtzgnWGoyQyWdx3W+BQ9nh1/2YRc7T0NBRCou4LhwiVoZx\npfmrYytoDiVX1KeSqeaXqTqSVhTdE5Ihi2373URyxyHkPJssFFhk5nxeGq40\npwdBMi5HwoLwTQo/BnoRRFEu5SUjX4sduPufmvCML7fnLkMioH5ElX4KrBvt\nh744jINWso4ZmjpPKWQbSV2S1M3GTIxj44AxC/dzXQ8Fr6aE2rEt7OH90UJ/\nTTISleZtP+LpjOR/cI8eg+mwr/WhJjxvHE5RxsqlFI+9q040KA5FxRKPNwIV\n9XUMct6cqEo/YB+2TXdc/+IRHFQ6NIyG0PcfGL6mmrqmE4/d2T1C40pRX46Q\nNfsh\r\n=HYah\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6sZwN0iN/I/oLDlRdrkit2k+TfI0n9zNTjb8vuas7qQIhAIgZultPv/+HVGtoFznpFY9fVBuqIj5FQu5dr+i3NSM5"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.0_1526462720720_0.3733515917513306"},"_hasShrinkwrap":false},"2.0.1":{"name":"reactive-state","version":"2.0.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/prop-types":"^15.5.2","@types/react":"^16.3.11","hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.0.0","react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"gitHead":"99cf34501a7d03fe79fc699417267912a8ac3e1c","_id":"reactive-state@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-DmvONm/carGUuN15jGxLzXgax1OaIiXD6MXcfbkwDWaVEk5UdXeFUNOqKCiLszmz93WNm/k3aTY4WGBb0OcvJg==","shasum":"f97f2b57b73ed355c3c48951a0ab302b1e2e3946","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.1.tgz","fileCount":41,"unpackedSize":206443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/Fa8CRA9TVsSAnZWagAAdN0P/0B04Hs/0pqUEDdhsZey\npmdbuA0IpBMuUiqEI2Sjvp9CBIaG3sPPs7pfEXpRH6RwlDd3DDSs71FKOCKB\nlsoqdfvEEraSDEhRZ4W5hB9dnPCVUOw9CAU7JAM9Utki5G13ziCvYBfuUWUk\nbOTOEwuL+XTN2ExcnGSoXfXz8Lu9sU6Oul2s6Z8HEok0zWcvXlVkeFXJ1Zsq\nkmIROu2C+gh6b9TOZpNSjiVBiERlPvuyysmRy+FoaDnmjECZEJSZKJDOPxMe\ni6G+Yh1zRFbuA7SkkB+09zSPoFrKPF9/JsdKKRaRJ+KVlOdhVRVrSoHib8hl\nuy5lMSiq/xhRvjV58Vcrh9etXUQ4jpvl/V1G8uU/uQGxhfEKfo7lG34oRdNc\nHmaNgvurNFi6YnG9fn/sxnUOwY6gnvRYiL/qnBlj6CC0+QT1hHd9CBF4gJ2o\nLC0jYOtIwhVMJ3eYhIiWFtpMehb3P0EwKSnEVMOdAEDPNZYwQLLnc8rJmZEz\ndiLztpZtxt600VvVY6eGs7BrgNgpWEZ+GF0XGXxkqtLpjoHaemOCA91wKHbU\nZgWkk+SWmBxJA7fAv95F1toMH+jrKJkuhDmjj9lTRq6gDrG91hgheAy5LrnT\nKhdO3kDLnGWfTS4w/DKHHzvGIaf6T4e0e9pHSZ4vKdfTRP4h3XGQ1GUEVjGq\n6VFd\r\n=IlDO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDV5yngdpHhv86Hbp+Q0fXZtP7dKgQFReZ6rPFp/2S69AiEAp6rIw7RNQP5I6XBOR8DISnXiQxYiHm11DO5WHSgNJJc="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.1_1526486713941_0.8325599863958717"},"_hasShrinkwrap":false},"2.0.2":{"name":"reactive-state","version":"2.0.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/node":"^9.6.7","@types/chai":"^3.5.2","@types/mocha":"^2.2.41","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^3.4.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.4.1"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/prop-types":"^15.5.2","@types/react":"^16.3.11","hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.1.0","react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"optionalDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","redux":"^3.6.0"},"gitHead":"92367ddea577f43ec829963a0aa7f6c5ffe38737","_id":"reactive-state@2.0.2","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-RcFXTp7EWAozg8R3Nw6dE/gswa0QFjex1YGqJmJZtUr+iM5z6ysFzicphS4FelUE6nVYnwH1LrzZh1u3M7VoRw==","shasum":"4da632efd3b1ef25cc5c61e5c341e2ed78658a07","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.2.tgz","fileCount":41,"unpackedSize":206617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/GCYCRA9TVsSAnZWagAAsAUP/0jfFXv27285w98jNq+Z\nWWiZz+zeVNoRyR5pKttJUt715hYmLHp7mFadFcykQGAViSl9M/4Gt8XTZLXg\nBF89snIhhN+SAJjoyS+YD9PkIwV++ZsTVSgKAv4MJO82rAwVedxi8htqgOqf\nYKYoZ6h5JDX5fSySr9rcxGK96j/Ce8qlrlOkjyJC+q9eJSRkDd8NVg2+z1YD\nDj844C1kwSaPqyz0zq+y2paYLdccF+RfZodmUbEN5qKcEYYh8QCJSv3fVsuY\n5e7KN1Wzpyg/+tdQ829vR1yZDY1uYpWvbn0jbPM5L6MOcdMKMqLrbV8iPNBI\nt1SawgpVGZjWuqQoVowDVzZ9vyRaZO+a/5TGIGxpg7Bj8/xtfWoTFJh8z80X\nWYzT/+0kxNf/Vce7VPfn9m2mXmi+jQEB15qo2fLSs1A2RpcsZDgHRtXUp1zp\nyNRonNtxO+xvBOz+3nIycn1T7mywkl90s9YrlewSW4qcHBc/0OG29hf8OuKl\nzwGdYBQKvFyiQefSCAgCra3vkXjbeOent+GtYNpS2Zrhw061nmSLrEkldtzo\nNbnC1vHECMhzvvB48BmUizPQgEnUgOjzjAsyxgfaXzvw4ZkHAMWwGEGHQm7m\nuNsyvB3D3mG8PSF4+IX6ntrVQFJ07XoZcVIqdfQX9+b74omrrADWFcnjvSNI\nmhcf\r\n=Fy9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeFTLbNGD0KVL+MYXfQBt9Ffqta2zcA5lfA6mVLTHd2wIhAPjsspx4/mVa9sEbYD40imSvOTpwbICoknh8gOMK9BC/"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.2_1526489239627_0.8415961151080464"},"_hasShrinkwrap":false},"2.0.3":{"name":"reactive-state","version":"2.0.3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.12.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/prop-types":"^15.5.2","@types/react":"^16.3.11","hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.1.0","react":"^16.3.2","react-dom":"^16.3.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","redux":"^4.0.0"},"gitHead":"656284a472459e60a0e94a50c91073ad21115450","_id":"reactive-state@2.0.3","_npmVersion":"6.0.1","_nodeVersion":"8.10.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-vRMF0mITis8HGwvZs9jUwndrrYQcPRas9W3FbDLkKtW3Ntif/osLjHVcm+ULS8YtwPhGQSL6Np1TLSdb6owMdg==","shasum":"9c8e6026a07190f4312b8462bb0f7df7cd1ca1de","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.3.tgz","fileCount":41,"unpackedSize":206613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbC9nwCRA9TVsSAnZWagAA3PcP/RKjUOj4KU7BzJZbZRr9\n2elwe+G0jce9wbyGlGUcd9+dl5idrtVQ1ZRCRgxlz7DIIMFlHohsB2rbzAly\nxw3zQEL9WOtIew/SpjXKxLVl/yMVAVfVnQNC/a0O83PcbC+nrEWA/sgR0Usz\nBAH0Wi+bOqpwGgUToOdiVrg0m7TyAr3ZLP7RmAGu9EJuL6yXY3GwqvIulUUo\n9bPSheC1H6iyGv4tyG2nWvw5Z1m8eARupN+FYfbpEG3SL8oYjQPyHlHcr+29\nr7ReLyfWMCBv5Ym2JPFDOcBpJ545wNLOGhwGAJFT08QcbdWMAOP1w3ovLeqo\nY/ro2ZmF7Vusz6vvrBJz0kfoY8khBsUMEhG0V9HrpKjdkDaOCuRZ58dF5Lf0\nD96C+w4nAkZyUZ5WbTrW5rxmY8Bh9u5R5E8JHCoHbElHqfz/J3OugOCd/JRk\nC5xx0BVXxz13QJk9GRrNWdfeM+vCq5Azybv5aAloyuEeWXS5qshRdRaPk0Wk\nD7Q4Sfnf8uBs8f0Kdr9w9XXkX+UvoYUOuC2fgJ5SYmGk7YBIW9I5kyuUomSz\nCO8t4b6nXsm2HrUZtV6xvtk9mkxI/Xq9RLkOg6ohuLL6Ox02V4gjrE6OlUiE\nDsYCroitvqrkQJhdsDWLFGSBTKES4+uRfyT5bt0WDwFB3xqXJ06788SnZ2Vw\nGkct\r\n=n6Es\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPyFhcz7+V/et+aJ1QFzZdXwQgpuKehYV2xLLFupYqGAIhAJI/wkmE1kOKq9oavvfkJ9XrPKLG5jQYSei8/TQEGk0n"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.3_1527503343689_0.2433266230979918"},"_hasShrinkwrap":false},"2.0.4":{"name":"reactive-state","version":"2.0.4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^2.8.3","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.12.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/prop-types":"^15.5.2","@types/react":"^16.3.11","hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.2.2","react":"^16.3.2","react-dom":"^16.3.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.3.2","react-dom":"^16.3.2","redux":"^4.0.0"},"gitHead":"96683eb792c92410c15f281a108698cd3ab9be84","_id":"reactive-state@2.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-pH2de5eChlVyh1DE0sBjEwZ3DFogWtCErEdTTu/0+N5M7HE6aqC7g12wXpCmNtb4JXjnsWft6iVsZOULfUvpLw==","shasum":"1f1595384a45c565afd6cc286d228ddb21b07e5b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.4.tgz","fileCount":41,"unpackedSize":206956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTt51CRA9TVsSAnZWagAAIrcQAJlLBZjwxp7aFuiKYmjO\nPK7nTfNFzs4r4pR1+R7oaSBTwb3/wc+Aq/EK3abUWRT6LJp0ii0gtHJKHPO5\n+/eM2lT02AmmlxXpbgx06VWM2tpQ8eOx8xebx2DEz/DQ1tgSAY2Sn25E8DI8\n/13XBsAs6S0k8VfM3NUSYSA7gt7wicRPrvDxt/ejgOwrMrBE/BSQHDV+KYPo\nmy8ZVXdL971QlUpxtX/bh/uXnVPa1nWRQ6ZoNYuSyr7zJBC6YkZphKH6Ipez\n5W7DzsUgW2wdgPWgf3HanPCcz1Ay2Kf2Font/vsxAlDxVhwydM7BcjJXjjkF\nKEzHpTJjhqFEZczt9PTy5Tl2jzyrWgNkbz1J3JdjI0sv4uCCClW9kyf4pZ8O\nEyVgdK6ShhG0SPeA4NK5knt5kKrKdbxdIBjDLVR9QMWciQXvRtz2blb9GWGg\niBkkwHjfqUDTpt5BbqTFw8FUwQ7E9o4Mf+1v6r28o73whG50byxibF7Iumtc\nIMaMEmu6ru9HLMsZEJ5koyoMY/5fFqJJ3IjgHhwOuBMXrh3lLMCKQLMBChLv\nxIR0a1hYTu+v4gkb9bkaN95fxmUpUaEZ1LjIoF9ArBjMZ8pRLcFAVaosAEbE\nhr8fiufn8ZYQUifRkP7sAn2gkF+HKWLrjFet76POZV3ffrj/HBtMzGo29n0q\nywnb\r\n=/t5E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKEi5cHSJqpsMTek2ovZitpgUtOr7dHVjcJPFQE9V4rQIhAIq+6TIwZ83IAv8vW/nPlcQE1qM+/VvXHOvWeafJjKH1"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.4_1531895412400_0.4988741042781919"},"_hasShrinkwrap":false},"2.0.5":{"name":"reactive-state","version":"2.0.5","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w","watch-tests":"tsc -w -p test","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.10","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^3.12.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/prop-types":"^15.5.4","@types/react":"^16.4.8","hoek":"^5.0.3","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","prop-types":"^15.6.1","request":"^2.85.0","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"8f4d85a2bd42bc9628c7609071dddf8960972c25","_id":"reactive-state@2.0.5","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-2ce2XE1LrmxbMAdG4wu4MppLLhJ4NduEakzCkz7xXXDHzonlRjIZA8D+0lJ3dyXhbhPraX90KWQVoAUqcGD0Og==","shasum":"c9ba180ae35353d72c2bf28af5fc857e0cc5b9a3","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-2.0.5.tgz","fileCount":41,"unpackedSize":208847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaVbaCRA9TVsSAnZWagAAsBYP/AqJ5gMARQJYo5/XmikC\nnW+l58YxrSBQ9Nb9MWvpxMRhsWlnjoVc+2UzhAApRmcIIl8blu5QxHfjxdCU\nJaokR4Ll3wPEX0wPY6ruEWqWtQ4yJgw+bys40e4anqkRnxPVv0mdQCpORauH\n3QQ1tdl5AMipShsHbRZkMU1u281SQA5GsXXYm9fKV4XeBTXw3uSslD/FuPIS\nGkWRKQNGwOeczCK6Zr3/ccg5E0hqKGMr6OMVY/SdJhGddxFRtqBEL1dt9S6j\nN/dF5fYTJVSX/Db0AwIbM74Oy/h+tbJZeH4fHXGcftE6k8zAZmdBlc+VFJyq\nNVF665Q2ng07L9LoqzXL/5VYvCxZjw2sXPn3yylIMaX4M44fiS8j7xuBzWBC\n9zBwiLMe/eHfHXnNtIdEL4g6GgDDLsMnu/HQ85MmK1i52GXMfA2bKcIPRzgZ\nq2KsWtCyngYyQwC/DLY1K9koMRJy2HWdsW7HyMEzNxna8tzMz8UP28gmtJjP\ndbc5F1YsW6NLLvC4eUuFXouGuEMHczKdVotoDUaAfGKPj2tQ9nWnfw2xQoeo\n32cVyhTn82iQ4Uz0xa4iDg7mDpeQ/HULLX04ayboYDeGT21OMKmkR2EjUr+n\nPIkyOR834O6KMvvtBDzKsI24Lbe1HT3OPJDG5nDMCalTWelSDQ8SVFSCBHYk\nFxUw\r\n=xLhr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRiGcvKOxSVuIWtF93Ro9nWir0gGM6aRsrueqyL7VU8AiEA9xhV2vjEywx389KjBdZXc1iYu2kd/MCfz1fA+zHBrag="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_2.0.5_1533630169745_0.9079337809859018"},"_hasShrinkwrap":false},"3.0.0-alpha1":{"name":"reactive-state","version":"3.0.0-alpha1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["dist/**/*","src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.1","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.9","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull for lazy-loading application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Action } from \"reactive-state\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects\nconst incrementAction = new Action<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer (state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions!\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS:\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"7e462460f6012424010c70a46935642f2073bf8f","_id":"reactive-state@3.0.0-alpha1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-5144QYrY/ZrVZHmi8nFSmfPb2lWcVeLpENvDcdIRmhZEDp5CVDvGBIgb7zvDyemdKs+1rj980deCAvtfoxJyWw==","shasum":"8c961c9b4cd25690f24ecacb937f40bd0c4eff5d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.0-alpha1.tgz","fileCount":40,"unpackedSize":79902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdVERCRA9TVsSAnZWagAAjFoP/RX1kjCOUvo2lfIEiNda\nNXcr6MxU0hpt2pYmHdjBTvFSZ70uLK1akwxxPtNSEsDxiJRBlWS174K4EmzU\nXRZPQ1GjgDzC930MvdMIr4VQCjlLFrnFf0jSVfupIbX41E0v1ZdXoBHZPN+d\nMpEFSl1wzmI5L9k7z8W5ZIn20rq6NtPCd0muOL4YHucuf4YZfr+M20b1asW9\nRmBdzd6zc7yvdq6ukLczqqx9htV09VZWEOCANYIm6+f5feuraz7VrO9tzCQ/\nnucK6Nho17fE6pstLutux1X7vi48tOb/O3GfbvPwLsJzHZFVfY9xFRgf5xy2\n+xt6KRsKSpyiJpHCWaQwWdaXdJZyB5ttRhC+Y4LnEaOY08HezH8Zn1juL9Ty\nsuJtWjFgy4c7tC4b5FIShTeiiCcSr4gXCTjCZn9IiLTI6GYeIs3QP+FWSdYn\nf0/TNS8uoWbt9jqXRZQ007M2X8DMlByxHSgV1xmXeI2CQF95xy1AvQE84nTd\nLNOCuXTHh2O0kQQanDQFt4RsxFyVM/6aI26yKjHLwWEMOaSJD6iWCzD/DwBP\nLs1moRAA0sL9yQYwYr19TZh6WGfgyf8GDlhbcfwIFRVhZXhimU1x+B3fUuGW\nd6PtaBphR5SdTVugm5tVuR82/hknhDBq3xi9vL1iFFTCYOozhxnOKQ9Io/O2\n/p2a\r\n=r/tT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFiqfRurNxguHnQIniSV1B4C8IFU9xTXTJlLhQjGFR6AiEA1guWzK3CrVJqR7iEGcisVN+B1NUdQWqU9Ruhr6NdbsU="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.0-alpha1_1534415120877_0.9252680362978287"},"_hasShrinkwrap":false},"3.0.0-alpha2":{"name":"reactive-state","version":"3.0.0-alpha2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.1","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.9","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"d30eb9a7a2ad748481759ca46f67a3ff68835692","_id":"reactive-state@3.0.0-alpha2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-nfsuLoku4ZivJjhMmQsM/HQxES2zVr3B0ux6su7A28gEuxtfIlllTL0sYUPIWsMsrT4ZHDOKdJoN+XYFwthohA==","shasum":"d5e7c2e0ae6f7c068ee0a5a1166106dd18e68f68","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.0-alpha2.tgz","fileCount":40,"unpackedSize":82949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdXQ3CRA9TVsSAnZWagAAdW8QAJ/9d0gm5t8/c/Cldpd5\nJhuyesk4qi8plpajx87JCiu7fGo9B9G/TJCBaSlQmVsihMKQIjVCRplr2ytL\ndUPwR/JYVCdKfHx67Kf3OsicezsgsqSqvQyR2qlgGq+g5CKdBmXbb3YHylsU\nPSUpr6+ysFjmAutRfXoOFtlMUYWmFgS4lucu58NNEGV5pLd4QNHN52W5B1AG\nMiZIiLa1L9VZ0IQZhsaKitfqPCcFbMStJDbN3InDdpiAbT86a2ez2fTYmajF\naMi+FyOFkjm9kscq8G1cOxzgotViU6R670QXW3BnwcQTMqukrDE+8LKDwSq9\nHjkl5AZX+RNByZpDTXxlPPQnAz6K68MEA3+e+0RNMLbkkv86uiKYhtx1EccA\nPMar/9JTMLYDlCdKF/MKYCwajse/JODOix4lj+p8TRX7IhT+TIzQGiaweAGs\n/W1SbnjgOpL/NzJwU1KfkX6k+uNdEpTNYM04s6jqj51B8vlwlDDtIAotZ+uF\nY7nzaAmy+7oInhHSgsxeBd2jlQFtstky2wXyCzckROJ+cDEOo1dd3W1s1nAU\nOl06YBmw54b0MOvSkBXZtubKPr4aVlU7VZBr2/G7O3tH3vvVfvTYyYEdFEUP\nHcTw01s55YrS4iccpTe4eMQg4P1yZPhQFk0n2wXRtXLR+h9TNSoOJL0zeZac\ndTrE\r\n=DeAS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYX35PhoLHzuorqTX3poQM/ulkO7fZI4+84Q+kOjkWFAiEAvMhNRyL+BrqIRDHUBulo13UI6OXZ+nb4cb25vQp6EjI="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.0-alpha2_1534424119416_0.8989131447808798"},"_hasShrinkwrap":false},"3.0.0-alpha3":{"name":"reactive-state","version":"3.0.0-alpha3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.1","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.9","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull for lazy-loading application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Action } from \"reactive-state\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects\nconst incrementAction = new Action<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer (state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions!\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS:\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"d30eb9a7a2ad748481759ca46f67a3ff68835692","_id":"reactive-state@3.0.0-alpha3","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-tIXqu2MLlA4D6ZR1POFwaphnMV7a3fVwBxBMzXzky5Plv2NwDfdLxL1QnTgy8UslXMWV+azIWDaQwwjPq/7jUw==","shasum":"11a1e34861f764042edf7919930bdd1f85ea3cd7","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.0-alpha3.tgz","fileCount":40,"unpackedSize":82949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdXbHCRA9TVsSAnZWagAA9+4QAIhGjQJI82KaXdUAboQU\nFVWKRHE5STtq6scUPgZKW8xXw4m9U5DaLT9QPgMxf7J9CYTCZ6LHVCpTD+wq\n14eHQcafebANs7LBcXDc2bjQww8lQ57sGassmvbCtew0nLnXWv/3Cdy+BDOz\nKYgcFut9DfmJFIFyCJFlpRhXIRs3Z4YfMYB3AmeFkSYQQgxuGtMv3d2AmgAF\nBJoZOUYWjcT3ntPFRrACcBTaQCbnkGvVfbw297SGh6zHMnk+BQ15R0kTeI+R\nL2G0yitNbEkCj581JqSEevGgCZfs7SRQIA+YudJKFgSprtfroUHLCkKEL9ed\nE4OJU2CxpSxiIwbkiomvnpm14tcZuhyU0AVwRBfeo80kQDboGC7x5d74K7pf\n0WXirbCrQVE1HUABMGXCmUl3E43wXAq9sl/7aDJ0OE7sYqX+bQOJbWc2ViR0\nma0+ftDNFp31F5szRFX9/jGNK0s+ZrGXVv1svXOFp2t/biOQ28KaX/t/Utx4\n5lBxNO383IiDizlgelt/cikz/82Dpr+l4JhfROfJzZMYw6YIMVBTyfLivXlo\nqRmowmy2Cwr4TfuuE3R2zqfk8+cUNiPuzh67FgqvaXd5F2QQIl3QmjDpHu3Y\nsshSQl8RY3t1luVnOvH6wY9MFFDzjQUlFdtVUTCe/8F8ZQ4LgznMLTYDWvvD\n4vWh\r\n=afP3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHd9ucvNJJ+4IclBg4390J6D6LHdOP54fQpJyvWCVfzHAiAmZGe69hd1tiXw7M0Yu6XConwfme+7lEudzq6MRwJMOw=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.0-alpha3_1534424774555_0.9095370666992588"},"_hasShrinkwrap":false},"3.0.0-alpha4":{"name":"reactive-state","version":"3.0.0-alpha4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.1","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.9","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull for lazy-loading application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store, Action } from \"reactive-state\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"ROOT STATE:\", JSON.stringify(newState)));\n\n// the state Observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":0}\n\n// Actions are just extended RxJS Subjects\nconst incrementAction = new Action<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer (state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions!\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS:\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: ROOT STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"fdb0114c505101080a3637bef2cdba642c23ff8b","_id":"reactive-state@3.0.0-alpha4","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-mrEw+4BnjaEK+gtf7oS3ljBNb7V6NVGcyl9eEByxas6GVCvKgH+n0NUUF7scw7JIfQ0uvGhB/s3fMQErcUdDfw==","shasum":"b7fac874baf0154ad161cddbfac2726ed986140b","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.0-alpha4.tgz","fileCount":40,"unpackedSize":82949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdYwzCRA9TVsSAnZWagAAARwP/0+ef8aVbV4FYBfWFHwT\nCL6WchRk6VLWLapW360Lh2QPp6R71bTsBxULN0VqY8tt1uNchEY6O0BS0Pge\nVSXB+dmHFy72Gd6ESVu62W2rOA5WFxJA0qiD2GctSS+Nq/YphAaLHnUIo2UJ\nYDpo82fRyh5V0Ce1kuEm1pG/VIthNA68/68sPKObRJPthNfwOxLYc2C6tGYx\noxM2tMfPdlTiJ33Nub9pS+HkL2nPbJoNzJH780PN1mRlGf/eYunujsL8IACN\nAh/RRaRs6mX2xwS2LClViFq8t5z/oT4AEl+aE1+Hx493ra2sqgR9wdb1GdrK\n5dbt3b3XLhYPdjYfYvaIeZdHHTB5sYM4UAZCdo+eUQISGjx1zuJESbdn3vYz\n3Edlj90oah0okv3lZqBWZy0IdlbtetkWxDLn+aKzQS5LSRYw4gnBZcrP6hwy\nazU51hlsVBmi+6r0t/LjpH2A94vuvWc27rdmI1oRh40zo1hIRor3a9/feUB1\nbkExxJH15yKwREPrE8fzjvbcM6gqwbg1wPdnfbQqK5+QpEd/9VO4rKsdytyW\nEzncTUadw5rYHrDlIOS4QSIvs2Os2QcrOVot+W1mBcpt5LS+uRskRMX7Ma/b\ndE6FXkxKIiCpOTb152XL7vSaY8KHYC4CD1fk0893JQQYCZlG4nbHAX7ioqLd\nJM5o\r\n=0hXj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbZyEiDJg3mxJAy+a6quiua+2q+UNEdkaOJxoeegZhTAiEAo5kpBrYkx9V92T5INe2JGKe77frdKLRXUSfdbcDbvU8="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.0-alpha4_1534430258646_0.8215847594481847"},"_hasShrinkwrap":false},"3.0.0":{"name":"reactive-state","version":"3.0.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.9","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"99d625169e1c7f127ff582cd86bd0fce610d32e7","_id":"reactive-state@3.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-KpWUTzyn1V2Iv6j/X70d/V26NVWDVoDu88Sx0RLudiEdFF2HOG1lie30UGKouusl2rs0bp0hIusCi4R4tlQ9vA==","shasum":"de015380b78c4029fab4510b35c1ea88127738b1","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.0.tgz","fileCount":40,"unpackedSize":85120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdo+7CRA9TVsSAnZWagAAZ/kQAIBMxwbOjUDkjJSP137z\nmC04eKJx+/YoIiUowXj/gqx810qJr7bMNkeHD6CYBk1/I7388IfeB3iOiEyQ\nQJ6M9k5SbzTjFwfffEvwEdctIsHNIH5sKFrQfwZjQpze53C7+vywmpIKGO9A\nDPg2OxcAxP6at17Dvc9ITGxRctmSMsZNnjekSL7qy96tx7L+NMAvXWh1qkSl\nzlfVeH9YElAA5ySe6uk9Skww1UuSXIzE9I8SrCg2JW72pq3D0mw1ma7xH0rw\nuP4KQLwx09QY5RJvnMKLvdDN9HvRqlWvxlT2tV7SnlLFrBo+9Dl/LT0eJOC/\nxDIr18Ciakq+OtxfOop3vlpoltC7aPHEcLgIuW3KIQ75E4weOvggQGJ84O8Y\nD+Ob82eBOAtG4KvVJGu7AvkqM1HU7UyFVLHDUpuz9qoDkuhHfVa4Q26CsorL\no5Wz97lvrL2NwEEk8CMTOL6szEhPulg+TmlbdmrW1Szd+i9fN7C89qQR+38A\nwmnD3I1FEFdd2T0G19GQtGYbVEKmMvhy1qAsGgvoPeFca2biAwMTBwLMvblQ\nqcczwerARuHYAEMHA14Y0N1E766HrSPSjJG7uP4jderuW1JeVGW8t4kvZrby\nGLBjKpIej3PNlOAYYDEaN8cw92wEkwA5uqp9MysowIB0hLG9QNLgdkF31BY6\nINYY\r\n=2Vsn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxkBVVkDUu9wBDg/CD+19SbDqB7RomV6Y1QdlbET2hLAIgbErwkPDU1x0+5IewdDQZut/ltXUinOHTSQqpTf/xA0I="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.0_1534496699403_0.9345103528428642"},"_hasShrinkwrap":false},"3.0.1":{"name":"reactive-state","version":"3.0.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"58f031f3332870f0a13fd85cabd46a2e91c6f32e","_id":"reactive-state@3.0.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-KCxrPHfmjU6dzMp5by9xQ6BDEEfv5HnWq8Zxm9lk6gZU1dGCAKglpcfJtSTQEKuY0aMcrEmex+QPdMNtRaosBg==","shasum":"f76a26bed72078969d10565b9897371d1f192dd3","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.0.1.tgz","fileCount":40,"unpackedSize":85563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfA+TCRA9TVsSAnZWagAA4cgP/3yVutqDIGc8gEjtK5Da\nlo4WTCPUYFRKTC8j6Fs2//zArRynn5lp7sYAF1Jq+84dUz4RrIQSI1Cylwjz\neeBRq+XMj4d0dg5p/1wKfRy2weH5milRyWKA4PyIOolPTQXwJQOk6Z/nvGji\nc0RWLIF/+7mK7fK2FrJBrnPwry27pkSHd+Z7F8Fl6Cv3Gg4WKxYJgnZPNMEX\nNGcNZfhz4VfZF9CLWP/IOaGWOtScG7fqxggkdZ9tTSNLhD1UQdw8EUQr8oA9\n7KAFymP/anDgHc9P5ZeulbeQNdsq09OMT2EXJx7ptx4JHWqSoNn0f58PLFY/\nmQ+Vo4IkejRuHsatKVUbC+POV6M122ENhtYiA4luTnAjNZOINLflknlWYy1Z\nN0d+LU18uZqqERr54HDkLWTZNBv3Xe5gf3W5mLpgztReEI2FekUNaaHgh+d9\nIDFt+Ej4Udtajvz/4RA4AvzrQCFGZUXiL6TnPJBROWlu+EdpvMhgMemhcU8s\nOSL6Omq4d7fWV3fHMmqEdLMXXavkRv5fZeAOuG6pbgBZMZuLBwQKSZTv/+rB\nhwE1uI6SRvUEQQDE/wpDvbRThk+NSBuBugTbLxQhODm9FsILAdtXIenGEzA0\njlDLSG9yfcFK+YZpcQBg9nKOkBLgpmxqZO2YAboaEWBMwnN7xNJvPA9hfHda\nXvLM\r\n=EKeJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/YIbpvTXWIzSV5n42if2KEHyBkTt6jKqsbdkg6MWhSQIhAMNfuJd5FwJNEk90n1XwhK4DQnltHJnZObFsBI2HBlYy"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.0.1_1534857106649_0.006992117522859775"},"_hasShrinkwrap":false},"3.1.0":{"name":"reactive-state","version":"3.1.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"1a1c14c197728727c75ad0949f6207f03e10c1d9","_id":"reactive-state@3.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-0HUpqaEjZYALoOuTsXOknNdv3F+eWkxUFlGMFgAcITmSXwSaby+Azg6/aUjbXvee0uQAjN5j9J5awF7nrrhPlA==","shasum":"7729d77fa2f2bc0cc7cc91a620577e1bd1cd3c33","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.1.0.tgz","fileCount":40,"unpackedSize":84640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfQfwCRA9TVsSAnZWagAAheYP/0024hyNK+hsgp83bYhZ\naZp7cwWsLxpV6HyJGYHTmF9Lpa8EhE4hSb8HUsxNLOgUiHRfxpqHOY+LwdTi\nXJPDs2BTNU1Yw3f1BZmR+kQb55N9fhqKtNmILgqODDiGkKuMqfnIps9TmTZr\n4LCAyo4RYFBqUhlhWKhC8hOIao1gkDP4LHEP993EFwKxp32ra+5N0SvkyeIr\nBDEN0KIH94NAY0btT200I1apyC8FSox/0T76MRV7lU1JCQHYR4xYjyBC5FAl\nFDev8c/cXd7EC3tKoJPntFlxcUBd1WmAUHvCNQy39tvLXg7hYdVe9yExJsvB\nsmpcz6o0rsdy47kxy40jbkuj9Nu26qAzngKtghZT+4EMX2SIOXiKLxIm+zN+\nrgZcO85Qt6kSVuPMKJwAzXF61fpDK7ixLMuMU7jKr1ovaGjamfjCbnJDGGaW\nsoPze+1gegbWA9mC2qkQXdYNZ8d25hKFg3N2YJ6quJwt5jf24wxTUvw6YRhr\nq7nVSD4aq3l546sD9a5HnknURwHncX7mui10cLxcLDLZjtnGMzy/OoFQPtNC\nwyy6QGNmbz6zvAwoMgGw/88hlP2a5CR81GnoWKsyL/r9Qc5Wi948u6yGoF0t\npC0fizz3DOrzMmefIFCSuUvp/vYUADLll48HdMOe7EzITTEA7Q1dDRUsMieA\n/tyj\r\n=17NF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHf0LwsxrGk5a6lWzqKcW0jh3Zb5bHelA3H9hfpp5qmHAiEAypRPOeNERwAU7YzFYgCinGqdJ2ENJPr/0plgHfwMyP4="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.1.0_1534920687852_0.20410217091885174"},"_hasShrinkwrap":false},"3.1.1":{"name":"reactive-state","version":"3.1.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","files":["src/**/*.js","src/**/*.js.map","src/**/*.d.ts","react/**/*.js","react/**/*.js.map","react/**/*.d.ts"],"types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"7b3f977c14ab6d9eced195ee75a3323374689b6b","_id":"reactive-state@3.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-Cv97ka7S/EgHI2PRxZnv1AiP6HlB7S33SewPhvBSY+0Z2If37JY25Zzm2NzPUULNbAM0jfEInQILeG8ZwR9HSw==","shasum":"d1195702bdf51166028e871e2285312893fe88cc","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.1.1.tgz","fileCount":40,"unpackedSize":84651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfTgbCRA9TVsSAnZWagAA3kIP/3C9EcB/QV3cRnPAyQes\n+wopNbylPtK0EwSDGAuIwc3gl/caGnVZ3kD2aj1LWdXFDYCtobuTKxF/fyKt\nxZx/U5CvWtQ1QUYr61DPoCQ9a7FbdYyGCptDCS69rrRLHYFy8exjjBQ8m7e7\nAd4U9zeFivsnLGSRBKHrLb2nxtYvTNgeuA6G26TepxIrYEMN9i4AMv/biJdQ\n87DVo4JTLcfNqK4wvNbmtCcukwGkTp2ajauve+dg0XgbAPJaedoG/NcfEN1o\ngz3ha4J8W6nV6ENGTlW6Q9T174yNkjat3U4RqRGGk+9Srp/x8b2WghBaqeZw\nd4iOD4d3gCigg+5B42dXlkfMv3LrlbWbEDlVmlREXT9DRLLSUr9Is5AAtavy\n503ibXtiijl8AwDAhfjSleXv1JxPt8HXgiwVCGcSK6oSkOePsjrWfGlNNRdz\nL/pIult7wo7ZKkBi+fV+mjxeuY7h4m6VTnUco43V39QO3sv/pLGtvz6peYkU\nYX775uU0mKeJwOdvOQZaLHHN3/xC4Jun2wYs/ULe36UeAIWBfDlAeZjc1qXK\n52AqNFt9xBEkBduxmC5Ufm/f97Df1p9fhFg8+MlJBm7kqCaSPsL/k8V73mkf\nsZwRJWuxizN5+7uFSCGpaTVabD8jQBTovfMJTteuzCKbcEuxrxS9J4bdmSxZ\ny2IU\r\n=8fBY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlwlHLgS+SZXAhj0lsyholNnEL7WRJhQyu5YXDNgqHSgIhAPerktm5vd16c9qkfoJdFLD5l1i7SVjIsWlDxMdoKxge"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.1.1_1534933019196_0.6459405861980068"},"_hasShrinkwrap":false},"3.2.0-beta1":{"name":"reactive-state","version":"3.2.0-beta1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime (usefull for lazy-loading application modules)\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux, but with linked standalone stores representing slices/substates for easy reducer composition and state separation\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension (not all features supported, work in progress)\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the select() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"ea575b8356208a18092a42ada517b20f4c91e2db","_id":"reactive-state@3.2.0-beta1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-2/2ZYNQN8cDjroNaKhzAPpmHwN0l0z3vTRh3zPUGIpJKzCG2n+r3+eByfRV7tSgtvQIJ1KYpyTdOXrdktLqtwg==","shasum":"b3490230b393532335ce450b75ba6263e67eab48","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0-beta1.tgz","fileCount":40,"unpackedSize":85316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk+Y7CRA9TVsSAnZWagAA8nwP/RNEVCXZVCJIDT/C18eo\nY8yMLcBZmEAc7nCLX+P4ElX27S1sfi/JmTqkHrNJEZmmhi8eZCF5ui0InbBK\nPGKCUrlYiNU5urA5zU44dPU6NQX3RlVR+YD3riTuOE6Mi3JgjY95wgzWZp7F\niHg/V1ExaS2brydETql7PNBND9pdHIkYrOA5NJIH+V4Tj7roRGGjvKLgL0jM\n0JLHr4XsKMY3XTt7Ads73cyqUZOXUI7SHJgkzRyPT3SxtCr/9HKypKMGuYFr\n3/7AISDj75aIeclACT2aKfh7PVxQIGvN1i2X4X3bRl1P1GkSIWM5UmbEp/YB\n5x7jyHp++u+KQBdPYpjN7Ft6BSlyr9pI0otvmy0Y510wpW3V4agCUp0nmNzf\ns+BXxZ49NW9DdqVyfZ4+6NhiDhvJE+BCxlo3KKupzE27PAK2iM03vMttQKuk\nJyu/G9rH7zmAB/b1A22bg0QkY4nJhtwE35bCWXCtHNc8ML6dLO1F2yKnjE0f\nBJW4g95Q67Kud48gk7CXNZnZ08Kxqov0LEdDap8UBjlec02i3KqT0PemFWos\nAGSdAevNZG22JctZ5hnCMP/koxvIEYnw4ADPCgCY23mha3x0Yryb1JZYdaX0\nDfeldSYw+ugwXGqx7iRPEdTU1ZLGtfbXmK4fTCKrBnnDlhDuOX3D5HwFmN+6\nvJFT\r\n=LFLq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaOuPYsulxb8axpiwJx2j0s4oBlzTa3wEtjgjhwiSQDQIgCf+HP14t5gc1SPrRR5GnMTy4KHUQDmDbiiWSye9JW94="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0-beta1_1536419386626_0.7642250044248062"},"_hasShrinkwrap":false},"3.2.0-beta2":{"name":"reactive-state","version":"3.2.0-beta2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the select() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"bf6a088330b1eadec748321277a60ae68c8ebfbb","_id":"reactive-state@3.2.0-beta2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-5YxJjLQUsP28LjEuKSVer3Jvi4XlDTdCyk8Z+HL33E5ZQWLTx7AY9Qv990KB6agbNmZE+2D8ckFAMLEDu3t13g==","shasum":"2f0307504c4fa5b81b16fe0230914d0c63703f74","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0-beta2.tgz","fileCount":37,"unpackedSize":85041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbpzxoCRA9TVsSAnZWagAAunUQAIuMkuTrO/dkew6nEnQZ\nrslgOuER1KmjoAateAx7iNd1u56OUyf1KWOBZ6PscY1z4vQL9F355S55Sx3k\nh1p5Dq3H8dvzbzNiAba2IODZyBlwnGdP9tiD8kEqi50j5lQpgQUappwdhCBx\npGggC7a6UUQAYp4wLwi4WGolF/nizTIZ+GpmQoES8i3+jHWMnUXcgDK51LMG\nbiYJdizT/lM3sakAYQDOqXLF5oXwkJh3deWsOcGDSAhJBrfGdkA6Y66KQWRY\nzdgoL4WI3bzbofdUV6+cKtKv1av9x4NS49EtMCec/WZ6eLVkk+U+qM1x1zAE\nQXcggVy1/KzquWEbqee98eTr+pZA2yGtKbDNa/Pz61rjrVk7VyvEWDliI+PW\nS/1Wej/VhAapbvo/HsO7WC8ygHAI0QybwZsFAzS6yrc35rxLW+55EEizJLZ8\nbaOHOSd4Cfh0ubfqb5apBdX99h7/Loq0CbLPALHtGoLXXkNBXsDT+lCKmerA\nSUmEdQN/TjVCSnxLbQkbIrOLTh9EbFirPXSCHpUdADRTVtH8eDViQoNhEaY8\nYrTCWp0ihQ71hruLoEasFMlJIAe6hR0Yb7nhkjCfJsO3ukT3ESzYmarxpByu\nGz6/mPLls66fvfV8x6PjbnlHQa5gMGQbpiB/KHjToUvgo0Xcpy6ycmyeXKvP\nwX9C\r\n=0gSR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGe79Edn+DHFtM+Vyvp7YQ5tiBY+YUF5j4IX/D9ZzdfuAiEArqByl1q7eUB20DLXbUaHuq1n79zpAXDOIqG0IUMPrtU="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0-beta2_1537686631618_0.42177696039796153"},"_hasShrinkwrap":false},"3.2.0-beta3":{"name":"reactive-state","version":"3.2.0-beta3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the select() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"7046db1343c52d13d16ec3c73641a678cd7bc55e","_id":"reactive-state@3.2.0-beta3","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-XXBiMF8iA1rPMLbdlDT/LmLZtrudXwbQOaKEM4ynnzqpnC5VarrZvWroYAaabwOz30e0z39Jxd8xyR/3QcvceQ==","shasum":"4e4d3dd2342adb60dda13314f8f1003871407681","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0-beta3.tgz","fileCount":37,"unpackedSize":85156,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbp1wWCRA9TVsSAnZWagAAoXAQAIXa5l5ndUkmBQ73HNZ6\nEgmYYiMLi1u8k5BvSKatXCgI7pCPdMCg7fnKE8LzIA3wpejKSvJ8lbz1WlCx\nzoiXny5CuJcxfx74ElwRYe9X58Gkm0TFDwkAlOOtynvLXqC5mcMuYvCKpoZp\nidp57zun2kQMFyO7dZcVgeVUpW5bxhIIfSt9RechftbKBw5mYXR05IlbUsfM\nmbnqMTwrhVye6yOsH26ct3//vKBAuOY7h5uSIEEYHyQK4hQS84TQSaQ/1gCg\nTIojAQeNx0nicqadpS4XphCKGyU0n2zsB5lmnTXNI8QzKk170BXZbWC1WG/A\nKzx2RZfpMwUbGdUrMsMwqtGdO9qxGxhlFAQGj4v+PHSueU+0bclzA3ku0PMq\nNxBB3Xvh39/EihpJ5n1whkkJE5d8S4qO/EhzoGYB1HQXeZcYFhGLMgRS89Gp\nGZJE7bqw6lF3THGbMGVNBw1a+QZIum7WfCJztBU5mnhlFX+oC8ydEsx1qWXM\nnr0iubgmXnrxBIoaamFTiQOsmkIIja9ovkRHhtGT3/g03Et/awxxfHwPFrkg\njPRWIrO1nqEvovgadPcRBMQydozpfi2tvQs5uv/amR8cIz0WV17HiZBCXPK1\n23q4VTjAj3GNhfszl16wq8VaAXHFooFkJUMX/lpgiyIcO8WGkV6qur0rZbyu\nAkCW\r\n=HQKY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXsN4ELXHbb0wi3fQlcRghWJVcZWLb7dSE2SwcMrZtwwIhAIqnPhZsmB+0/Kps8M36LigLbXPjsGeCtSawgipDlOkf"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0-beta3_1537694741380_0.9948216963495098"},"_hasShrinkwrap":false},"3.2.0-beta4":{"name":"reactive-state","version":"3.2.0-beta4","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.2.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * wrist-friendly with no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .select() function returns an Observable that emits every state change, so we can subscribe to it\nstore.select().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the select() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"a89dafb392983e83c8d4a653121c939f97476ddd","_id":"reactive-state@3.2.0-beta4","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-yVbyKkiQiBeyw20k5xC1EWJz31rNxvMtXnltFPbSqZVnx5vcivSzGm44OVcOzNOLDl2kIGkvE+BxZKdJKOIAJA==","shasum":"6579840fc9ab65cabf1685cf79909e26b4e3161d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0-beta4.tgz","fileCount":37,"unpackedSize":85013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqI2VCRA9TVsSAnZWagAA7HMP/RJ1TEiUo/bPjwN0OnSK\nb3Fk3voXm2iu3f7qPhy2Do8D6Oy3JbUpodLy0Hc2qb1yczT0KXLa9m3qYZwN\nikbcSy1Wj3a3jGWdEvD5CofvcMbMtHswGD4yScI68PLcsDsuMqhJz5Ll8wcH\nKV34Ob+c+8xjWaJsqO/NPUdXH2tRJ4p/kqnfeUCcpv9aMXP9nEPzH+JYzU8u\nVm2xYOAgGBXd6JGBS9iT8va5RiFLmBRjmgAwKlvQ3je7Dg0Vzg8vQAZ/rD3W\ncDTOsfmpWJsYJSpiOv7rz4/UJhQfkTFBJ8m2ht0pQmBY2ULYV1zKT+CwIv9Q\nECoGRMxhP/s0x2aNIR3nrvt7dZZEQY0rRXY/BJ53u4T2M2Da2FH5zBOUq7Lr\nPqG5WQ6lJhsRbHVqmH9EfRpzRX/S45dlbs1efADWY2L4xjFqHEytSUuOlVJW\n3w/O8dafDfWLUlYJulBE83yk+h+9AByoy7htWFzupKUD5a4WVqQkc3OKYl2W\nbS047vBBRj9ESMAVvXsAXIqUwWtcGr3fYyBmTp4L2ZSmN8uqIPQyHT9ZMBvf\nwREdmUaldTyI/SivnDuOZ7o1sLGdzEb2b96rxnKCo54xsPXsdlvOkCobk3hZ\nQAJJe2Um60aF0uuFBmwofN9YELJ22nnMSFgfcncpPtifR1R7wmBCo/Owf8wr\nLIKO\r\n=bfuH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKSaNDkmPEmJNWuQcHJihqB2T/PdCGqSEcukaHAyP3TgIhAMyygyM5SLJCnUJC0CLqCh2G+RTteLxuivl2LgB3/69Q"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0-beta4_1537772948880_0.1603875219468185"},"_hasShrinkwrap":false},"3.2.0-beta5":{"name":"reactive-state","version":"3.2.0-beta5","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"3.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"6.3.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"63049c59163b9393905f7592b6bbe50c141825a8","_id":"reactive-state@3.2.0-beta5","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-fS5mdaZeubJm4C0gt2ukI9/4DV0MVV6ZN6X9ayHlClb8Kj9dbFvc7aCGrmpWGdBbOyCV+zJ8lsRRsoW+JjgBtg==","shasum":"268daf82b59de8791aeebda62ac10684d5130564","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0-beta5.tgz","fileCount":37,"unpackedSize":85009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbr2fiCRA9TVsSAnZWagAArLIP/0CUs1pOntKbWa+I7qIK\nfSuEmwaGdXBTJQmaei5ioAov0dQlOP1cFY5IHFLiczSnb68YLUZbT1vPNjVE\nMZFw17okfYDVf8cm3V68MXubvRpae/UeDhh415iCBBNJq4qLbYIYp6Nc7sZ5\ni6D9Z7CCtSeQJccQB+LhMnfamqIouM2Qk5NEbRQ9CJ7xBFPrayYD6r8Ss/Br\n4I8pj+poYBzMKIGN0mW66fS7BScGHxBOpVbpOtrURXxmhRG3CA8+PKbxq1z6\nAkeML5ZcREWJqP2x7YI+koAYmnQhUNgfTKeHrm+G2rHJUYPncJgXM0uel9r9\nUqfhcAsh+csvlwLxXNMePqCOcw1f1sZIgYGN3C+dXQI1lzkC8MDR2quQur1X\n7gpxwHR2RNY80SsG4tTgXimczvKMAC6CKU6nikhnDosscAohDgR6+KgVcklQ\n3KBvyJSyYYTgpiJv5bSlh/XPgTr3QfYwMFvQm4oPN1CXY4HYDZVsD9CyH5Fb\nijWzNPnVdzXLpAafTTEmlyLwrPESYla0ElJ5IQxybHynCIEUb5Eb26allI15\nyG20DyXktAW7HFsQZITImmfgovmVKbYZlJz02mDFyQJwKN/TLqi2lnIY9QUM\nZ/I3PMW3XGLmRZeGEtgyit5ZK370vtSTsqvK3OZ/y6eL/3fFvqJXBmVE1cPk\nXKVQ\r\n=a9ET\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYD77a3iS7xLEqnVYgioK5DLcGl9K5X7LvGhZzalhtoQIhAOUxOZSpO8t9JQ/Ccpsa7mNoGz/9eSOLUE0D+YdV2+k0"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0-beta5_1538222049935_0.22669170466981958"},"_hasShrinkwrap":false},"3.2.0":{"name":"reactive-state","version":"3.2.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"3.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"6.3.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"06544430cdeb4f15613e092937a8371c0f7ef3c6","_id":"reactive-state@3.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-VLeEOt0XWhrayerMwzeut+DOho826yhRp4Na8QQHTwKEC2ScfbqKFUhJfwPf8aMvd9ZZRuC+R6tcrPGU8zbd+A==","shasum":"44480c208b6b8d0754aa5cd8ebd8e4bf161a4403","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.0.tgz","fileCount":37,"unpackedSize":85004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtb8aCRA9TVsSAnZWagAASY4P/j87cFAZS+DMwuX0kBN2\naGnl/YSzVk5fnidLRurKs+YOUKCtcUXaZHS+BSotE0FIQM77EdyPt+xOg46d\n5vXmnebJNOiqoPT1KxA4ObaslGJDNQyl9YTPgXOGKVX9jAlSvJ0Y/rBn+nNZ\nQMdX+8/zXvhdYVkoGwDT1NhQTtPk15/GjvJVDKX/6SIFNZAX2+lTsIQaQXjP\nWNjBf4Sud6ylj/pGqYoHInKTJNNs5KhQPrVCuPBgpAhcxhdTA5CqhzFdwH+b\nA25cG5o3E+/f1Vb2bDkrQnykExdX8OK+pLTtVqyzCf6+mOgwROEh/YMiKDa3\nu/sESpq6X0/MyKXc+hg4gmpsSdm6LlKrgaGBbG9JJUkrRedCXZ+bQG+sFzUO\nzEa7M+ksXWxz9RUXzq4J7yTDD1OhL9HbB/GT4tXGtkKYXCXjVCpVVC2sq1gM\nn3B4VCX2FlZ7MwQYwRn9xUzDXXckG1ifab+U3b/1Vf7y/ViGRhBwQHkkLuQ2\n0pkNzswIcCq8F5Ya+BMlsyOoXwTFp7pea0JLVhf4mjiOY6D5Bctf1dCS9f5C\naksQshPOyWOuTmRYXdis3MHBGw6jbRtSKSOyw8Y7A/SWK7DcngmDDqTiMo9Q\nNtpVW/5lwIsR1spedQvZLfJnCMq9pVB8iB8jyhlB/mum4ZmeQ2cHs8swEVRz\nIIFu\r\n=/Kg2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1GA4w+IluR1ZPl07Y+lLKkmLv9n4I1ONwT6sfcVsLyAiEA+B+pK76jX6iBsStUgZrQyY70hvboeMwEwHdFxvD36uQ="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.0_1538637593735_0.06967812068874668"},"_hasShrinkwrap":false},"3.2.1":{"name":"reactive-state","version":"3.2.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^3.5.2","@types/enzyme":"^3.1.13","@types/jsdom":"^11.0.4","@types/mocha":"^2.2.41","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","chai":"^3.5.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.4.3","enzyme-adapter-react-16":"^1.2.0","istanbul":"^0.4.5","jsdom":"^11.10.0","mocha":"^5.2.0","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","typescript":"3.1","uglifyjs-webpack-plugin":"^1.1.2","webpack":"^4.16.5","webpack-cli":"^3.1.0"},"dependencies":{"@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/react":"^16.4.11","@types/react-dom":"^16.0.7","lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"6.3.2","react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"optionalDependencies":{"react":"^16.4.2","react-dom":"^16.4.2","redux":"^4.0.0"},"gitHead":"66dd3d2f2db8143d293d0d410f3630bc71026245","_id":"reactive-state@3.2.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-xBQRu/4obHkR/Gg6qtSpTn9du2yRVPknoani5XzyHZ/LblQvH88ZWdsFQLPvVWwvXK/vKmUZ9Oi6oObpuBkj6w==","shasum":"c48309720426c48e8d9448f6941a5ca4f60ed236","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.2.1.tgz","fileCount":37,"unpackedSize":85190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtl7QCRA9TVsSAnZWagAAmyQP/iz55FOgB/hacPsHNX00\nY3M1swspQKhfgW+H5ycwzsEJrKGotkny8Ci9QMDVw5f2WYqoK+18gL2NhFIz\nzjyrK4hTq5NqMcj443NeOhH6z47b7DksIJCLTPPMlgnSyH9zPb5LJFErfImL\nyOL+r4FWjDBV+WC/s9Jeq4CETiFKKMDlUhgBTgd9cAFtzQKd7zYFgezJwxQs\nX8LCNAu3YqL4iQFNcWK4uP+rw+GbldtW3ytwguNmO4YYsfNk9Ub3ULwsAxyZ\n6H6DJrrJwsZ8zuCJAK4sySevmSmMgbyGPVQ6hWNUVwNqRsp0QvrRVM8vDzgJ\n9NzdwkiQ335EGTcPO6mXsNNZ2aY+gNXRSuJGmJ3I3BngUQjZ45CIdCg/mQvs\nS5mfJ9XSHHFWTIjEy+g348hQdpmGvE//RLBSlRCG/wlPKiVBcrgSWYPJ2uGf\nNDiHLUwoAFzgcz4RiSbySXzQRG3aJ3z7Mh3LjBGpKs24VSAGxABcvleCBAxI\niKon2FVCG4cBL6CGftMkS1ii6Wy0nehC7oqYKErbhax1PtG+HZJykGWF8SBa\n1/tTkfTN7iyNbX/6PSar8HQzdCE0h2P17GZuZjzJp4d0RtowVjQnO0ayvNNg\n5viA30nuPWlv7hu7xZoZRCNyGXf32Rac0+144jdIthx9YOM+Zfzofbw7SxJV\n85s7\r\n=POef\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfoRQNrkeeMEoPLBt+wc1RQiovfYhcszyZOAtk6EXTYgIhAOtBG6T3aioed/iGTvB++JOCuY3fRQsNE5KzAfkHp2Nu"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.2.1_1538678479429_0.27083602334798407"},"_hasShrinkwrap":false},"3.3.0-beta.0":{"name":"reactive-state","version":"3.3.0-beta.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","@types/react":"^16.8.10","@types/react-dom":"^16.8.3","chai":"^4.2.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^14.0.0","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.5.1","typescript":"^3.4.3","istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * type-safe actions: no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .watch() function returns an Observable that emits the selected state change, so we can subscribe to it\nstore.watch().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the watch() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"d767d7f1fc429857c00ff16890a5ae8e60ff4f0c","_id":"reactive-state@3.3.0-beta.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-WwwmpMmawBxyqCkknURVt9u9Nxr2oqksprGSdmzK4jS9blFxYLxSi3q3EAceDyKxpuSt+r4I/dvwXu4VkOfn4Q==","shasum":"3d90d4ad3aec9970180bcc4567c4b2edc933d9d2","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.3.0-beta.0.tgz","fileCount":37,"unpackedSize":86360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxKkRCRA9TVsSAnZWagAAcvQQAJYk4Y1TjVDkc4o3yAn0\n19KlSncNSTm5JIYx7NDMGDWsAwzFwyCyi3L12b8fCuE14FsLrmVI0nihLbNA\nA5J4HMQ+2uBK9HyCSuOwb3k/LwJPnGlMcfCL7ld3RmuK2Rmvpl5GmJEgBQPP\n1nOk51qIzF435s9KnrGZ3fnj+Wsror4HnOPrmXo/uwoubDqyOMxtH49vOsdX\nMFslwrQ13JzOM0yXa8nVsBgFZX2azN8ZuPzC5S+r/+u7Hh1OvRnQmiU2mff+\nXp3TiW+dFa4Hg0On3CmXXkYrke9e6esjzEFRoq3N4sF1X6upBrNNkoLC34N7\nCAETz3XKZycZhjMmSQcuK8w2L+JB8uo3BptCMKJicGWBeow6/XPK7AecgkNC\nAXTSTQDNdH7peK89UyFHQdjeyp6KRx/qVyQSr//ZPh+j9z7q7io68vHUx1xK\nZM9EKMJ33CwOByzndyE56PACc53numM1JFM3NL1hYYdNWbpnGyedPve2NQ2K\nrSsj5akJNvXLolaqyMB4vJNXgoaG2f5cc0X2uXaTsQWaCxF+LmxzsQux/DVR\nXbeVXKngyeAhmIyrcX9kMofpfc4lqnA21Y7reSy562R+/+WxLw68UujkSAf8\nFlGPSFKfOkBkDVEELHHddT03rxc2zhrl5v2cU3Ck38zNHClfCNlgRxqfIn+8\nqRjm\r\n=qUqU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi3LTFL2luUbxktavuDoS7cDztytrdE2fVTksAl+6AqwIgRCxfvkGBbqJRSJwNFWJ/s4LRlPN1r6jTlTnidhU/iJU="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.3.0-beta.0_1556392208173_0.9810121872407915"},"_hasShrinkwrap":false},"3.3.1":{"name":"reactive-state","version":"3.3.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","@types/react":"^16.8.10","@types/react-dom":"^16.8.3","chai":"^4.2.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^14.0.0","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.5.1","typescript":"^3.4.3","istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"gitHead":"dfe7193cb2bc53485d62093d20e4c2ac988d5dd2","_id":"reactive-state@3.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"dist":{"integrity":"sha512-K+5svj4gM2W3J7gPdvyw4N6zACTb4R39N5jmAih6eofaL44sjSmU6bp0U74lR/X+wO/HrpRf9DZQc44vrZjqpw==","shasum":"6450f85ef3e54a3908c55db58ffd00403646ed92","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.3.1.tgz","fileCount":37,"unpackedSize":86353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxKu3CRA9TVsSAnZWagAANHcP/j/p6FPjEy1TWHwaG5eP\nMXWliHAhn8+w70yJMeHyOvc9qm8Bvrc4ttSKfMo243sY0Oxir9XQfNemzKba\nWTQn8AYYe/Pi+Xc0tKKQsDM7VM2HR2Vq6M6xKqHaTrYJj0zerrMDKfWx69HS\npJJ+dbLa0xl24vo0WG3lgYBS90WfdxvXoB868+UpBnh802GORhp5nl3Jn7C6\nhQZcsCrMpSu6wyL8S+GQq/GNrMFfbo0zYkB9tpPGMck+igNCOTGl07ktGuvU\nGjbIcQqp55CHTVN0Rv+UyiagRa1iIO7DvrRKPtskPd9/FS2DQcb4Hv9pDD4v\nN+JAzOYpAsBrOxGATgkuZ9cY2eqSCBssXjq+dtxT+JNqfWLkvZvDvSZSavWM\nKmBqW5qWaFmACHCGyQCqtjUPoZolj6V5kYWQkifyetDQeGp4ic4y/aZo406Q\nRpdSSOGAh2QTtjVnUex6DA8zM3cD6qScUYPqF9xowbJZDdVomjQyMZRiJi6X\nOyeUOVaXwSHTAWtnc/y110XAaLkoMmhON431DlTykjf8LZi6q8sa7SlbEpkH\nt1qYIbfwKhJI66gwGzv2RlNIP9rOZRReUpYzfMUyGKqvGPQELng/yCmrZSGY\n+UgvasDvQh4GqhdDYOiStAIA499Jt2WD/rupbnenGetzXTkQpY+l36iHDojn\n7GmG\r\n=PIw9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqoZ9i7ZZRTN1WVS5ZwIsZ47nFGoOhjqqxqe3wMJOSjgIhALymuPl+Gvm5bYyOFicREZg/HbuAMszmKWnEfURe6nyr"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.3.1_1556392887042_0.7732098350679517"},"_hasShrinkwrap":false},"3.4.0":{"name":"reactive-state","version":"3.4.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^9.6.7","@types/node-fetch":"^1.6.7","@types/react":"^16.8.10","@types/react-dom":"^16.8.3","chai":"^4.2.0","concurrently":"^3.4.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^14.0.0","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^1.7.1","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.5.2","typescript":"^3.5.3","istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.8.2","react-dom":"^16.8.2","redux":"^4.0.0"},"gitHead":"9e6f8a790006d32ddf22d8ad5734de285dd92d79","_id":"reactive-state@3.4.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-hFuytROmD7x/vh4VCnAQuOA//0MorUwADIWJgxYO69WeYjrlle6e3ZcHOzvgUMjk6cmDY3yWWkbtFZ6K1jf6HA==","shasum":"3abaae718c3bd0921877123164047d06d11e731f","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.4.0.tgz","fileCount":37,"unpackedSize":86533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbNRKCRA9TVsSAnZWagAAB1cP+wa0vCm89V1UIyI99FqD\nitsmRxV6UFiPj2HBASnQkjB2fbWYhRsVEmkMSvODM053WubzfpI2/TSm5VJI\nHuDwj09w5oUXmwO797BmVLx4pVUn+s2uaM1tPen/x0FEIYRCKTKRJMkthYjv\n4+pS4YcieZr/vUsRzyG7D6LA+2rkOuWf5W1fMx8uMZR4yY21HowVWNhLyZVe\n6v4Se1whS9UQMwPjSCURQDFz2hrbaueL5t8krnWoAmHQfPb7iwLLOxYBSzcp\nT6mTdULi3MMsG+BTj6n0ghrHNEwkJXtEyhsx8kbgkgUUJMMYP0xINmg9n/kc\n4Ag8qawreLfiMRj8ssJSAAVG3IOJaps5LKvOYv6vIUDdJ8+LAaK3gaIinay3\nXUlaEjl0RjmnRvnppkdC8kf7sRs2nqBd0DhwRhFsT+g8A8o+dmcmjgyUcuzZ\nk1gPfSo8+GUeenRJ7d6ZGd53uAkyUlB3J8GKDF/gZ+LKWWPVEc7indywJ4v+\nkTfOeofOxOlieVB13YtQk4SuVeZx0sjx2zgI/Sf+06m84i3VFIdNekw5dk8/\n3wP36p5QKm/FrcnKJEe5RUQrdfBunV2lyaaGU3ROzKuAmTTjGjo2WkQmrhgF\ncWq7oHhlfUru+az6z2aR0mCU5IAU5QDDULhjXx6rlLgxT3X3KFfJcm5CGeF4\nqu7G\r\n=7kVD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0iJvc1sU62qKc+LHxYS2SlfL9AxkAMKHPbGBVxG46KAIgW5kvOpo/xrVnb2Kc9wjKA+ojT4/z/Cp7x0v2OT02Y9M="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.4.0_1567413321413_0.6852017866178706"},"_hasShrinkwrap":false},"3.5.0":{"name":"reactive-state","version":"3.5.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.5.3","typescript":"^3.7.4","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"89c353bd6c25950520b522247058378397defee0","_id":"reactive-state@3.5.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-++KO40dnXLTpG6EFqdPAmQaDOroJ3LYC2+bTMAWKOjcS6I74DYvPEqi6z9KntGeOvJqELU4bmnGaOfQ5Oknlcg==","shasum":"4e5576394486e76970dfc1230cd1eb9bfaa59185","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.5.0.tgz","fileCount":37,"unpackedSize":90799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBetiCRA9TVsSAnZWagAARPwQAIxHRxeF2F/1IvrDryjq\nb3YoEsqLsXXLeHQBiCKGrm/XUU1B0ZYu5uMhVzDs5Yw6eT+QnJdKyulRr0/t\n+jxM9xaC/PppDPYHymRFFuy2TfszXXHPyGkvB9bUfERWRCd4uheq115QHEoe\nn/Xj2g9Gu4QKee7TOns2WhmwCeRDGMapCk4RgtiZYRREMZR8Sqcihnma4H1y\nd9vsQx0h8LrLrkewFGoqddD1Deu9T2hYy+Wag4Uq2fYryJ/FmK8K2EIAdPLh\niM4O8RU/EZ11yFGLJZqLAV1fxSulvpEfoui9mljr49r2P9JMrJ4SLwM/FN30\n5VTq3Og0HVDsgZhHGAWBkX+SQLEnlVuFkFJj2JJreGJvFhgKn5m/jV5OF6/5\nrW9disI+ywNcFB2iHKR1CEgzHXWchAIKfz18D41cAYuq5vqoK/uPey9BH0iE\nWYk7YfvEhQTcoQKr8ElEs11oH2KUJx4O0BRYkNAuy5VnWv5hyPgSwwhhLlyO\nZQvwkeXjW+0RKqnXGq1DVODpV88eNMxZXZ/nmbJ2hoAitKKLnqGHZXjNrbw/\nvTPRHtRrG9JSit+WBfBKj9IMm/2TI72VDVMnw8lv+DehyTOzYB6gNJUaQXvB\nhTdkTpRXHE2ouNQYMJNnpHN57Nhd+/NhUSw4dSk9ifAYVqdFNGubG1+4XD/P\nxGIi\r\n=vI6s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjte9wGqXhNgsKIgVRKEQc2sI3mn4UJFANJXWCv1jOVAiEA0oP3mQPKfcdJb0E5XZqhGyxtdMvLLR6IS6xMbNebWpI="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.5.0_1577446241518_0.07988949559898195"},"_hasShrinkwrap":false},"3.5.1":{"name":"reactive-state","version":"3.5.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.5.3","typescript":"^3.7.4","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"b2dd713a40c2e1067ddb1cc5cd2cea41eb9abb54","_id":"reactive-state@3.5.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2rOoCcpyrO6+p8y3laC1XkECv+gdH6XOY5rZM1HsxNmDALqvw75MJGdGM9jTYn/xDHX5XuAgSwK+JkU4t3nrIA==","shasum":"9121474551f9b6faa725c9419cdb2e4ecf171952","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.5.1.tgz","fileCount":37,"unpackedSize":90799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD93qCRA9TVsSAnZWagAADXYQAJ0fEfXzWuN/DGoqVVJT\nrB2UYgtgrm4EzENQuyBJ6RN3J5H4sfZ0AomVGg3Do6XJB6K/ypOBcoO4PjOj\nWB/J5s7sL4Btm2T3VV5J1Y9faMT36B4L1wrvnP2IPB5avjaBBOBtwCQhG3vu\nsloaIORn+UCspQqjQt6lQbQQDqYDQaS7F2so3c3u/1ueE5Am5py4T9x1PRMB\nndEV1PH2r7b1T8amAnhrRnp/YpamwsOLghprRWs4QfDfCv/oD46SMxmG6JCN\nRHJz0zybS1YG0hXFDGm8O/fd746Gek4UJAfYbwRLIbbyVcWtkM96XVVSg5hF\nG34QdkZzegZyLrxi6d7M/ZaNamMb50GbcZbahgLmq4uRqS4vb876l3S7d11Z\nGLL9KzAvRVE+pxvex7YOuUPCXKtMWrWAZuoWkG8/XCB4U8ht9vcElQEFtdf0\ni3VjrT2OnCujcXSMUzYf66ZIn+kxgxuQx9B6nChKxZDtwLcbz88qxmSCckEL\nCIiJNMmTNxehYU76PwPl5Va/wVDcSHKsoSA7qdxarRawcP17WUqvO6ZbXHD0\ntkV36bZEqOEqLR3Hn9AaL6oiznPuSd1p/MkaucChIUC/B4ZXuuHF0fJXT3wQ\nCHTVwKAITNMorvSa/G5KE5dZVRZdfX3oZfnm/23OYwbNO0GsO7SgRPfY7NJh\nMm5M\r\n=PFXa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi+D1qR+hWrIQBYD8DyHpPMnvVlvEWzrjQwwYcmrMYPwIhAPgWLBFCE0uWLnnAeihepWzzBuSNo44cyVR3hTMRIf6M"}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.5.1_1594875369786_0.37653414471183666"},"_hasShrinkwrap":false},"3.5.2":{"name":"reactive-state","version":"3.5.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.0","typescript":"^3.9.6","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"fd405ec58ca8bca9aaca6a56bb0514509db6dad1","_id":"reactive-state@3.5.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7QQjRQXthD8vs1VjCUv9LMUL5dKmHhizGluA3X4pbFg8pIoywGRin4jnGGbRzEsQwnHZCuoa1yPODyHKQ5/ynw==","shasum":"a9d1914dffc2fb583bdb20266326b651527a89fd","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.5.2.tgz","fileCount":37,"unpackedSize":91967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD+BvCRA9TVsSAnZWagAAEhMP/3M5H0vp42ragOcvJQaI\n6fkw8jQC/RtMhS7JJQZF5/t9I8SBla6oEjX4mWdKuLliOoWna/+eqtEG1XpL\nSeltVNYUNb0GmETvNlZKLBtDetq0XB51rZH8MtnSovRyntK9bGxeHCIZAe/v\ntzqQKWc7WqtRUmdTpqpm+Mvb8wy50oMN3TSu7+/ydLwRZq4rVwIqIEMU72M8\nRUMCVYKv+xtLIbffTdkz84gGr6hZ12b2FNVvRn7Bcw5YwGH7OJp7Vubdfa8G\ncb1h5WJSbP4LnECQzAxHWVxWnAC5L41xlOLTMPDDXPM3Wz09JV4OycNCewTA\neU2OL+BQ6sP7+hnTmowDaYB2EVJY8/5MN4BupGY34r/KqVWippBqELbftjZh\nuaGhoVWo0tOhYanZBz4BI/kiF2ixBhUqQ2ZVX1zCh8itS4eclklcnYEp2SxR\n1pjs3MwyMtyBGU/Kbxm5Mv3AnVB+9p7VFKw4ZMEOM2YrtNyQiy7p1y9Yw0MP\ncl4K1cvDhHJCz0SENqLdJKfdr0wPSx5nospDP9nY/UssgmkEDKIL7FZ6AZa+\nc7zc+EMvUR4sTUFIxHjtUfqMjI9Q/XVTeA2dWRdzSipayEygFXfnw6R5AzSM\nL2klrzKd+umSh2dGGXHr09ZTscOW2CnPxY8a2swOWYk+Uae9FpGZk8KIUKG+\nDmmb\r\n=MV8e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3HpOdoSOqHsRDAWXCb7g29ZvzYChk92BYI7lC1VWu3wIgaebwahOmknR5U/k6eqNe0lHlDgs/DRya1bvpzDCPk7g="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.5.2_1594876014638_0.33414246855605145"},"_hasShrinkwrap":false},"3.6.0":{"name":"reactive-state","version":"3.6.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.0","typescript":"^3.9.6","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"15875393fc84979d8e4234ec439b6c241e84c0b4","_id":"reactive-state@3.6.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-X0WpfT36UugDPikexfL9TCSQgEXnS5DuVgPSm4oN2WJHhD+3QmH4/XM+O2hDpUaeusLAgSiZ5kr+yYxe5dvyAg==","shasum":"71080edd6ea4b4bfec6b858ac7b5cae3fe600937","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.6.0.tgz","fileCount":37,"unpackedSize":94213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRWjPCRA9TVsSAnZWagAAkFwP/3jQS3WvKRZ3NecUIHlJ\nI7z77Autz3lu9Ym9479tOrOm3k58JT2UaFsxbN6QqKsCT/DMqgMbsLDTmERP\nq4TB5o39PwmbKT/829zaf+GeGTg/b5I/jad9WvZT1GkPFGHBPr92pDUdo1wV\numggkp5hFxa12NL7QCAl5pvJqGSBiAteuJ10G+8nC1XEsIGuRq/UJm5zsL35\nA6m7X3l9x1bAHQL2onVaF7VGx/E/6QtEib2LKaqFvz4Fa4JwVyPsaNVmVng3\n+BfyafKf8roIYrFHtVFqmdXA8OKUd0QZaXM6h9GACD9OEB+XZzfCpFA6ILBE\nN5fiPqxOc4otM5EiqZhd6F+qgaXQhmPPb6/tCHvPVdG1Xatw6ZK5VvyxIEfK\nh/T0OaVb9tUs5iQ0lSVVEOJgyBK6Pklt0NE95B+brd0xlAFNt2hlphIA0Kz3\ncLjzpuHMsZlr53pWh6i+ouFOmrPCUPqFZdb84xGeDKtC/6rlssLA3oS/z/ZW\nKTnmEoWrSzJJ1sZ+dy+IXOpLyMkT7pe6hJcaeOn/Y5uSpnpECD9iN5Ea+c6+\nN9w3zugHW/1Akp4pRIB6rc9gWQ9GmdwHTEkAd/cQ3CFdWIU9RbaECOUlKN/B\nB8KYbBScthf9n3ugg0YLisnp7sITfSYPb6IUEdvGam8A7oxfVYzCDpqpmez5\nr2zs\r\n=vhcP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFAtFhHqjp/loVvHODEFHJlX3Fddz2KSFbcjrn7pC/3vAiEAzb7aYiPtfA5ZN6PVYevl3uz8ga2BbdgGoVfx+6UKPHE="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.6.0_1598384335508_0.644264415961435"},"_hasShrinkwrap":false},"3.6.1":{"name":"reactive-state","version":"3.6.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.0","typescript":"^3.9.6","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"e1007e9a43f5b2a10459157c94f65fdd7ef049ea","_id":"reactive-state@3.6.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-MajJoWVU9G4E055oPy/mriN6RPMTzMAcohDTZHB5TBR9GDgyK0LGtNd5Z2xyqNyT68wKbxqmljs3F/M8Iq//fw==","shasum":"99c1ede2ce12d9b8a2265b84c240153d51bd0253","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.6.1.tgz","fileCount":37,"unpackedSize":94671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbvWDCRA9TVsSAnZWagAAY2UQAIat7U44e2+k3S/D7sDI\ni4aQDZ+4NZuR37qYmOQ6J/bM8lwKv1sl5BjO12fgp9bOp68aW+yV7S+8Xp/8\nc+mhymM+NDgb/JiaSqZnhV7JRsEa9Px72C8wWoy47Y9hPLq0pkIDnetApWYt\nLnBmHuAZNRsKxaGpypvgJKw0cGAdDm7XMHJKHqljbijtYL0h2VVHgw4gyLw0\nCHYGv4RVOaRq6R1VmCWAAkSnGdZfrnmWg5BKdwh3qkIz3ZzXhCmsLM9rOSGr\nudhwc3tAZuVcvRVMLcejsFTEQ88ETYhGXGFcaS/dxu8fS0KwR2zSRhmYWywm\npXNCzmY/lt4Ay+41jkPtCMHRR0eYzUcBf6eYJK5UcN7FQbN0EEjj8Qngky+C\n/mc5kjhxCkvhUAE2KIly+mHxdfFdf3yWNUsX4S0NKmcQUM4rMxLjNt/Max+x\nLcA3n7edzVoyuRDpmmqW0VMcYc3spX0fmD46cIcO+/Ls6Osejai4NI6YOL01\ncvg9a8k5VTV4ty90T5h4vefq5Nbt+AD8wQ8KsxXO+SjQWdMHkGp4VsziY7Y+\n84Ql4QhBSGJhn37pSraSaJ2C/0dg9RTZOul7k1b6xb9xLk5agyLDiyUBzJ3W\nDCLKD/jjHIKcT2gs5Ooh2IrBp7ZNl208QuwR60j8gEpG/uwUXlnYaXkJdc8L\nfzGQ\r\n=UOP5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+OsBaEPps1hlgr5u8XRfY+j4KCj8mJDftqNmYmoVcZAiAcCvoX2f6uYO+RGVxgRMNYJWvtlkHgEl6lfQArluFsWg=="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.6.1_1601107330840_0.33895060100079766"},"_hasShrinkwrap":false},"4.0.0-alpha.0":{"name":"reactive-state","version":"4.0.0-alpha.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","prettier":"^2.1.2"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^7.0.0-beta.7","typescript":"^4.1.0-dev.20200926","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * type-safe actions: no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .watch() function returns an Observable that emits the selected state change, so we can subscribe to it\nstore.watch().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the watch() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","readmeFilename":"README.md","gitHead":"ad4015256c8aaba5e532fb5a02067cdbcdf9edbe","_id":"reactive-state@4.0.0-alpha.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.7","dist":{"integrity":"sha512-gal3tFaQaNADUdojoPrQ6MiMPUWXjeP8hA1Bj/EoZUq1F9phGHnUULBPxSMJWsD672aLw0EedQ+7s9NddqO4sA==","shasum":"9be28098f5f6781791dd84c644b76377cd763860","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-4.0.0-alpha.0.tgz","fileCount":37,"unpackedSize":94518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcV8GCRA9TVsSAnZWagAAgSQP/2JjYuZvcLuiy9iQIAkL\n9AIV4sNLCgsA5DhwRZYtoNRxGsBAyXusH5eLSUrLsWaeFw65dTmf9Xpd83gT\nUhfeaKutirrHw4t4ccAJHaU7HHSMjEs7mzA8Wz7tqh2z/54AEHvJoupoWrgb\najdZHOrI3F01kOC3v38vS2QaQS2fzqDgVrxXC5qCaCMtoBfL7m/xycfOWaOq\n4TDbCHH9xKLNVhQKD2FhHqluAXYHme9EZveMN220rxrRrQBTIdK/5x1r/J/8\nOPhc7oPOMH3O5EoWFiiqpi5FyEAfY7fm52ZMVNlKMVlKksMJzEpTmg4ljPI8\nw6WEPn7odT2ZC2UxoXvdiqNKJhO4ewhMNACrqxT5CO1HhgutiP8xRYoxZZIX\nP2AmHxTw4VVoBQ+Rgv4WIN86HlqWhb8UJ6IH87Y7uIE046Klf2znFB2oFj6S\nUV98jXyMjpnpMHU5rIWK5oLZHYAxrd4Fm5kpuWTQASlzCmLOJvdoc8XhzRTy\nGB/6Xcy0THZtN4NXflTZM3ftP/Vrwro+nJFN7jGnFqepi0fdO+us8a7GrKr8\nhT0t6qidUWF/oTydNu6/U1PeOULy1Q7KWZPmR3Sa3bLnM9c2XnXQ9rx10OBh\nDULIsnZWGdSSc/k0MWaP35d0TuF/domXDmUXduB4Vow7XVkxMdBjul6Ygxd4\nU2Cn\r\n=wwLH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBAawW0NiW85ocwryJmYL+4nAmRjE8G5dsPwZFQnZ6ulAiEA26gupiDdNBJExMxQ53GySNiijXp44HhdoKyYv5kX824="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_4.0.0-alpha.0_1601265413600_0.9298279029295144"},"_hasShrinkwrap":false},"3.6.2":{"name":"reactive-state","version":"3.6.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^12.2.3","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^5.2.6","@types/node":"^13.1.1","@types/node-fetch":"^2.5.4","@types/react":"^16.9.2","@types/react-dom":"^16.9.0","chai":"^4.2.0","concurrently":"^5.0.2","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.2.0","jsdom":"^15.2.1","mocha":"^6.0.2","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.0","prettier":"^1.16.4","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.0","typescript":"^3.9.6","istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","react":"^16.9.0","react-dom":"^16.9.0","redux":"^4.0.0"},"gitHead":"43289c7a82dbdf34f2af3dd51cd8eab109a020ee","_id":"reactive-state@3.6.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vXfwNSjOiLIhU43DTHevDTRXUVivUfLgV/80EpdVOixxkng4RxvrqkYhSYH3Vjz+3audc8skJKOMlCCkK7HmVQ==","shasum":"e071e35355100efd928424085e513260a8344894","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.6.2.tgz","fileCount":37,"unpackedSize":95132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkadvCRA9TVsSAnZWagAADBkP/jwS7HPVNlkhHCAz1e7g\n0H3TfSwlKE6zQR13ydVb2g+09zqAYs5Y4Zh7CBDTw60yixlyvq9JL0yRv7gT\nYKWYs0cBDCjezVCFaKk+u2hpWwvTF+miHflUTLdEuDP6e+OI/o/cDaAGRaPP\n3tNcV4ayPc6xqEsWM0sUz+sGwnQvd547uRxssx4FE5nv5UZEpQxClxDoHB9X\nzxzvtawIUKep5kFllXNvAHdnvYysW3Slp8rhvu6MfsnupWnVMPx+carLFZ35\noVTD7tt/cUhCTfGxf094o66ChhX7Sl4zIPXkaZSFt4Cm76DNiacKVYVlCHZT\n45OQxOM0M4TtoVvPF7D/FLrR98mCExuXtsgWLcgEwmpFNa38zxig2VLMcNtg\nPURJI3xk0vHwXJLWyFo2bIssnNTdgzn5Ialfk787PPYZxBPMP7D3r7RVFi9O\nJ6pEvWXIUw2kjQAXdP9iMGfnD+kdvxvL7KizB5ug3OZuZxXAaC4kbtmyYlW8\njkR7xZF8y85drSo7xwG0vAyPVXwExcNvpy5/BiYca/k2kVwz4MJ+DROIrmGv\nO2uiEV3eJrZiJQoxI/o88bd17LcqCA0h9kjXLqAHuUSVrcWiVggIBmQNpI8T\nT5USGamAgILCuS4xIv7sNMmk+OPZLkQduo4jRFzEE+yo6TfbpF72cSBI9Txm\n+PYs\r\n=PHcd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+cf3qoi8Qc4GAiwO9QsHNPW3l6VyOG5zhGFPAJgVVbwIgR7Py/W8+lo8C8zxSOgdIxUpTGLdZydI9Oe5JyykTsmE="}]},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.6.2_1603381102709_0.8126155783519664"},"_hasShrinkwrap":false},"3.6.3":{"name":"reactive-state","version":"3.6.3","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^16.2.5","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/node-fetch":"^2.5.4","@types/react":"17.0.0","@types/react-dom":"17.0.0","chai":"^4.2.0","concurrently":"^5.3.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.15.5","jsdom":"^16.4.0","mocha":"^8.2.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.1","prettier":"^2.2.1","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^5.11.0","webpack-cli":"^4.2.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.3","typescript":"^4.1.3","istanbul":"^0.4.5","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","redux":"^4.0.0"},"peerDependencies":{"react":"^16.0.0 || ^17.0.1","react-dom":"^16.0.0 || ^17.0.1"},"gitHead":"c1befd610777225b794d84a96f2286d3a6ac6d36","_id":"reactive-state@3.6.3","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-IFJaOtkKJ27mhLAlQKZ6VeyCiKpoYWobh0B/sujHxU9nzVa1X4r7hipWoBp0k7B38ohqH9HAGsYbylBI4yiHUA==","shasum":"0dd4b28dd635d65e294c9c4d1cbd5cfeb3d11621","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.6.3.tgz","fileCount":37,"unpackedSize":95224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5dgmCRA9TVsSAnZWagAANwcP/jpooZM4hF3fRaRC3qK0\nQlFa9MAupkmzOM/2RFStpwxDUxvmv5OAnC8cHepNqQqF6VYLWKGbHuFfrC1G\n+grn4AQMI+33eNWW7x6vECeg7owJ27X89O7hGOE0Oke9NnHeUDK0YYxZNExO\n0qedWPdm0hZ9jqBICd1Gbj2ghtQ1MxE8cQkhQOVlXtb2SMDItpAF9DKyc/WZ\n7j3UL9BVlqNxrHcF/toVS2Z7PxTc5pNjF/p2pRfdnhIU+dFZa9oTBWqKf8SG\nOyxESBbdDyHV50Po2HiJSfCnu3YJmlnkBDZ3PtLN5X/7qmImF1P+b+23GFDT\n3eJ1RkmEbjLnpHUh7PM8nC41rzSr/wfkrDcfqaRDfFfR7PVW5UXBNgvtulTk\nD3CakAb5sJI7Xb5MAp5r1v0fHFz33r89vuiKwN+1n17wZd5ue7ouGQUxys1G\nuSN3AqBu9Bq5jst2jfVaGxzQqfn3rVzvQsgLAu0Rt3NN4zl2/NyD4dhtTn/B\n58n8lFIItLsZs+pKygdQiG4xfgDFJAsFAnD1cSlUSfKdgDm2dMzxXiVKucsB\nog87pu2Pm5n+wqwldyygmZpzHDfJMW1jQxJDueV+mk7EbeemswwnPci7CSZn\nvtGYVTWDz7bnXCsrHafssScF/IhVdwBj1cTEoBsbKxywUGTJFvFkG+Sharq+\n7jGo\r\n=5M8d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzZqmaePIGCu7Em2DnqmH4HI3IUeWonszAWnjXmOgspQIhAO7MP0wixLB1YMTpMCtXs5izkbOJKMW3eQ8T2wG+TrmS"}]},"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.6.3_1608898598299_0.2555585170674679"},"_hasShrinkwrap":false},"3.7.0":{"name":"reactive-state","version":"3.7.0","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^16.2.5","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/node-fetch":"^2.5.4","@types/react":"17.0.0","@types/react-dom":"17.0.0","chai":"^4.2.0","concurrently":"^5.3.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.15.5","jsdom":"^16.4.0","mocha":"^8.2.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.1","prettier":"^2.2.1","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^5.11.0","webpack-cli":"^4.2.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.3","typescript":"^4.1.3","istanbul":"^0.4.5","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","redux":"^4.0.0"},"peerDependencies":{"react":"^16.0.0 || ^17.0.1","react-dom":"^16.0.0 || ^17.0.1"},"gitHead":"c1cd16d1c7848f8e7f5ce4b33de4848a1e3a9239","_id":"reactive-state@3.7.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-49IPsMFlk9RhzaPuc6ZAouuheAqCWc8Bebl4yW4XpDqvN8//Ge7zHwOX/LDOOFkSz3gZiGnpONZ9CqLxLuSQuQ==","shasum":"a29a975850476774ce3d9a2e93ff9ff5d552a66d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.7.0.tgz","fileCount":37,"unpackedSize":96017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/VsCRA9TVsSAnZWagAA8C8P/0WQN57YimoJlbAlAW1Z\naoRiGeCZQSC1nKj9aJ72OPYcsxxZymOeggaJjmugaStA5T5C2dL6+/uHVGuP\njaFaWa4II9KnfsLw0FmirFi0OfAfQgt3dLVPwvyjSuLLky0qFRkjEOL8Hepv\n5KuhHUWM1WMnA0pdfol0fmuu3zemXURpUMPQSsHUFPct/x/i7P1LXTJEQ5Bm\n2I4+A9M0m6ozo0EzBpZ802dVfGIPDNOfEb/CfBHGv3nDvT0MHm+eBt7hj3X+\nMqolKvB/XMUaRhFqWfiy95WwCuaM2c/Rq/3I6cPUByhyDeWkHauYFsx0TRzd\neerXLvVN/sfaHbtUadI+X8KXyTz7QFMeaynuBDABckv5T2jYa16S4JiEc+YL\nWDtv1S/kGTkgTj3bknNVS2xC2yuNfYvf5EylkCXz/GGK65pNYnoH0RI/MIeQ\n5hQHZeghUAhTYm7wMXWymI9+5nVwhpR5RtG3WP9IiEhxDqqJUKKb//76xezO\nGEgIJGqrPIUg32EMSTpEdpocuxSzcm4mrK/lh+wLAIR07t1dt26L8LruE2ng\nUWgGDsrdQvCNH1IPTgx/m3nO29hmR2sD+SJC7B9eR+KsWxydLc5UNgLuCEYq\ni5cI2NLVb23MzNTglo+kmDKCUTgoB/PXC+zbDst8grEef8IzLPG4rfNbYzyj\np5pm\r\n=PYRL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxk/QT9F45xdGPylLkMlP/xG07cnVN47n87Vk+baDdKAiEA2m9ZFrtXiFu0sAVw2doHMU2AtoceE36aKGlr3fVolsM="}]},"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.7.0_1641543020250_0.08500575123535525"},"_hasShrinkwrap":false},"3.7.1":{"name":"reactive-state","version":"3.7.1","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^16.2.5","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/node-fetch":"^2.5.4","@types/react":"17.0.0","@types/react-dom":"17.0.0","chai":"^4.2.0","concurrently":"^5.3.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.15.5","jsdom":"^16.4.0","mocha":"^8.2.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.1","prettier":"^2.2.1","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^5.11.0","webpack-cli":"^4.2.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.3","typescript":"^4.1.3","istanbul":"^0.4.5","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","redux":"^4.0.0"},"peerDependencies":{"react":"^16.0.0 || ^17.0.1","react-dom":"^16.0.0 || ^17.0.1"},"gitHead":"b7425e08700213c1c01c130533d2af618c279abe","_id":"reactive-state@3.7.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-uTuNaspUh8lcpl7sigjqP0mDLd5OT3XvVrp0+ALaVbykW5va+/L8mHZ6JJnedbv2jVnwSrg8ILuh3Liy5MWxHA==","shasum":"90d99f8c3125f4aee3b3ac9b6dee62efb4eed05d","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.7.1.tgz","fileCount":37,"unpackedSize":96017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/XrCRA9TVsSAnZWagAACQcP/RqRaSxlIVl8dZnpCFC0\nj+SHPevPp13uU3HGu6xpZH4q4KqTI0mzYlrQLUeLvwuwWaXJWzNaezBKzKIs\nWJOIOINa7geKaNA3mgMdN5CkWClYyMF7MUCuD6/2I+Fkqwe/hpJ4pLtZfASK\nBWtJ2S63tG/KWt5igEHFqnUPF20O7FAmyGak8ZjslxzSI3q3166Ua7Czry5w\n/chx1/tWYkzIk51/hRoT0dyVaWHb+YAvuAtdR1CdTP8qhv5WMfU3NHu1Ylli\nVDuNxiO99bx+kYnU9VQikwzNzFN+KKtvSRQdSV6jrEQgxlTB0uDS1Z8LbsI4\nh1IQU5wsSugjYB+51WkkTQ/VrltBdDMtEjqiDM7l05B2/eXqi900R+69+Bhg\nIn3BCbPNsStyEphLMfUaBZykqENeYbM4NmSlhno46y398vjyZT/vqR9NDanA\n0JaZeOb/5yg98Y403jPgjy5txPIliM5OLDdtjWGTCmfxB1xFBYZcXQJrvylz\ntnU2PXUN3SB5DxG+lBTSEJzvvAozpWtQMakDYQyWzST0raakqG7lZBTxzzv+\njapR1DdZPjCODv8rCvHq5Hm7DEoJ9OJowAmVtj8MMG/argbxzmN0jSnZkpBh\nlvaDW0lyxW7yywX0V6UThGIU6JkNr9fmWS5r5qwqG8NtB7vz5E4WHQDO23Q9\ntJiP\r\n=/7lW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIADGbxxBOvT7XBut/zgXwO2c0zeoLfXkfEwX/auxc2pGAiBSvklpKg3S4IfjGQLAVECVLzoVGGGnd7AeeT6384enyA=="}]},"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.7.1_1641543147117_0.7011938190112841"},"_hasShrinkwrap":false},"3.7.2":{"name":"reactive-state","version":"3.7.2","description":"Redux-like state management using RxJS and TypeScript","main":"src/index.js","types":"src/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build-tests":"tsc -p test","bundle":"webpack","coverage":"node node_modules/.bin/istanbul cover _mocha -- test/test","coveralls":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublishOnly":"npm run build","prettier":"prettier --write {src,test,react}/**/*.{ts,tsx}","watch":"tsc -w --preserveWatchOutput","watch-tests":"tsc -w -p test --preserveWatchOutput","develop":"concurrently \"npm run watch\" \"npm run watch-tests\" ","run-tests":"mocha --timeout 10000 test/test.js","test":"npm run build-tests && npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"keywords":["Redux","State","reactive","RxJS","store","React"],"author":{"name":"Timo Dörr"},"license":"MIT","bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"homepage":"https://github.com/Dynalon/reactive-state","devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.13","@types/jsdom":"^16.2.5","@types/lodash.isobject":"^3.0.3","@types/lodash.isplainobject":"^4.0.3","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/node-fetch":"^2.5.4","@types/react":"17.0.0","@types/react-dom":"17.0.0","chai":"^4.2.0","concurrently":"^5.3.0","coveralls":"^3.0.0","enzyme":"^3.9.0","enzyme-adapter-react-16":"^1.15.5","jsdom":"^16.4.0","mocha":"^8.2.1","mocha-lcov-reporter":"^1.3.0","node-fetch":"^2.6.1","prettier":"^2.2.1","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^5.11.0","webpack-cli":"^4.2.0"},"dependencies":{"lodash.isobject":"^3.0.2","lodash.isplainobject":"^4.0.6","rxjs":"^6.6.3","typescript":"^4.1.3","istanbul":"^0.4.5","redux":"^4.0.0"},"optionalDependencies":{"istanbul":"^0.4.5","redux":"^4.0.0"},"peerDependencies":{"react":"^16.0.0 || ^17.0.1","react-dom":"^16.0.0 || ^17.0.1"},"gitHead":"1eb410933dec6c2e9bb8fbb5f6ebf74e8dbd18c8","_id":"reactive-state@3.7.2","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-XGa/RqFzXEFgzUAoWh9T6t+kfBajA6BcUF9dtCquztKHo4r4b6a5eoUkqTbeucYJVOv/3R+z/MWvyEsUSuILag==","shasum":"9c93a9d2745370e317cde95134acee1e4afa585e","tarball":"https://registry.npmjs.org/reactive-state/-/reactive-state-3.7.2.tgz","fileCount":37,"unpackedSize":96017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/ZqCRA9TVsSAnZWagAAGpMP/R66yodCP2Pe0Vm16hUZ\nzpUJbqAWArp6GjlHveG//l28Y7Olcx81ZEAmEASd+WHLJ5bzg38sSmJA9QCS\nTOiobTFOuWDHvViLcQfNLiXVs55qHcU5OGRacIdEnIxqfzOar/qfs6KFBSqH\nPhJTyL6P51WXmAz4tl+034lkyOBK/DLJ2ZzgvlPTxP7fBsCHYDiZpKZqr0t1\nCUnT/mpcJR98DJ9Dj7VpGns+GKCbLBJT3UMbQEvedJBOXmWCi+YtpK0GNVNM\nJYd0P3KIdXEXDDgJ1QNc9L57xlU9+8EryXNohrliahv1TNZ9eBKGhwFBgufz\n/7VCyTfe1dpCSMznRby8m8Kejp7fOgexdRBjjQCFgFaXW8xE7z8QfYT3A0rq\nSzf7AhytP+Kke9QMLjl0A2qNhSELWwW2Oraj6P1GuDOdK0Sn3hUkkZ+/ffPu\nXrisPahwIpODkVO9k2pOIMLFZyV7DRrASpr5yQjlwdGpvlu+qUwChUoMe63d\nahWLgD3ehHBTfS9Z5uYiZu3AsOq95rkJkENUKctACoyjrtbF2GMrdasVyJnA\n5u4t+MS5/1CwkpX9fyClKUhZlRe8t5XGPwwTx53yphD7hOpqWkj900X5JJQZ\nWN64aqOtt5FCeW+Ofd0B7OvdE+TsZpWH0NdIhLd7nsc7cWtEjM3+gtbiZO78\ncgSa\r\n=kIQC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbcX2SfEX+bTsBU/YI7tlYp8pCY7T8KOFZ9F0rUP9aBAIgEVvtDG0yvnJ78neMs2nR7NBTnhHD/MYdD2dYO+286N8="}]},"_npmUser":{"name":"dynalon","email":"timo@latecrew.de"},"directories":{},"maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive-state_3.7.2_1641543274603_0.2453570756285215"},"_hasShrinkwrap":false}},"readme":"[![Build Status](https://travis-ci.org/Dynalon/reactive-state.svg?branch=master)](https://travis-ci.org/Dynalon/reactive-state)\n[![npm version](https://badge.fury.io/js/reactive-state.svg)](https://badge.fury.io/js/reactive-state)\n![code coverage](https://coveralls.io/repos/Dynalon/reactive-state/badge.svg?branch=master&service=github)\n\nReactive State\n====\n\nA typed, wrist-friendly state container aimed as an alternative to Redux when using RxJS. Written with RxJS in TypeScript but perfectly usable from plain JavaScript. Originally inspired by the blog posting from [Michael Zalecki](http://michalzalecki.com/use-rxjs-with-react/) but heavily modified and extended since.\n\nFeatures\n----\n\n  * type-safe actions: no boilerplate code, no mandatory string constants, and not a single switch statement\n  * Actions are just Observables, so are Subjects. Just call `.next()` to dispatch an action.\n  * dynamically add and remove reducers during runtime\n  * no need for async middlewares such as redux-thunk/redux-saga; actions are Observables and can be composed and transformed async using RxJS operators\n  * no need for selector libraries like MobX or Reselect, RxJS already ships it\n  * single, application-wide Store concept as in Redux. Possibility to create slices/substates for decoupling (easier reducer composition and state separation by module)\n  * Strictly typed to find errors during compile time\n  * Heavily unit tested, 100+ tests for ~250 lines of code\n  * React bridge (like `react-redux`) included, though using React is not mandatory\n  * Support for React-Devtool Extension\n\nInstallation\n----\n```\nnpm install reactive-state\n```\n\nDocumentation\n----\n\n  * [Wiki](https://github.com/Dynalon/reactive-state/wiki)\n  * [Demo App with annotated source](https://github.com/Dynalon/reactive-state-react-example) (includes react bridge examples)\n\nAdditionally, there is a small [example.ts file](https://github.com/Dynalon/reactive-state/blob/master/src/example.ts) and see also see the included [unit tests](https://github.com/Dynalon/reactive-state/tree/master/test) as well.\n\n\nExample Usage\n----\n\n```typescript\nimport { Store } from \"reactive-state\";\nimport { Subject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\n\n// The state for our example app\ninterface AppState {\n    counter: number;\n}\n\nconst initialState: AppState = { counter: 0 }\n\nconst store = Store.create(initialState);\n\n// The .watch() function returns an Observable that emits the selected state change, so we can subscribe to it\nstore.watch().subscribe(newState => console.log(\"STATE:\", JSON.stringify(newState)));\n\n// the watch() observable always caches the last emitted state, so we will immediately print our inital state:\n// [CONSOLE.LOG]: STATE: {\"counter\":0}\n\n// use a RxJS Subjects as an action\nconst incrementAction = new Subject<number>();\n\n// A reducer is a function that takes a state and an optional payload, and returns a new state\nfunction incrementReducer(state, payload) {\n    return { ...state, counter: state.counter + payload };\n};\n\nstore.addReducer(incrementAction, incrementReducer);\n\n// lets dispatch some actions\n\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":1}\nincrementAction.next(1);\n// [CONSOLE.LOG]: STATE: {\"counter\":2}\n\n// async actions? No problem, no need for a \"middleware\", just use RxJS\ninterval(1000).pipe(take(3)).subscribe(() => incrementAction.next(1));\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":3}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":4}\n// <PAUSE 1sec>\n// [CONSOLE.LOG]: STATE: {\"counter\":5}\n```\n\nLicense\n----\n\nMIT.\n","maintainers":[{"name":"dynalon","email":"timo@latecrew.de"}],"time":{"modified":"2022-06-26T09:07:10.685Z","created":"2017-05-21T16:09:08.341Z","0.0.1":"2017-05-21T16:09:08.341Z","0.0.2":"2017-05-21T16:17:48.499Z","0.0.3":"2017-05-21T16:20:55.967Z","0.0.4":"2017-05-25T11:00:33.242Z","0.0.5":"2017-05-25T20:51:42.602Z","0.0.6":"2017-05-28T10:43:45.398Z","0.0.7":"2017-05-28T11:45:11.417Z","0.0.8":"2017-05-28T11:53:12.660Z","0.0.9":"2017-05-28T12:12:41.012Z","0.1.1":"2017-06-01T18:02:21.026Z","0.1.2":"2017-06-07T20:35:05.643Z","0.1.3":"2017-06-08T04:47:18.713Z","0.1.4":"2017-06-08T16:47:14.190Z","0.1.5":"2017-06-09T20:37:43.172Z","0.1.6":"2017-07-02T08:05:13.051Z","0.1.7":"2017-08-08T22:47:30.185Z","0.1.8":"2017-09-27T15:49:21.183Z","0.1.9":"2017-09-27T18:54:07.958Z","0.1.10":"2017-09-27T18:59:50.378Z","0.1.11":"2017-10-09T19:10:26.726Z","0.2.0":"2017-10-11T19:06:21.047Z","0.2.1":"2017-10-15T21:03:27.878Z","0.2.2":"2017-10-16T09:34:12.776Z","0.3.0":"2017-10-20T18:41:19.328Z","0.3.1":"2017-10-20T18:47:20.149Z","0.3.2":"2017-10-20T22:14:52.839Z","0.4.1":"2017-11-13T17:51:51.224Z","0.4.2":"2017-11-13T21:33:21.370Z","0.4.3":"2017-11-18T20:12:30.902Z","0.4.4":"2017-11-19T10:50:47.314Z","0.8.0":"2017-12-22T16:50:54.729Z","0.8.1":"2017-12-22T17:37:40.544Z","0.8.2":"2017-12-22T18:03:41.488Z","0.8.3":"2017-12-22T21:35:18.468Z","0.8.4":"2017-12-23T15:10:17.759Z","0.8.5":"2017-12-23T15:17:07.845Z","0.4.5":"2017-12-23T16:23:06.591Z","0.8.6":"2017-12-23T16:25:54.505Z","0.8.7":"2017-12-23T21:30:30.596Z","0.8.8":"2017-12-23T21:36:52.700Z","0.5.1":"2017-12-23T21:57:31.030Z","0.5.2":"2017-12-27T07:44:13.250Z","0.5.3":"2017-12-31T11:35:39.460Z","0.5.4":"2018-01-11T12:31:53.240Z","0.5.5":"2018-01-11T15:40:39.433Z","0.5.6":"2018-01-14T15:48:06.766Z","0.5.7":"2018-01-14T16:18:14.144Z","0.5.8":"2018-01-16T16:33:16.627Z","1.0.0-alpha1":"2018-01-21T16:09:59.674Z","1.0.0":"2018-01-23T16:28:22.509Z","2.0.0-alpha.0":"2018-04-20T20:03:50.438Z","2.0.0-alpha.1":"2018-04-20T21:05:34.362Z","1.0.1":"2018-04-21T10:36:56.963Z","2.0.0-alpha.2":"2018-04-21T15:57:48.479Z","2.0.0-alpha.3":"2018-04-21T20:36:56.724Z","2.0.0-alpha.4":"2018-04-22T11:47:34.090Z","2.0.0-alpha.5":"2018-04-23T16:49:43.183Z","2.0.0-alpha.6":"2018-04-23T16:53:37.521Z","2.0.0-alpha.7":"2018-04-25T10:04:20.272Z","2.0.0-alpha.8":"2018-04-29T09:26:19.613Z","2.0.0-alpha.9":"2018-04-29T09:47:10.875Z","2.0.0-alpha.10":"2018-04-29T10:20:30.064Z","2.0.0-alpha.11":"2018-04-30T15:27:36.933Z","1.0.2":"2018-04-30T15:31:13.093Z","2.0.0-alpha.12":"2018-04-30T17:03:54.436Z","2.0.0-beta.1":"2018-04-30T21:44:05.851Z","2.0.0-beta.2":"2018-05-01T09:33:12.232Z","2.0.0-beta.3":"2018-05-01T11:17:43.189Z","2.0.0-beta.4":"2018-05-01T15:13:52.242Z","2.0.0-beta.5":"2018-05-02T13:29:13.862Z","2.0.0-beta.6":"2018-05-03T07:18:10.903Z","2.0.0":"2018-05-16T09:25:20.863Z","2.0.1":"2018-05-16T16:05:14.041Z","2.0.2":"2018-05-16T16:47:19.730Z","2.0.3":"2018-05-28T10:29:03.850Z","2.0.4":"2018-07-18T06:30:13.072Z","2.0.5":"2018-08-07T08:22:49.918Z","3.0.0-alpha1":"2018-08-16T10:25:21.015Z","3.0.0-alpha2":"2018-08-16T12:55:19.485Z","3.0.0-alpha3":"2018-08-16T13:06:14.733Z","3.0.0-alpha4":"2018-08-16T14:37:38.733Z","3.0.0":"2018-08-17T09:04:59.510Z","3.0.1":"2018-08-21T13:11:46.750Z","3.1.0":"2018-08-22T06:51:27.920Z","3.1.1":"2018-08-22T10:16:59.315Z","3.2.0-beta1":"2018-09-08T15:09:46.785Z","3.2.0-beta2":"2018-09-23T07:10:31.771Z","3.2.0-beta3":"2018-09-23T09:25:41.601Z","3.2.0-beta4":"2018-09-24T07:09:09.111Z","3.2.0-beta5":"2018-09-29T11:54:10.058Z","3.2.0":"2018-10-04T07:19:53.912Z","3.2.1":"2018-10-04T18:41:19.593Z","3.3.0-beta.0":"2019-04-27T19:10:08.307Z","3.3.1":"2019-04-27T19:21:27.214Z","3.4.0":"2019-09-02T08:35:21.592Z","3.5.0":"2019-12-27T11:30:41.682Z","3.5.1":"2020-07-16T04:56:09.892Z","3.5.2":"2020-07-16T05:06:54.774Z","3.6.0":"2020-08-25T19:38:55.614Z","3.6.1":"2020-09-26T08:02:11.029Z","4.0.0-alpha.0":"2020-09-28T03:56:53.723Z","3.6.2":"2020-10-22T15:38:22.853Z","3.6.3":"2020-12-25T12:16:38.522Z","3.7.0":"2022-01-07T08:10:20.436Z","3.7.1":"2022-01-07T08:12:27.310Z","3.7.2":"2022-01-07T08:14:34.774Z"},"homepage":"https://github.com/Dynalon/reactive-state","keywords":["Redux","State","reactive","RxJS","store","React"],"repository":{"type":"git","url":"git+https://github.com/Dynalon/reactive-state.git"},"author":{"name":"Timo Dörr"},"bugs":{"url":"https://github.com/Dynalon/reactive-state/issues"},"license":"MIT","readmeFilename":"README.md"}