{"_id":"reducer-tools","_rev":"11-6be8da91dcdb362c87ddb0ec19aa598b","name":"reducer-tools","dist-tags":{"latest":"1.0.0","beta":"1.0.0-beta4"},"versions":{"0.1.0":{"name":"reducer-tools","version":"0.1.0","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"^22.2.3","jest":"^22.4.3","ts-jest":"^22.4.4","typescript":"^2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"gitHead":"53abe6643c281bf4bf2ed6277b24ff046159d41c","_id":"reducer-tools@0.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-B+UFrliMBAb3kUZkj7zb4rMnt7q06A6QoiEAnkjB1NWRMdW6rarNiyfj7e6llNTZIduAN4agdxHplgXB7o+sBw==","shasum":"40ed6d77a06ddb2f1675ecf223f24e596da58154","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-0.1.0.tgz","fileCount":24,"unpackedSize":53242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6GIuCRA9TVsSAnZWagAAZgwQAI3mduUOtsYusuTO26zH\ngpMD/iHWbeKNcckrQv3jjy7r/od7uhSQoSoQ9q6nVviAYTLi64KtbHE/FZcR\npcKqREumdDaU9IkBu0WBcEbp5Qu/QkR6zvEeCc208oALPPB8col6HMwZhZqj\nNHVRoOyRFJWmNTQNvExfsksMDMXwgJHQdlvvfkXZ1L4MLTORJMyrgvNGEYF5\nhcKXAAwmkFrTA/GT0K2bDFGE5mMnJJ7zQx59avIrf3D8YesRvf4XET4D4axE\n5FaeZd69b0e8kjPrtrYrFwmDEwlkAmBuQ4ErUmderrYJg4dAugHH8uz2xGd5\nKr+y5K3eNs8N3FPSKrhfAS9Iml17N/VFSPnbSZ0N0R/4L4ENTUjZYnANaaqT\nWJSqyEJLN1NCgccnV/ZhVnHE2EVJ3fsUNcduMz7f5FN2RGh0cZHgaknFF3o7\nCJRu/wfhexPtWHa7Iw9bUYqDVwGnMI+Uc51J0u+/mICPaLF2268bgMH6roog\nIkHdtoleCoaAeHiIXzqxlTOdKCzfjvyLuAT4pgg9DDQt0eiQZcBYnjZF6Ea4\nD3OgqkHtB00pD5tlA2kLJ2jzixgryYqSx3Img0kAhdWgclx0Qti8sGmTdkdR\nGTvN+0fsoakhxuLouDN0yQHVhgRzY0GSbTWy89AXDU4/BFJGmjsNK44nf5xQ\nigIC\r\n=MRcx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEiJf54LxQc88uvsAN5a/9YvXgyfRGl0p57fQVIrYtXOAiAEwSPeLncf6gJkdQQvj5YzmQnh6BTDtLXe71tHshw7Jw=="}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_0.1.0_1525178926209_0.7982243165785183"},"_hasShrinkwrap":false},"0.2.0":{"name":"reducer-tools","version":"0.2.0","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"^22.2.3","jest":"^22.4.3","ts-jest":"^22.4.4","typescript":"^2.8.3"},"dependencies":{"@types/redux":"^3.6.0"},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"gitHead":"47ec0d66fdaa5393488bac917fdb86e484b3566f","_id":"reducer-tools@0.2.0","_npmVersion":"6.0.0","_nodeVersion":"8.9.3","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-98h5AG9V2U4pu0oDlaVviCk/4pYil+i3IG0j6gDQEDcdJZk+ndcB31VaVEwEj3th7fIXYk27dijC5w2zfLYdjQ==","shasum":"bad4f400935f212d41e37f3c75364660a7fa9cc1","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-0.2.0.tgz","fileCount":21,"unpackedSize":53239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbIBXDCRA9TVsSAnZWagAA+bsP/3JNiD7J1i021r5RtfZt\n8vLWfFkWd2CXR+Pfb6oZv7KLZ35U88SlxGodJz4QMgHHhd6EUgkvhiY24OWm\nLK07GD3yMY6Eyyk7GkARdgTMYtkTN9QO6Bd4uVGtoZOuyCT+KXI8HO+1MYOs\n6URPI7Rphp5SCAObLGvXF8OgTCEAyHMEkAEMXAgAUIlVBFm4xh7KElgDocWB\nLMpb7KAJx3U1r16oIfw9Eci1WjCrJUoKaa2zFrnPgntaxCAxEOd1NGrV3X3q\ne5ZDDmv4znMmsOyUKvM0pzug1AQLVKX5cfFtX6XKZQoR06CofWqqa3uQYupf\nxyBjBa83SVkAu+Iic4ziW7cdGgb5UF8mPiUEwtSMXqzLX+CSzellryGmBHCZ\nRFGWoHd+hhtzgF8mYyHRuF7EzLx1qi8qJQj0nkhK4WcRWorGXMuPvieFKM21\nRfp3y6yon1d4f+nT32emzya/FlyTKmRAkgmglR0PQKjy7AQ5GksTG5O7RF8i\nnlZme/b8iq3IpiAwbu9BIkSE5C340ElambqGSo8yCFgiBmVqgx71fzv07Mw1\nC4lnnlonfQy+iXlftoYHErBu2LCtLYLtwh+tf8dyykf4hmzorClihTb/8q8H\nsp2Im8HU5+6G31JsC3m7Jhrg7Ca15Lqv6lEUwYCxpVbw1BVSG+ipxrebRGFG\nTyOy\r\n=uaQy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8Xf3pgSXGLL959NK6r51G96zMdLpmjuusV8unyoH47AIhAJkOGIsXfJB3U1CLLhfkAH/eyriUWBlKji/YD3+WIuoX"}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_0.2.0_1528829378743_0.037315231393817205"},"_hasShrinkwrap":false},"0.2.1":{"name":"reducer-tools","version":"0.2.1","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"^22.2.3","jest":"^22.4.3","ts-jest":"^22.4.4","typescript":"^2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"gitHead":"47ec0d66fdaa5393488bac917fdb86e484b3566f","_id":"reducer-tools@0.2.1","_npmVersion":"6.0.0","_nodeVersion":"8.9.3","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-efEqLSn/c8+nCOnZoZA5TF4T7+l7e+ldx18ltCbsGp0kVhjCGEJS+mbZi5i4/TplzSudG+4j3D/gaHTFSyZDRQ==","shasum":"15acbadbe5014eca1c58c759ab972dd27ee16ac5","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-0.2.1.tgz","fileCount":21,"unpackedSize":53218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbICMVCRA9TVsSAnZWagAAhzYP+gP3IHKNyibr6MqSrl7F\nG7UqELAnacTvhXew0a43wJU+StN7SAcNeUXuzx5FpLXo7jj0ov9nobQ5s7xF\nl7rXGwDR/yxUMuL66vmeilQSLxJ+xYlQx7T8TMBH60im6irFdi1MT9XoyHYM\n6L7CPOi8Z1VU/sbTbHwCXdJUM4/h/sLU7ADwPk/1f2i9lZ1IR4tKhj0v1ADe\nkqP4D31EOfPlHjHLqYI+GEzK4nUnYlPLyFygaPgjTECU8jrUmZB43Hot18Ip\nixEH4QHSsK6aaHYgyL/gSBr/mOjXqd00+8joCaUuBr9tmVg41TFFwBye0aw5\nPhtQnfnLy6RlHl1rWPnKw6qg6uBhcEYTXp22Ji0mD6ZVhuGW8NV0EBHaL5hh\nGmqicKnZE7dJ/RTPDyFykGX7+NQUw4mC0y6r+TxUsFfieunwYATh6ditpBbF\n943CkWMb3vSN4wv2wxvNCqvU1IR3uqi2t2pqEZGkJnAlhMzrFCmvsm8wZ0/0\nX83Rl7rrjp8nofWLDzRLWg+v79sCl63mxYae4xP5h1d3O0gMQLCK5j3RE+QE\n6zWZjDHJ8VlFTfNo+HrD8E2FhhPNr/Z/mlnqh12anMp+svwifo1qOVZeQf9G\nDnT1Q4ldSOShKicVcRRS3SlCoJPsMdZhdQSWUQ9C7S2Pv8z0HtVBULevx67w\newL3\r\n=Womr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4/WGqWZGgU6YbgwZYZaE7Vn860y8jHRduhoo2CVAh/AiEAjqKFxJD4tvMo2tlsxztmBm+9bWwTkbam1nR16Ez6m7U="}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_0.2.1_1528832788946_0.03902154209020958"},"_hasShrinkwrap":false},"1.0.0-beta1":{"name":"reducer-tools","version":"1.0.0-beta1","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"~22.2.3","jest":"~22.4.3","ts-jest":"~22.4.4","typescript":"~2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"readme":"## reducer tools ![travis](https://travis-ci.org/ruanyl/reducer-tools.svg?branch=master)\n\nCreate reducer easily\n\n#### Usage\n```typescript\nimport { createReducer } from 'reducer-tools'\n\nconst initialState = { total: 0 }\nconst increase = s => ({ ...s, total: s.total + 1 })\nconst decrease = s => ({ ...s, total: s.total - 1 })\n\nconst reducer = createReducer(initialState, {\n  'increase': increase,\n  'decrease': decrease,\n})\n\nconst a1 = { type: 'increase' }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(1)\n```\n\n#### Use reducer helps\n```typescript\nimport { createReducer, payloadReducer } from 'reducer-tools'\n\nconst add = value => state => ({ ...state, total: state.total + value })\nconst subtract = value => state => ({ ...state, total: state.total - value })\nconst reducer = createReducer(initialState, {\n  'add': payloadReducer(add),\n  'subtract': payloadReducer(subtract),\n})\n\nconst a1 = { type: 'add', payload: 10 }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(10)\n```\n","readmeFilename":"README.md","gitHead":"e5ab2a99196acca08a6a9eff45233a353b286a0e","_id":"reducer-tools@1.0.0-beta1","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-C1X3JAEPurE9crbgNqgEdR8CXF7UQc+MAEkgqEEVJePj+5rDbxLdzpVGMWmQeZujnDReLZeOwgMQEjNhd1cX9w==","shasum":"7c130487d21d36be2958c162961ac84de1cbde4a","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-1.0.0-beta1.tgz","fileCount":16,"unpackedSize":8453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsETsCRA9TVsSAnZWagAAEzcP+weScL0cWBv2O2V6C2HR\n+pvXQKh0AU4mny8Mmdq46f36eAu7kcGkLiUe4a7KUgHG5Eku3qAev3cOyeg+\n/dCYvn5n2g2YQzDOqNXr48K99fV7XcvMJojY3gdMEkideCRZ2RNXrLe+EgLV\nsrmEqtkOCLi36SdG5fH2DPt6R77KFglvvoMYRL/yWmUUyzpNnA3aK9mhiqqa\nfWB4dbfuF6qa7Xv3HU2GBmKtaot5z0bFrks3DNUIuu54qAIs22Tl5ri1JZFc\nwZyIpsckjB0pr5Dbq5qDGNwFNEBtNtLjEqMYgZVp8Fuja1QjLcWitlCkWr1X\nP+E5Nhp0bsIxjZuTzk/do3CYZAhJybWnyBK1Y6UL0RlYkD8eol+/oD5ftINp\naO1B2+UednZZWKujEYndF4RIq6L8ekiuqAfZ9tLr5voyTeatYrFDg2yp85JM\ndjGa9+U+zYnAOL/0RdEpasWrQtFyYAIijO1oxI8QXGVQB9ZCuHRUypMZ3CIL\nVCtzY1NEF9CGThlf/Z2NaW0ISETL4djJFC+Z45ew6SD8+Fdwqn79qckUecCl\nN33UbOf5Cq18y1mzdcoN/kQL1kaHG71PdojL4Ek/3Y8d6kNRTTYHPQadKPGo\njPpcN388Sb/vfMG47xQa92Q9XOQbQ7gO6QOAR5FgzLOX/q4FcMC3TLDVNv1p\nYLPz\r\n=oijU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB5In/YI0PAjThAh+0MfuDVBwjBlcvIey3VCcRCkE3ljAiAcRLaqDOc5uZjmrKhtCc4OgMkbhwPNR9ROXGoZl/x42w=="}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_1.0.0-beta1_1555055852176_0.9492065652428807"},"_hasShrinkwrap":false},"1.0.0-beta2":{"name":"reducer-tools","version":"1.0.0-beta2","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"~22.2.3","jest":"~22.4.3","ts-jest":"~22.4.4","typescript":"~2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"readme":"## reducer tools ![travis](https://travis-ci.org/ruanyl/reducer-tools.svg?branch=master)\n\nCreate reducer easily\n\n#### Usage\n```typescript\nimport { createReducer } from 'reducer-tools'\n\nconst initialState = { total: 0 }\nconst increase = s => ({ ...s, total: s.total + 1 })\nconst decrease = s => ({ ...s, total: s.total - 1 })\n\nconst reducer = createReducer(initialState, {\n  'increase': increase,\n  'decrease': decrease,\n})\n\nconst a1 = { type: 'increase' }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(1)\n```\n\n#### Use reducer helps\n```typescript\nimport { createReducer, payloadReducer } from 'reducer-tools'\n\nconst add = value => state => ({ ...state, total: state.total + value })\nconst subtract = value => state => ({ ...state, total: state.total - value })\nconst reducer = createReducer(initialState, {\n  'add': payloadReducer(add),\n  'subtract': payloadReducer(subtract),\n})\n\nconst a1 = { type: 'add', payload: 10 }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(10)\n```\n","readmeFilename":"README.md","gitHead":"0f65918a6c6ff88f3ab8c846f313755c27533723","_id":"reducer-tools@1.0.0-beta2","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-7MqfoW9a1DhZ2RXNK+qYt826nS0MT+fZ521lh2ccJKuPI20cZ23lDTaEpkqlEpLpDXl/Ca56SrWBMzHPJ1/nMg==","shasum":"49fa4489b14c5f5f68a49c8a4d51f05a10861db5","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-1.0.0-beta2.tgz","fileCount":16,"unpackedSize":8592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcs49WCRA9TVsSAnZWagAASMUP/RTDsSQI7FWeg+rI9lFx\nt8qPRWOYhIL8EJsAQBz+/gn27ZLJK/yP2z/p65TZQBicpjR+PNBo/5d5tqHS\n81wbMGIJoJFS6JSlQ2Q0pJk51PX+hvZAPfFildiXkwqjxZnRVge+F1pouTuL\nad7OBxrp0dWBD+Fg/4iwqBqAE/+y6EMSYYYRJ3q8PA/skgkl9I2448asJb8Q\nu3hBTCAv10a9Ms16Vmn3Sg/0YKO/AJiGjGCLxCLPxpwFavz/Pfqt2gm8Hkby\nrO9iEumCpJ+cpVqZXlvN0HxN+tbz5Y7Yvxs0B/ILsNN8QeHRcqLcA5u20dHD\nrfOrv9dj1sMLdr8X8UwH5YPMXIc4nlcPZSSzNlDL2pEPp+3YBm+rDQSBw4tz\ntbjXz3XRqD4OC6JblZcFp2uFNeipP0ctBZW2OxIkV+ADM/K16yXMXCNBbblf\n3+vpMG/4SAIPY3K99SLO/JM1goN1zopER1cucLyAEPDh69eLwzjswRkOeRDE\nu8Ukuw2KXjtgLzuQT6br42TN6Rfx+Iit4SgSq+BqXIQJDQuYWW+TWAvkahQN\n+K+ABwJLai6E20E9X2SnQDSKCg7shbr8umxJuWTM8+E0rNt+nS+vvLTtolWA\nYNdChKuD5IU96V+azQaSUPYKoqiHKfGiDi6D47ujyF+2aSrTXbhgIK+KO9MA\nuwbF\r\n=6r80\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQ3AnVzln0pv/kKktooSXNrJDD3F2F2QwmUSR3ltpfmAiEA4GgBpgkCgVQdjSTBLJO640+6Ucy8JNz8+KnqOZvNvuM="}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_1.0.0-beta2_1555271509949_0.511428256373287"},"_hasShrinkwrap":false},"1.0.0-beta4":{"name":"reducer-tools","version":"1.0.0-beta4","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"~22.2.3","jest":"~22.4.3","ts-jest":"~22.4.4","typescript":"~2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"readme":"## reducer tools ![travis](https://travis-ci.org/ruanyl/reducer-tools.svg?branch=master)\n\nCreate reducer easily\n\n#### Usage\n```typescript\nimport { createReducer } from 'reducer-tools'\n\nconst initialState = { total: 0 }\nconst increase = s => ({ ...s, total: s.total + 1 })\nconst decrease = s => ({ ...s, total: s.total - 1 })\n\nconst reducer = createReducer(initialState, {\n  'increase': increase,\n  'decrease': decrease,\n})\n\nconst a1 = { type: 'increase' }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(1)\n```\n\n#### Use reducer helps\n```typescript\nimport { createReducer, payloadReducer } from 'reducer-tools'\n\nconst add = value => state => ({ ...state, total: state.total + value })\nconst subtract = value => state => ({ ...state, total: state.total - value })\nconst reducer = createReducer(initialState, {\n  'add': payloadReducer(add),\n  'subtract': payloadReducer(subtract),\n})\n\nconst a1 = { type: 'add', payload: 10 }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(10)\n```\n","readmeFilename":"README.md","gitHead":"08ead8487fb84ceb0b6285a2779fe8c0c16f4ba1","_id":"reducer-tools@1.0.0-beta4","_npmVersion":"6.0.0","_nodeVersion":"8.9.3","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-Zwinu3OY9QjEFKaGoo+8ukMz0QeZVF+UN4c3GBKrxAvuuANTTVXbW8E7vBs+IdscI6a4hnPdciKCl2JUPy/9gA==","shasum":"0548fc1fdb548747ff65447ff8c3b5e7515f5cfc","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-1.0.0-beta4.tgz","fileCount":27,"unpackedSize":54088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyzHiCRA9TVsSAnZWagAA7dYP/RH7LjNBpeXTHwIoRaWx\npC3xe/F4hrfY+fD0lWW551OkKFTR5zP5N54PazbMBtefIkavdcfuvhE++TjD\nzmwBQ8ImNV0N6mTgmuJaummFcE4u57n/6+BA8CgoOQWHsQH14ib1bpyBeonQ\nAVjQg+vIBeqcMZk0ThIKUFC0q+FgAbUQDtV6tskcyrj9LeF1Dnr7NLJ4G1pM\ntPkYdAFH11p5kX0rGmpAOsNrZQyPNPAI0SMf26xQElzY1dqvicw1x/NHA9dX\n19Cw+7g7qb50UAdxTu1WxUW/5QmySQDDoNxfDYRj4WDR5H2wFKaAY3dB2c60\nO9mw923Kb0qHei8Pqwf+tYb8caNv1EnQnxCy68yeaS9CzyRE7fkxzCOMkrTB\nAeZdSuFypQxGAmqmcLszVfmNtFd0OndnLfSLxuVyilu7TfqTlAIYo1jiOp6X\nKzPipoX5tyn1vpG0QUNvXuu3vPG4uIQgGBDhXA17NkfRwtfH0r0I1NXPVg3X\nh6fOeGpTRGP4IqWh9xeadxapzQju4mRqm0nysHRcnqQVpEJJn+6wr1IEs+/v\n5pTIohLCPq6Vn/d8/bk1vJCwmhhGzc83GHqH3j9dXSEsFvHD8oEpMszqyHWJ\nDmtLNLtc71evPoGMCdqT4AbKnz1wxPZGdv9xgPyDlhdDZgT0crnXKzdFte7p\nzwv9\r\n=G/iv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5OQerb2vv60o2Ukh7QoLGJyHA2HjXOQHVShRSFHl9fAIhAJh2xjt7HGOaY2WUYRLq9k6D6zdRyTrkgro6Y3cBLNOx"}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_1.0.0-beta4_1556820449885_0.020123147637911343"},"_hasShrinkwrap":false},"1.0.0":{"name":"reducer-tools","version":"1.0.0","description":"redux reducer utilities","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --declaration","prepublish":"npm run build","test":"npm run test-only","test-only":"jest --coverage","test:watch":"jest --watch"},"devDependencies":{"@types/jest":"~22.2.3","jest":"~22.4.3","ts-jest":"~22.4.4","typescript":"~2.8.3"},"dependencies":{},"peerDependencies":{},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"license":"MIT","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"homepage":"https://github.com/ruanyl/reducer-tools","bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"gitHead":"474d0f12a8992ae0eb4b16322ca3bdbabc7ef2a0","_id":"reducer-tools@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"ruanyu1","email":"ruanyu1@gmail.com"},"dist":{"integrity":"sha512-aWRKn2TJQ99cYP2b4Vot9xRwmzuX9W2Y+2mEExm5PqJR/H55vOXsr1id8LwUdmnT7a6NPNpe/dgiNKUBCFPRkw==","shasum":"57a43861f8828b770278024516523ef4c74244c6","tarball":"https://registry.npmjs.org/reducer-tools/-/reducer-tools-1.0.0.tgz","fileCount":16,"unpackedSize":8668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9mdwCRA9TVsSAnZWagAAkyoP/0Bh72wFgJEYm5k9ka54\nu0kEmXSlMYlAx0xkw9juRSS8geRhihp4W3+s+fwVmu8xIykwFYNT1NrA8UkQ\nu4KMPXs5nu5Jj+rKzE0707M2bgG5ctwF7AsOV+YgvADa9rXLLeLzAhJK0DL8\nD4NZcdOOxf1Q0qr6Q5EbzOm1lipMiS+BVWbBz56G43BDDfizM66Vt/dGt0Q2\nQkJRgU0S6aE0T/OxJjx82hk1WivrPi+Mt7jo+IzoKmiALc1fhml1pm2IDak/\n6PAEo7m7at9PZnvtuRa3AEuvZu5QdmapjBrf8ENrc7PQ/203aRAUda3dty/F\nWIeGUugiOHb7wUgLCT7N8M2KqTEk77h1/qh25tyVoFhUqexXkCZ2g3CCAxn5\nyBJ6MbcAHFmO/qrJkY7cInG+NHm1RdGnW312m1JU7dlLKul5YHUdkmwuN/E6\naTV11BHU0ik5wrGBiyTsVIGZbjJrm0GbUqX78hIYWOqP7/port2x8OBuwToV\nIHZ9Q40oeYRqByfINU4OcF3iYeqoviFPFmk8McL+i9CXTJRuNqWtsri5htew\nx/queN3z8tz4tLmCN8LmrHT0joloPe6dBwfS+heFa9Ss6Hdo/PTzd8RAc6ig\nl0TNs8ft8NOgATjgfzd9zNxJckkby7gl25KfNBIbsN6QdBqLYEJn2tMPV6F4\nehna\r\n=6hVI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTdeUR1WS1lbFG0IsRv5ff71FvOhdTSuYVHw/W81554AiBWfGA374VbETm8yoKtj6prduseDtAT2WRX6RmghaFDtg=="}]},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reducer-tools_1.0.0_1559652207760_0.036439154482609704"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-01T12:48:46.209Z","0.1.0":"2018-05-01T12:48:46.310Z","modified":"2022-05-15T14:41:00.418Z","0.2.0":"2018-06-12T18:49:38.840Z","0.2.1":"2018-06-12T19:46:29.040Z","1.0.0-beta1":"2019-04-12T07:57:32.284Z","1.0.0-beta2":"2019-04-14T19:51:50.108Z","0.2.2":"2019-05-02T11:55:02.996Z","1.0.0-beta3":"2019-05-02T18:05:55.896Z","1.0.0-beta4":"2019-05-02T18:07:30.011Z","1.0.0":"2019-06-04T12:43:27.893Z"},"maintainers":[{"name":"ruanyu1","email":"ruanyu1@gmail.com"}],"description":"redux reducer utilities","homepage":"https://github.com/ruanyl/reducer-tools","keywords":["redux","reducer"],"repository":{"type":"git","url":"git+https://github.com/ruanyl/reducer-tools.git"},"author":{"name":"Yulong Ruan","email":"ruanyu1@gmail.com"},"bugs":{"url":"https://github.com/ruanyl/reducer-tools/issues"},"license":"MIT","readme":"## reducer tools ![travis](https://travis-ci.org/ruanyl/reducer-tools.svg?branch=master)\n\nCreate reducer easily\n\n#### Usage\n```typescript\nimport { createReducer } from 'reducer-tools'\n\nconst initialState = { total: 0 }\nconst increase = s => ({ ...s, total: s.total + 1 })\nconst decrease = s => ({ ...s, total: s.total - 1 })\n\nconst reducer = createReducer(initialState, {\n  'increase': increase,\n  'decrease': decrease,\n})\n\nconst a1 = { type: 'increase' }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(1)\n```\n\n#### Use reducer helps\n```typescript\nimport { createReducer, payloadReducer } from 'reducer-tools'\n\nconst add = value => state => ({ ...state, total: state.total + value })\nconst subtract = value => state => ({ ...state, total: state.total - value })\nconst reducer = createReducer(initialState, {\n  'add': payloadReducer(add),\n  'subtract': payloadReducer(subtract),\n})\n\nconst a1 = { type: 'add', payload: 10 }\nconst s1 = reducer(initialState, a1)\nexpect(s1.total).toBe(10)\n```\n","readmeFilename":"README.md"}