{"_id":"@alcadica/state-manager","_rev":"11-dc984ae6b29b2c56c5053c1ecab1cc2e","name":"@alcadica/state-manager","dist-tags":{"latest":"1.0.3"},"versions":{"0.0.0":{"name":"@alcadica/state-manager","version":"0.0.0","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"alcadica/state-manager =========================","dependencies":{"@alcadica/signal":"^0.3.6"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"_id":"@alcadica/state-manager@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-xB4bCuxzXNeCRZBV2KjL3ZfuPaM3/F2FHaR/I8l/Gdo4vgYqFbrRwMZPfAyJ4nSFxvtBP10U3Dme6g3gc3LmuA==","shasum":"f0b982a40074e657e5890e08f50833612693251c","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.0.0.tgz","fileCount":19,"unpackedSize":74504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb++tACRA9TVsSAnZWagAAUwoP/Ri/5FPq8lLvCg/TX15C\nJIsuG3WBoDPWCb3NXO7QMvXVuZDqI+WzYYt07UC1IJ2/Cj+nBC6OxPzk1feF\ncIeArv2Cg1OmZg5tRwsxKelLRY7/B322bqQcskCinJccVrAuPLGMd7HbEvsR\nSa1Uu/yutPoTcaJJx8UhGISouR5fRkLibPi0V/jMMS7dO/6V1wn2n6Lyz5Ub\nrcA7F+izGxWBqUFl5iWICDtLEGg6ZxYZHUwCZTetZVEhD2e4CJo1lwqaEhkg\nnXymmDajoS66sSyMmZWSgdfp1+ZOVVZ2yFBqq1s4B6ePoHnAx+GMIM22VZsS\n0F/vLf1ZQly5CgJfI/itzUCHhK1PayQHw0VTOfGTwD2N9X54wyTYbPmQJlHw\nXVEgAb8KkjJwg0MT5m3xZKx0kGcKB/fSUBWnQkO111e3O5wjCnl6Zxk8D4nG\nLhYblRdZ/uK797n4wJ3RXfKu9jsxZ2Kw11pTX4HhA/HdQiZsDqUYYZ3Az/tr\nAum5XBibg4QHH9L9gE4MpH2zvEmorKVRj5kI6Ov8Q9aZO8MQ+MJNEmQTbjhK\nxd/qlFalgdOk4G48xplI9OZKIrX5M0S7gosDRzFgq+8pORBWwFANEZukaBRf\nWTk4i3Mb/j0UGR2RerjwvLWLDZugplNAn3QtNWjmqYYGncECnpiJI3BZ1JI2\ngzdv\r\n=RCmP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUfEM9G5FwC3xtq9hSKSevez8QKCKzDxJ2HtnfppJrdAiBuSs3ioz6LS2rJRGfuC/By6AW1Lb9iw+kq0+ez5F2+qA=="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.0.0_1543236415649_0.11580238454115088"},"_hasShrinkwrap":false},"0.3.1":{"name":"@alcadica/state-manager","version":"0.3.1","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"alcadica/state-manager =========================","dependencies":{"@alcadica/signal":"^0.3.1"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"_id":"@alcadica/state-manager@0.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-i5UgI5St+NX6mEXGrXwvogtEPeR4V71vp2Tcu9cOECfzLV4BJcXTkWOczFNFv26dlcodv3BEZfBr9hXAYGnYOA==","shasum":"a7aea7a3e189ce3919497b35c4f179eb3aad1061","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.3.1.tgz","fileCount":8,"unpackedSize":20087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/79WCRA9TVsSAnZWagAAGjoP/AkDqvTMzGvhHvIQNFuS\n24RK3fvN5vBN9EMnryTgW16nMvsvyTXjT494QzNeID6RWHNJRhisJgS7dnWN\nrl7z4wntVTKZ3B/EFaNRRQHIvza+k8r4zmxj3rSEgfn6ZvycUwPXBDSefcwm\n0UeHIhTq/KuD2JVmNqJN9x0GguIJqjkZUzaVzcjt9LwiWDYNVjSscE/NsZHS\nJ+Y9K5Y1/4nofPgoCRZ6YYElxiKzoURrXG3BdlERRDzM2Uf3LQNWWLEo0lgx\n8gavQCmR6JwA8Zegre4aLWiez0a/seyp3NuaVij9wo+1ReCJoETk7EOQP/bn\nxUL/oFC0neMImZJckE/rBHAMFK0dH5EDvlOFgDlXGPyQsr2NgJz79ZRJaISs\nfWxVhkBsZqw+ys6/QXU51TtJwZEHeSZPMBmMoLveTT+o54qEZfzL25j8o4/D\nsEDE4YSQT9AwfiE6k42ZKqtkJwremC1zMb76RCLX5J2Vkl86Ir9UHl2AhrQJ\nrZyhr/4R9cSM9fyBMecbZ8ZaiE9mm3PfxYSNRdYnKp10kwgyAYWZA12cM02Y\nvvcEoBXAhbVRowUV4UH/bLu3iJuA2VnRsdDtu1CqHseva8qBOyBgUmMyQlqo\n1mxGx8ujNBRgzvOk8O3bxtNcgBLx38zJG2ILQbapB+NwteX5FNlbUdMUMmaZ\nhsel\r\n=h96u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnmGPidWUc4xP/W3q9tcVXLUQT4mcjSYuHvo7eUT7QlAIgRm+ndobkVG6dwwriB2s081PeIYvHIMRDRkoO4ov4PrM="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.3.1_1543487317913_0.9260205957981584"},"_hasShrinkwrap":false},"0.3.2":{"name":"@alcadica/state-manager","version":"0.3.2","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"alcadica/state-manager =========================","dependencies":{"@alcadica/signal":"^0.3.2"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.3.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-4kGYa7oqN2+mgbSemgPNvsJ8KzeMDdJd8xyft4saNsdl0pmO3yj/WO8hZ93SYU3+q1sPxa4W3iV3wlmYikhFzA==","shasum":"f47fc2877bd70622997507a5cf6014d73a379f7c","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.3.2.tgz","fileCount":9,"unpackedSize":21285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcABU7CRA9TVsSAnZWagAAEAYP/0U27rCyQtI8yKE/oabq\nxLkdISwpJcL9fqXyqMZBNnL4FlxHVzv77Si5u+GF4rPOsmq88emj0waPwE07\nITkaVzAfodrIfp1A1J7EKNQw69PIPaQ6EPK0ByEZ4bmQM1QO+FHi+fD5MCvQ\njGXl/yImWJ3xYmD+0HZaha+9NH2GBHndW3i5SvKLf637Y0dHVv+lAJa/5H4l\neet9UQ8iA/oq3SEgF5FQw/AcjxXLo/IuL0B6gIir+88bROwT/sG663nxPOQ+\nrXvLI9iLEyx+JT+sdZtbHyw1y36ZLfMUTHigR9PYrEfdaf+aPtyFg6wBQrzQ\nMjRwjzkeNJavFxmoqekKEEirzPScPc+FnroxiNjr97mn1Fag6lbpjXpSdQDB\nadazDtNHth5dRDeB7YgSbBjmI4/wPKncEIJSS2ehpxaij62r2/FbJC67bZO1\nYsd8Wymr0HKS8ZKjtuFKA47/9p2fqKVnJFQVwY/LH852szAjfEB6h9NdH8Oh\nAFgaSxMZrw3liCI+jUHQgFK44jlTlPBceGkSg4rtJfKnyqNhJypgSAh2npEx\nuN+ELmf63i/JsOT86ZjRobHtLnoxyeBrOnpoHaVTpzb0SxfuVFoMeF7753k6\ndO3zYNyCQT2vEGYsPmR9SYBaKSItYM0vMEqLAM8Ek/xVlGWjGYmeMKNWa3Ww\ntzev\r\n=9EKd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy+6YmSZ7jEd2qcFPJRQfhHjnhs3r5SrwmGj5oaYluFgIgaS+XnTKvdajzq1eND43CJD6S/GuqJmJ2aIcGSGNnhc0="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.3.2_1543509306384_0.2251834505786241"},"_hasShrinkwrap":false},"0.4.0":{"name":"@alcadica/state-manager","version":"0.4.0","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"@alcadica/state-manager =======================","dependencies":{"@alcadica/signal":"^0.3.2"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.4.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-lvVoMQCBIEdkL5rr89oTsUaAiquEZcvjHKc/R9QzhoXz4RKAnl6tXJxydz+UMbCtV5lkmfrF8p7qZ6qM0pNHLw==","shasum":"00c4eac368e0ff10d2d0aaaeaee9f0274a1fa86b","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.4.0.tgz","fileCount":15,"unpackedSize":31816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcARw7CRA9TVsSAnZWagAAGCQP/jBoxA98Nyx2AvLD9P1p\nT/JWvQjv+21c52QIEMQC4XJr0m68sJPsQtUHgo6e27rFT7tKBQQ7EThXNaq2\nNTpbvfieMbgf6x3lx7VSdjd1sAWrPDiajNGw2cui4HTPEJONcI8cVRNwfm7d\ntWap8xfkg5aRDyGAHjPZx6kVgzLInCSeM/BQOR+tBNfFElKCsLXJHX3+Aley\nI+u3axFeTqyuRbA1erktXr2s4K8sXcVpch3oIq/xNNkaw3zazfESNROc94Sf\nOGd58mO1kqPfTEsFcF9hyXwtcCBUVPsY1TgqU59+omXND7XbPlhUkPZKaTA+\nzeepLiENTPLqkeCUF5Gr/+M7WX/3q+HUy9CymCZ71jhn1QW2ELH6VSe6q2I1\nyrdFCZxaYVfVRd7DnMxadgTvqbOWymSpbLwONVJKfFwEiND/BXMzJzm6fsTJ\nCv0gp1M56OOLo3+dNKpNreDn0lN9y0PnNq4u89HcHrOLpAs9tBezVWnmOBqc\nUnKD6vAH9GMprDpfxG12hJz+biAycSkDZhl3CwZg9rAVcUWJqQ3tCkHnj5YT\nCz3Uk4XDI52Jkyd1RCUBB2zr2C9AAqnLtm3IOuPJUSye2LOuhFNjkEi5zB5Q\nAgtvYfjKyyPRiiZ2QtLkvELCwtqIWjm0FETQHA/6YWZsmoqobwpLErK+Yuk/\nkK54\r\n=3XVG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCvDQ0ypbuwJt6C5hKlFv5RYK6QDybhafDeSVG6CHWuAIhAMmOYufnidfMHsHQB+izcOg5DuNmb2OOvg0EzUY7+3EE"}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.4.0_1543576633495_0.5539004521456465"},"_hasShrinkwrap":false},"0.4.1":{"name":"@alcadica/state-manager","version":"0.4.1","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"@alcadica/state-manager =======================","dependencies":{"@alcadica/signal":"^0.4.1"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.4.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-FUEFl8XgDZuEpifvSevpuheTdghysVJBp6fUydlrdVxFI1p85BFYdYUikp01b3A8zgFyjTM/IMLezuS4IvTjzA==","shasum":"d57ddfc0c2496c5e973cc56517020515b9424047","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.4.1.tgz","fileCount":15,"unpackedSize":31816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAUh6CRA9TVsSAnZWagAAzA4P/03/C83Ij1vQXbzEDLBW\nszUyTdgf7iV2RjuqW9G2EC71E11QAfcgtPKXWf8V5p1OA6O3NylumpYvnFV0\np6dIJU40Cdy+bSiK/DFo3fMVEQHEcRzjFtCHGRVakVeWdSFkkG6RcasgbXmB\nFGJ5JGP6qtsdpAcKl4SEulWq9ehbYKW9UHBYeCrw2xf3QYr5JjfBou7B0BxD\nKs/xmLkKPY91k3ZGqesLJM6AXk2fzHKRKVIad12CPEedO+wz7FvQVpgsSsn2\n2rIZvsEjvDJdB0MGnMOjDkd114vviXoV/y9wuTNG7zuWtFMj1/e6WQ0eahya\nRDWlFAogXZJLJm/Wgp3iOCR30UotcL+xlOHaoNCMgYtP4L5jbkN4DooaiYYN\nASUJapL61G7Q7F2X7G30dUrUOcsg84Be3EzluekMr6zH19v+QWRlG4Cibmf7\nZbShPqz1n7MaESMnpn9h7N9tgHTK2ZdnRIUmCo39xTv42RloudpGG8yWbU1Y\noayHfZWwtvDwkdVIAtvMaK5s/PFMlhm4wK4LIDReQCZaFMOnGx+LqYN6qQiv\nuSsEhAKhnnY1EzNYW18tLbgm1cDfhqzqKuzR4DPCPmco3R3kh2ihVcZiTwdg\nxgt9ldkjuXZM5PPC8mYr/LkseYeTv11EN2C6pwnmgKEW07F90i9N9svGkjlU\n7UcZ\r\n=Sy1a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ+TBtJou+p9Vmnd4dOZLNXSzFqHDHyiayVCeiDOuWSgIhAOO/47A+llU2QsN9b7o3Yry+GzIkg6Vp7CXG8Ixq1M+p"}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.4.1_1543587961351_0.7623060879524777"},"_hasShrinkwrap":false},"0.4.2":{"name":"@alcadica/state-manager","version":"0.4.2","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"@alcadica/state-manager =======================","dependencies":{"@alcadica/signal":"^0.4.2"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.4.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-umNmsS9sqTedWjGc6QtQEQ57RgUi/2Xd2zVskhEWYPtRDGjtGbnzf6yl/hk/IfUGlxjta8V7cioot+hJ18WU9Q==","shasum":"34ff5c41656a3588d93c0d7fab82f24717b1ac81","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.4.2.tgz","fileCount":15,"unpackedSize":37214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBS1HCRA9TVsSAnZWagAAzvoP/RRejAVjJ1h+JpcoQHXh\nJTEmmemsHkzkT455ZKyZQ/xy3kkcmrtzQFUU9PkPmQdipp8WWVzS0vLG/4ln\ncBL7g0vAMDgZY9ss3yITzs1/rqwJVo4j57/Yr0x8EY0TIRMTWT14GsNztMkk\nHtVTBWT8BVkB2hQgO8CSq6UX/t5P9ddV2WsPI4DEX83wBNDKjkTHMxTjFN6z\nsUnR/+EPfdFC3kQplQAbujwzWz0BKfWeov5CcFpcm1JdLbBOSxOjmN1gC5g2\ne7UuWiF9gjC0rZUINM7TiNnnSLzm7aRhFNEb5eFEjBSMhdiW0sFqPS+aE0PD\nXUDyTD4XzBFBLDrDR+B1swv29x4cTH1i5cODXdWodzGWmF5bbXBqWD6RjdMx\nPgr6bxpQBiK8g50hBIx73HEuaThAh4syNYpS68/A5YRLj2qEqt/9Kf/SwSFz\nqOpr40RJhivq/wRNs6cUq7xtpN/hSPMDlbRdFJj6JBn41fyWQtunzkBphFXI\nA4LjYpJvqoocoLSlxtQC54Q7m1C2+YPw3qVkGKeUxgDohmI+w1d9uKCGZsAb\nnLSBOpnXayQas3TZYw3a1Q8NiB5OrZPzOgL+JhdFw9A+I4Nm0y35SgEKq+Ce\n4QEr4ACSsx/HcQiMwLCBv1T5+xLxLxdc7Eou+jm3rcple5P/kvbqrZ9y6jbk\nYUSU\r\n=9ocw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkpSTH19n2kXm3Ad8THT9gucYgRd6mkSoCimioym58/AiEAnw6HcpK7YDZwzc+HcR4cdo+F94xtcZtkAVSF4/aKu0Y="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.4.2_1543843143233_0.13076654152820688"},"_hasShrinkwrap":false},"0.4.3":{"name":"@alcadica/state-manager","version":"0.4.3","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"@alcadica/state-manager =======================","dependencies":{"@alcadica/signal":"^0.4.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.4.3","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-FpJSLLGgEmCeFM4g7nZ4BxeDhFHWcznErLswCYx7MfkAclqAFWHa67hng8MbrWNqW7V1F/PvyXcfQeFfV6VLog==","shasum":"8e42b80c8e8e547948efb4b37d6cb57aedbb6d51","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.4.3.tgz","fileCount":17,"unpackedSize":41673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBk1fCRA9TVsSAnZWagAAj/IQAJrWpXuvM6uDnKv2R+8e\nK+rB/4fwK0yZCwxEKBjU9Hv33SVEpN2TIJ7SZT4WPdWWGS12HY4YtPYAr2ev\nyp+VeQyyBynnuECWwCtqhkvXCzLQ1Lh2Wi6FE4oA4HxYYQIxR8ZZx9IuAGNX\nqfwyjR0MA+Xh03b/BlCMgBIeKbtIN/wSVAG/e3BFng+cq98DHNPMejvXpm00\nPg8Cr9+n74uBzSmNG6eiSEVRIQqZKP6olG3Xv3inzv2VMBK1fDLqn0hUIBPI\npSJ/hQq+YMkS4cP7PoGDzX/iBpc89d2SWDVhYCKW9mOSibFfh8CgrlWSgLfY\nbLsPSpCMTxBkgC0KnjIrZaFI2SThaqqLzbKYcMdiva+IGEOrUvhwtGmHvA1Z\nmG7lEfQbSF7hyQuD3tnh5Re466wIKTxjSI+BIY6ckiS/qHP/yzb77uHmsbY2\nbGYRh2b+Trf9xKqvb3eriv/FyMaFePNlNrJuzsZ4L7fQ8zyFWWfX/zcEVkmz\nynex/AVd35CZTMXc2rzXmDaebX6GyG1B79jZG8V528tTNtrTOv7HhLD5CIDB\nPU3COrx/uFzdQwJTzoiVTiBripLbQ913flclYS9228Xb1bplyDtO84Pt7eRf\noU9AqnhYtW7p32hyczNSLRntVIKfNhj/gEPfL/cwr6HF5rh9e7G0Q1tN1rmd\nDw5V\r\n=Nmam\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDc/ZlIqFonRbliiTzimhOl1S2dLXPLfw8tS1wa2wltFAiB/h9AJJgPfm09fm8NiALVEw2K2EAxsaEHmTkA5Zv18tQ=="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.4.3_1543916894411_0.4134865882186032"},"_hasShrinkwrap":false},"0.4.4":{"name":"@alcadica/state-manager","version":"0.4.4","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"A simple modular state manager for your applications","dependencies":{"@alcadica/signal":"^0.4.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"_id":"@alcadica/state-manager@0.4.4","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-AVrGID0UgngO2miRmP+tmZHF1BF20lUErxy/JU95X61yxI6IPQJSLlyaGjv1hNpLT+lkiGoBMk01gTiY+/Ol+A==","shasum":"8cc7900691795c89a0d70be097390ff0e96eb770","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-0.4.4.tgz","fileCount":17,"unpackedSize":41725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBllPCRA9TVsSAnZWagAA+SQP/AlQpEIuohYo3r5eui0u\nS7mNDAJTKNlvcucB4UWMZeIypCm8t5m3Lwlmz5Cmtejis+oGTkXthbvOib6r\ngXRE/pWLkyakosjti5hEK4vP0nq4lmbYzipCPZsVqk6dxwmf88AK2bgx/lye\nyWHjdUabgz1FtUdIEXCy1XlWyr2r27JDcOIbeaRwMe2+QwO/rphVAhdQASRn\npx332jIy7CPkTBLZrH4TZjgNNGumGaLNZsrk38fiTVMHPjUqd6ucBLzPOKq8\n2vZq4RkEPoZofTZ5FEi8SIaVmoA9uj/HjSz5KBk9owqnUVWYN/KmfMCA0kVf\nokPJALprcYvSSSUROF5L9fLbs172iyhuFUzVLTQ3a/9DSKFMt5XO8jZEfG+n\nlI/W5kwxWvhCnvII+36yiGjz9ChQT3kMqemGZJlhfw3yUwSxH1xNdnOsARQx\n+pRXQN3r6dRPfS+QI+/iZl//82ZMb9xOykFDHOrycbF1Hyp7XPSxFEQpcFG6\nJ2yD92veAZs3m7dwtZW26n1n7wndJ9kFAQYZzt0Rbt6eEg/Yn4icPRK7EvTG\nDUv483qAmK5XrQ6TqEFnvKUcN7fieuJiBARMpt59JRT4Ur9YCeif44q+QhqR\n9hY0Dn1ORzynQPeUktXmDn4n6g65BvTUsV7mVlQga1m+1iiw+1p6zGvBZsAW\ncs50\r\n=q/Xh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDztAID077b2Kr0w5fL61fc1K0xj0WX8BlY1z0O/xvQmQIhANiL1wYSNw5n6IZReA0RL9+/9On2ZgF9CiQ4Lw2zLm50"}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_0.4.4_1543919950876_0.3092614976633734"},"_hasShrinkwrap":false},"1.0.0":{"name":"@alcadica/state-manager","version":"1.0.0","main":"dist/index.js","types":"dist/index.d.ts","homepage":"http://www.alcadica.com","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"A simple modular state manager for your applications","dependencies":{"@alcadica/signal":"^1.0.0"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"_id":"@alcadica/state-manager@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-6QuFOlX6mrD9PWfqbe5bP8UPV7rSL0JZf216Q30/mYk2A7sm+C6m7soJW4te1FVlG9UYuNWcHlSL0xeBmtB0xQ==","shasum":"453ce34ee56724146819780c941dc568d1244eb8","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-1.0.0.tgz","fileCount":17,"unpackedSize":41858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBlt9CRA9TVsSAnZWagAANCEP/2hcfb26mZt/mYsfEu+w\nxdvj27dQTL8w3Z3lB4oXakGdCI+R+o6dLwfN0p4gISsHzmI9xXIEZMnIEwxk\noXzBDKvrUO+JAfl3x8i3I5sdJcrU58i1CMAnthVBVVKcu3+ZnAo4mm+mYo9h\nJG3dMcl3eJQHxId38uiMXR7lMPztZYIZHmxWtHPw4eMVe7NmGUau0usd2VOs\nSZT849JQSY3OdfTxYv5HM1qUzRWknbmzIa/yfhj7kyicS+pGtadocnbnLAAS\nmHLdyMfbZOuGrUs1f/6KO6qlALQb7c/hE/vkjHHl0v/6U2+3iRSfhwqawWyc\nuuSdRUlLPJt9w/6Q1rE/XFwsCMQd86GrW7mwOgSBB8gAvD/jIrXjfTTifec8\nLBZ3kfM+kYN6KPxDUz3UaSco5IO3ij+XWsTaCc5qN2eMNbXSQKl0aQhgDEAa\ny9O3AQjzWMaCkvqEkMiDSNp8xoN3eThwy/SxdbSmBDicm6l/leDU++8bdZHc\njgODQL60JAyUo7T2isWSMutkM8CD2KbMdEzH1o6YKzULG89nFRVwZtV0W3ni\n7IKZ5irjwKOjI5vcil0m9/v3hDTknMZ6chFC4hnWAJpbjQ4hU8hSGvR7CL98\ni5SQatpPbGI4jRyuima8vWuOSEZ5DMinUg+snYvslFUkvHN0pxd7VohsW/rA\nI+tq\r\n=Cv3R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICcnd94TFuj7dKrT6Vy43gT7nO4BW23Lfw8HXk2HYkl+AiATPNpWY/3Lu3gxXIV/aTizEIzvnqAv3XOKdwaXsHYyvg=="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_1.0.0_1543920508601_0.7821663211869978"},"_hasShrinkwrap":false},"1.0.2":{"name":"@alcadica/state-manager","version":"1.0.2","main":"dist/index.js","types":"dist/index.d.ts","homepage":"http://www.alcadica.com","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"A simple modular state manager for your applications","dependencies":{"@alcadica/signal":"^1.0.2"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"_id":"@alcadica/state-manager@1.0.2","_npmVersion":"6.5.0","_nodeVersion":"11.1.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-HKNi3C3K+vBTRpbjUkTCM4fcrS/RXpjCXvZ2yUSCz7W/2gDohUYKva1xhTOEj2XEgZPp53zefMOprPmkp/zqYQ==","shasum":"c951ca5d11ed69eaae15c7c9c425f3fe961c4865","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-1.0.2.tgz","fileCount":7,"unpackedSize":24189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIAvhCRA9TVsSAnZWagAAhrkP/1ARlAG5kIVIHWKqwZO6\nW/hOst72wE+H9PGLebGYEdR8oXJ+fFYfy1P3dcIb6gU49e+XqNK3xiFa9vX5\nz9U/2lOpOI/QaJpHhyRRAxQ6dppOrlHzimujBS8KLRFBAB8F83dGwe4PLmwx\n9l1Aqf/bHdsNlzMo2HxMSIA7QPaO24W8xcbfRKL7roYe30LCTZ40Rz6DuptP\n1VJPD4bT/QScAprXEE3+ULjvoL/TnQlcBD8qaP/s3vtiZSypssYNIVZ+rwd5\nu4o++yBBA3JKUWvOaIRdmOpB+eB/AXdcEtdCzJb5pDFIMP7tOzxK9EmQj1SD\nDJDIy6XW3u1Yo1hsqNSWggd5qo8mIAgBPwG5YQVkI5bN1msKkqHFKCRuilPu\nbirGtD0sW0VQVeiGCN/DCAns8LvBjnN+MRg5UxaALcE/Xq8IIw92iT4ypHYR\nl6zvXc7ptZtmyk0sHtsj4S77gCf0ZWym7zfekkzkny70XeWhenySi2Y0rPK8\nThXT96ysZcdDb/gjh0PQiyMvZpPFqEVxLoZoZypDoEBI043bGwv0GV6EtD4z\nSXKnFiJ/4EzzVKmGIkEidZ6Md6HpR1u9+96EY6t1EVMs7TiG4iBEEv9Wtv1S\nRF2Wot7185ptbr4zoBcMEEzByZuO/Mc6yKUBiReysw5w7zP0Z6xksEtpimo+\nwxet\r\n=a2s8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFUolRiy1K9Ay/j2GBH505ARoyPTHE+J4CMaYeXiwDY4AiABbCCQwzn6vHaVv62G+0+eyPAe1O9fF7Nj1IfaXpVp/w=="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_1.0.2_1545604064769_0.7625584723738703"},"_hasShrinkwrap":false},"1.0.3":{"name":"@alcadica/state-manager","version":"1.0.3","main":"dist/index.js","types":"dist/index.d.ts","homepage":"http://www.alcadica.com","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"A simple modular state manager for your applications","dependencies":{"@alcadica/signal":"^1.0.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"_id":"@alcadica/state-manager@1.0.3","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-VK8l2b8a7SxMEgCoLn/9zYFEPRZlTyywqGo/g2LtIZDPRVPF2xCI95HuqoqKJoT11S0pvbWHn+VphI/x3cqSVg==","shasum":"b6372529be19c820efb6b5759267c94bd6f8f37a","tarball":"https://registry.npmjs.org/@alcadica/state-manager/-/state-manager-1.0.3.tgz","fileCount":7,"unpackedSize":24680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSCvZCRA9TVsSAnZWagAAye4QAJGxh18WSA6NxYUtIdbU\nkQR1ER2XV/w9GvxQnkBZdXHixgY5mL+SHWBJRTSTYbeuSeVDZ7DFMzyyE2Dv\n8dCrVpcOyQiNy1SMWGBYenocvWdeXOBJ8D5U0G0eKLVgnAa65RafJxo93ANY\n+c1IP08qaiTZfXEq7Ih5dgkSZdkRffI2LJVgLO9oqsMau3OMB74SgjsHlwJH\nW//D++y0VCQESdcl0RGKZFveI4R142H+xsijFyX0v+bO4KHyujACF0p6Fj7F\nmgmGwYyy3WWcvsvpRrAE8P0ZX0pehOV82HXPFcwrKL/IlMlwUQE+Nv/o+GbY\n0D/QMtRlK7q4CdRp/DNGLklCEwMU6wmkl4DA4vQoHDzJIqp0HO8L5EK4jlKq\n9ATqKSeYxZe2jFkj9EzYfKYpHv9wq7XR71V7q3GGZhnqppc/4mDCZjTLugUc\nceG9hbCK18FeAxeAmHHWpyszN1XnKsu4fQEZuueZzQKepE8AFdj5ELb8XR+s\nbbp6KVN9RgYaMtbZpYQzW8uKXJUDc/89QvQ7LJFbrKfJN/NfLvYniuJvVCzm\ng8550chL1Sr3HtFZpqzszjccVHkQtDG5GPKwVOsNrm+Iep7zcTWvRtKh1RVD\nuDqVO0e2x+sPOePhAehjU8omt25rtZkfC3E+3iUM+X1f+rcZ4z5bpVyMAt/P\n3dXY\r\n=iX7z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiH8If/9DZYIFlJrzq3tcKYiz2X7cKt8nr/+FyLzHXbQIhAOK80SOClNlJW9UFMCWMGHW+aktl4o7MrOZ0Kw5b7o2g"}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager_1.0.3_1548233688793_0.2939782478158621"},"_hasShrinkwrap":false}},"time":{"created":"2018-11-26T12:46:55.570Z","0.0.0":"2018-11-26T12:46:55.790Z","modified":"2022-04-04T12:35:36.783Z","0.3.1":"2018-11-29T10:28:38.085Z","0.3.2":"2018-11-29T16:35:06.510Z","0.4.0":"2018-11-30T11:17:13.625Z","0.4.1":"2018-11-30T14:26:01.458Z","0.4.2":"2018-12-03T13:19:03.410Z","0.4.3":"2018-12-04T09:48:14.532Z","0.4.4":"2018-12-04T10:39:11.011Z","1.0.0":"2018-12-04T10:48:28.768Z","1.0.2":"2018-12-23T22:27:44.968Z","1.0.3":"2019-01-23T08:54:48.970Z"},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"description":"A simple modular state manager for your applications","author":{"name":"alcadica","email":"npm@alcadica.com"},"readme":"@alcadica/state-manager\n=======================\n\n<a href=\"https://travis-ci.org/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/travis/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://github.com/alcadica/alcadica/issues\">\n  <img src=\"https://img.shields.io/github/issues/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://codecov.io/gh/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/codecov/c/github/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" alt=\"Coverage\" />\n<a href=\"https://beerpay.io/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/beerpay/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://codeclimate.com/github/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/codeclimate/maintainability/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" alt=\"Maintainability\">\n</a>\n\nA hackable state manager which lets you write a portion or the whole state of an application.\n\n- [@alcadica/state-manager](#alcadicastate-manager)\n  - [Installation](#installation)\n  - [API](#api)\n      - [create](#create)\n      - [createAction](#createaction)\n      - [merge](#merge)\n      - [StoreManager](#storemanager)\n  - [Examples](#examples)\n      - [Todo app](#todo-app)\n      - [Composing smaller stores into a big global state](#composing-smaller-stores-into-a-big-global-state)\n      - [Using middlewares](#using-middlewares)\n  - [Licence](#licence)\n\n## Installation\n\n> npm install --save @alcadica/state-manager\n\n## API\n\n#### create\n\nThis is the default export. This function creates a new store with a initial state.\n\nThe returning value is an instance of [StoreManager](#storemanager).\n\nExample:\n\n```typescript\nimport create from '@alcadica/state-manager';\n\nconst store = create({\n  foo: 100,\n  bar: 'baz',\n  hello: 'world'\n});\n```\n\nIn typescript the type of the state is inferred automatically, but you can provide the state a type if you prefer.\n\nExample:\n\n```typescript\nimport create from '@alcadica/state-manager';\n\ninterface MyStore {\n  foo: number;\n  bar: string;\n  hello: string;\n  someOtherStuff?: string;\n}\n\nconst store = create<MyStore>({\n  foo: 100,\n  bar: 'baz',\n  hello: 'world'\n});\n```\n\n#### createAction\n\nActions are the only way to communicate with the reducer, and are used to update the state.\n\nThey consist in a function which returns an object with a `type` and a `payload`. You can quickly create an action using a store `createAction` method, or the stand-alone `createAction` function.\n\n```typescript\nimport create, { createAction } from '@alcadica/state-manager';\n\ninterface MyStore {\n  foo: number;\n  bar: string;\n  hello: string;\n  someOtherStuff?: string;\n}\n\nconst store = create<MyStore>({\n  foo: 100,\n  bar: 'baz',\n  hello: 'world'\n});\n\nconst incrementFoo = store.createAction<number>('incrementFoo');\n// or\nconst incrementFooToo = createAction<number>('incrementFoo');\n\nexport const actions = {\n  incrementFoo\n}\n\nexport default store;\n```\n\nActions can be dispatched by the store with the `dispatch` method.\n\n```typescript\nimport store, { actions } from './store';\n\nstore.dispatch(actions.increment(100));\n```\n\nIn order to update the state, you have to subscribe a callback to the `reducer` signal.\n\n```typescript\nimport create, { createAction } from '@alcadica/state-manager';\n\ninterface MyStore {\n  foo: number;\n  bar: string;\n  hello: string;\n  someOtherStuff?: string;\n}\n\nconst store = create<MyStore>({\n  foo: 100,\n  bar: 'baz',\n  hello: 'world'\n});\n\nconst incrementFoo = store.createAction<number>('incrementFoo');\n// or\nconst incrementFooToo = createAction<number>('incrementFoo');\n\nstore.reduce.connect((state, action, update) => {\n  switch(action.type) {\n    case incrementFoo.type:\n    case incrementFooToo.type:\n      update({ foo: state.foo + action.payload });\n    break;\n  }\n});\n\nexport const actions = {\n  incrementFoo\n}\n\nexport default store;\n```\n\nNote that merges stores will react to the same action types.\n\n#### merge\n\nMerge combines two or more stores in one.\n\n```typescript\n// actions.ts\nimport { createAction } from '@alcadica/state-manager';\n\nexport const increment = createAction<number>('increment');\n\nexport default {\n  increment\n}\n\n```\n```typescript\n// store1.ts\nimport actions from './actions';\nimport create from '@alcadica/state-manager';\n\nconst store = create({\n  foo: 100\n});\n\nstore.reducer.connect((state, action, update) => {\n  if (action.type === actions.increment.type) {\n    update({ foo: state.foo + action.payload })\n  }\n});\n\nexport default store;\n```\n\n```typescript\n// store2.ts\nimport actions from './actions';\nimport create from '@alcadica/state-manager';\n\nconst store = create({\n  bar: 200\n});\n\nstore.reducer.connect((state, action, update) => {\n  if (action.type === actions.increment.type) {\n    update({ bar: state.bar + action.payload })\n  }\n});\n\nexport default store;\n```\n\n```typescript\n// main-store.ts\nimport { merge } from '@alcadica/state-manager';\nimport actions from './actions';\nimport store1 from './store1';\nimport store2 from './store2';\n\nconst mainStore = merge({ store1, store2 });\n\nmainStore.getState() // { store1: { foo: 100 }, store2: { bar: 200 } }\n\nmainStore.dispatch(actions.increment(1));\n\nmainStore.getState() // { store1: { foo: 101 }, store2: { bar: 201 } }\n\n```\n\n#### StoreManager\n\nStoreManager is the object which is returned by the `create` default export. Do not use it unless you want to extend it.\n\nExample\n\n```typescript\nimport { StoreManager } from '@alcadica/state-manager';\n\nexport class MyExtendedStoreManager<T> extends StoreManager<T> {\n\n}\n\nexport default function create<T>(initialState: T = <T> {}): MyExtendedStoreManager<T> {\n  return new MyExtendedStoreManager<T>(initialState);\n}\n```\n\n## Examples\n\n#### Todo app\n\n```typescript\n// numbers.ts\nimport createStore from '@alcadica/state-manager';\n\nexport enum TodoFilter {\n  Completed,\n  Uncompleted\n}\n\nexport const store = createStore({\n  currentTodo: '',\n  filter: undefined,\n  todos: []\n});\n\nexport const addTodo = createStore.createAction('addTodo');\nexport const filter = createStore.createAction<TodoFilter | undefined>('filter');\nexport const edit = createStore.createAction<string>('edit');\nexport const toggleTodo = createStore.createAction<number>('toggleTodo');\nexport const removeTodo = createStore.createAction<number>('removeTodo');\n\nstore.reducer.connect((state, action, update) => {\n  switch (action.type) {\n    case addTodo.type: \n      update({ \n        todos: [ \n          ... state.todos, \n          { label: action.payload, status: TodoFilter.Uncompleted } \n        ] \n      });\n    break;\n    case edit.type:\n      update({ currentTodo: action.payload });\n      break;\n    case filter.type:\n      update({ filter: action.payload });\n      break;\n    case removeTodo.type:\n      update({ todos: state.todos.filter((_, index) => index !== action.payload) });\n      break;\n    case toggleTodo.type:\n      update({ \n        todos: state.todos.map((todo, index) => {\n          if (index === action.payload) {\n            todo.completed = !todo.completed;\n          }\n\n          return todo;\n        })\n      });\n    break;\n  }\n});\n\nexport default {\n  TodoFilter,\n  addTodo,\n  filter,\n  edit,\n  toggleTodo,\n  removeTodo,\n  store\n}\n```\n\n```tsx\n// component.tsx\nimport { connect } from '@alcadica/state-manager/react';\nimport numbers from './numbers';\n\nfunction MyCounterComponent(props: any): JSX.Element {\n  const { store, TodoFilter, ... actions } = numbers;\n  const todos = props.todos;\n\n  return (\n    <div>\n      <select onChange={event => store.dispatch(actions.filter(event.target.value))}>\n        <option>All</option>\n        <option value={TodoFilter.Completed}>Completed</option>\n        <option value={TodoFilter.Uncompleted}>Uncompleted</option>\n      </select>\n      <ul>\n        { \n          props.todos.filter(todo => props.filter ? todo.status : true).map((todo, index) => \n            <li \n              onClick={() => store.dispatch(actions.toggleTodo(index))}\n              style={{ textDecoration: todo.completed ? 'line-through' : undefined }}\n            >\n              {todo.label}\n            </li>\n          )\n        }\n      </ul>\n      <div>\n        <label>todo:</label>\n        <input onChange={event => store.dispatch(action.edit(event.target.value))} type=\"text\" value={props.currentTodo}/>\n        <button onClick={() => store.dispatch(actions.addTodo())}>Create todo</button>\n      </div>\n    </div>\n  )\n}\n\nexport const MyCounter = connect(numbers.store)(MyCounterComponent);\n```\n\n#### Composing smaller stores into a big global state\n\n```typescript\n// actions.ts\nimport createStore from '@alcadica/state-manager';\n\nexport const decrement = createStore.createAction<string>('decrement');\nexport const increment = createStore.createAction<string>('increment');\nexport const updateString = createStore.createAction<string>('updateString');\n\nexport default {\n  decrement,\n  increment,\n  updateString,\n}\n\n```\n\n```typescript\n// store1.ts\nimport createStore from '@alcadica/state-manager';\nimport actions from './actions';\n\nexport const store1 = createStore({\n  hello: 'world'\n});\n\nstore1.reducer.connect((state, action, update) => {\n  switch (action.type) {\n    case actions.updateString.name:\n      update({ hello: action.payload });\n    break;\n  }\n});\n\n```\n\n```typescript\n// store2.ts\nimport createStore from '@alcadica/state-manager';\nimport actions from './actions';\n\nexport const store2 = createStore({\n  value: 0\n});\n\nstore2.reducer.connect((state, action, update) => {\n  switch (action.type) {\n    case actions.decrement.name:\n      update({ value: state.value - 1 });\n    break;\n    case actions.increment.name:\n      update({ value: state.value + 1 });\n    break;\n  }\n});\n```\n\n```typescript\n// global-state.ts\nimport createStore from '@alcadica/state-manager';\nimport * as store1 from './store1';\nimport * as store2 from './store2';\nimport actions from './actions';\n\nexport const globalStore = createStore.merge({\n  store1: store1.store,\n  store2: store2.store,\n});\n\nglobalStore.dispatch(actions.increment());\nconsole.log(globalStore.getState().store2.value) // 1\n\nglobalStore.dispatch(actions.increment());\nconsole.log(globalStore.getState().store2.value) // 2\n\nglobalStore.dispatch(actions.decrement());\nconsole.log(globalStore.getState().store2.value) // 1\n\nglobalStore.dispatch(actions.updateString('bar'));\nconsole.log(globalStore.getState().store1.hello) // 'bar'\n```\n\n#### Using middlewares\n\n```typescript\nimport createStore from '@alcadica/state-manager';\n\nexport const store = createStore();\n\nstore.use(store => state => action => console.log(action));\n```\n\n## Licence\n\n[MIT](LICENCE)\n","readmeFilename":"README.md","keywords":["flux","react","state","store","store management","state management"],"license":"MIT","homepage":"http://www.alcadica.com","repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"bugs":{"url":"https://github.com/alcadica/alcadica/issues"}}