{"_id":"typed-actions","_rev":"35-79576e28bd342a1becb4cec2fccf7ade","name":"typed-actions","dist-tags":{"latest":"0.12.0","next":"0.9.2-0"},"versions":{"0.0.0":{"name":"typed-actions","version":"0.0.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","gitHead":"bf3dfebaaf8480a0f24d4db07af3ad4c50dadae0","_id":"typed-actions@0.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-keTwL/lVD6vf911yBlsorWJdldHzrHTtDwNQKnCRelUyikQctI4kEgkJhL6tQN0dtn8xADan8nLJwntLLXUY2g==","shasum":"52de63875c1e7491a3c2722092b2cee93e1975fd","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.0.0.tgz","fileCount":2,"unpackedSize":1463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMH/TfjecvORiRh0ryrN4XmiZFraOSVI4Ay0kgN1nj2AiBH96EJTazfsbLLcdXrfHPwf/apIcM4UGEu6w1bap4IjA=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.0.0_1518201805716_0.2628529663055015"},"_hasShrinkwrap":false},"0.0.1":{"name":"typed-actions","version":"0.0.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint:eslint && npm run lint:flow","version":"npm run build","postversion":"git push --follow-tags && npm run build && npm publish lib","precommit":"lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.65.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux":"^3.7.2","redux-actions":"^2.2.1","rxjs":"^5.5.6"},"_id":"typed-actions@0.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-WImeLWxwiZg/zQS1S4iAyQS4VcFYW2z+60Hr/W17RUIxMnWVcH+a1y6suCeG3mzZLcEcjiTpAM8i1UfJCtGioA==","shasum":"8232a50eeca013a82c6cea530e723178f15bc2f3","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.0.1.tgz","fileCount":9,"unpackedSize":6012,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAnFcRNp54ChSbqvq0RjB9i1AlqmjW8Dwbz5CcWDhaTfAiEAj42wGExFwauLH+pAjHR0gfwE99RWo3ikx953cn0mJ7I="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.0.1_1518739381544_0.08001553514199289"},"_hasShrinkwrap":false},"0.0.2":{"name":"typed-actions","version":"0.0.2","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.65.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-Rwml3alZYaCgNnjcm/CBVJMesUb9mHr9lYWCWJV5XGu5SWrnbkXODSN6jh4AeAt7c0ZMAdRJlrBPRzBACdyQQA==","shasum":"6b850d05ce0bdb4a432f39dcbf6ec2e859506cda","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.0.2.tgz","fileCount":9,"unpackedSize":6545,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5iONLf3exfOUOMPuYK2VREh2R0HA25cEYiHO6GlphLQIhAJ/vx3IN6tnIjhAWh8dYTgHY0OLvBRwT6XCQ3xlEUj3t"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.0.2_1518740965230_0.4937940527455895"},"_hasShrinkwrap":false},"0.1.0":{"name":"typed-actions","version":"0.1.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.65.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-5K7D9UYbHtSF4R252XvhgJ6/GWamSfsMfI+z37sqkWwDJzK4kFbHJL/FyHqZR7+Y32nXchgV3Ss2waPLxPQqIg==","shasum":"f0f41d50a297eae2a76b3c5253fd806f4b790bbb","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.1.0.tgz","fileCount":9,"unpackedSize":6706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8Ful0ewEG9u2dbDi1ATAffV3ykf9OS7GiEBYn//pf1wIgAqzJ6pXVUpu5mOQa1DY5GxlbcB35KT50d5O//sQBZKo="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.1.0_1519167532824_0.015083909226676129"},"_hasShrinkwrap":false},"0.1.1":{"name":"typed-actions","version":"0.1.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.65.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-6wkT4glUNteN0TvQLwnGqmRnkf6Q+47uLxwJ+tadGIcu4hbQSSTacxVaxb/QIIR5kTGOa6jFPRhmLb6aR0pBrw==","shasum":"7579dddb215741e4df29951bdf3fc72836916f06","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.1.1.tgz","fileCount":9,"unpackedSize":6708,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF93pUgkWXijTefg4aAy9XHxfcSI/naLLhcC4bYn4nipAiEA7C5DrNq77JgvnY4DZ/SC8UUwlpX7HNFBzkDsT56C3GU="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.1.1_1519174904315_0.3019431175458085"},"_hasShrinkwrap":false},"0.2.0":{"name":"typed-actions","version":"0.2.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.65.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-xa1zTY0iTS8AfztdUEHZg4RDebOJvreqRSb3gf6pO3bzcogHB5dTacFt8RuNJgxLd4qz8sRhG4Wc9VfRCNLkXQ==","shasum":"6353f2ef5babaf16103f6871cee672ce05773811","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.2.0.tgz","fileCount":9,"unpackedSize":6851,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7ce3gTuz21fQqC2T7JAVIR5LCcq8Ow1E3Rfnw0iKqAAiBHBc2UdppJT8+6PNPrCsgQf55docyndXetiXVgJjgK0g=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.2.0_1519318481607_0.4038658243862554"},"_hasShrinkwrap":false},"0.3.0":{"name":"typed-actions","version":"0.3.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-nY2x2G926Vo8g4i2qceeEfDs6ro9sxI1tvPSTOtL5z4FSl4yF7qmVlww+J7yVeyU22rGx8CWkpRnNk6lJO5CWw==","shasum":"9442451fdf3493352d8a97f3527c0d7bd31ab439","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.0.tgz","fileCount":9,"unpackedSize":6930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg9l82wCo2MAspKld0hKUuecxBAvgFglp5piqjphnXKAIhAJwgc1wZUbRLuHL9s03vpOZlylF4UMGJ/hQGen/jtrPr"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.0_1519376553875_0.907069903282298"},"_hasShrinkwrap":false},"0.3.1":{"name":"typed-actions","version":"0.3.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-I3ShoDLWzsl9B1XpvcQ4WX1VAjzNVv51vg1JrN0PTsYYqc7r4KD9dchbxK43Dbtxv8yCCbTVWxElW78rWLIA5Q==","shasum":"86fa3278acaa2f14bce6385d0445a6dcd9f6e9ee","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.1.tgz","fileCount":9,"unpackedSize":7030,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiDMgmNZzG5xUxXOK7aN8JH6jl2uFvJouDXRbT5Lwh8QIhAKNpGIKbwZIT4koQ+oFJbgbNBboEvyJZ62mVYLs9rmKd"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.1_1519378757327_0.7452826610283814"},"_hasShrinkwrap":false},"0.3.2":{"name":"typed-actions","version":"0.3.2","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-KSDm9LBX4bGGDzPJmbvDUTnsE4DsR8iHcHF32bgR6y5uJV1uZJEcrR6mBPoLArligfyBrn3DlyKdp2+Vqu1PhA==","shasum":"373734d170aab0d1df24b725f2eafe4799e85389","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.2.tgz","fileCount":9,"unpackedSize":7027,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2EI8t7r1Ik8aA5jnd8RFbctmULFjeeDMNZrwaL8ozpAiBQUiPhyR5Vv0skKtVi0zYY2ArKrbKo2/Du4sIDHhwofA=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.2_1519379062154_0.6260383617746295"},"_hasShrinkwrap":false},"0.3.3":{"name":"typed-actions","version":"0.3.3","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-E/A+sKSc1ZLCj+Cp5aOqtyj2BUIDHs69bez1CLSPkD+SeyN+GuLFGvnqrMPRCH3gex102HRnMmaM+SgmcO8Pdw==","shasum":"36f455448e63fea89fd1afcba4ae0b2d8ef2c127","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.3.tgz","fileCount":9,"unpackedSize":7068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAs3QXGr8m6A16ow7Qixo+kW0CvFU9Rqs+sAUmi6SxodAiEA552PQhBRea+nbCgbr9FBxHGcyxVt+UXfbpYA6fLb3Es="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.3_1519645737276_0.7217650600938406"},"_hasShrinkwrap":false},"0.3.4":{"name":"typed-actions","version":"0.3.4","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-EdmSnQQPLiae4YbEBStPm7p75eErHcseBX7k8Mcd6bSemd3mwNA3ypG4jxzjvF4rKvxpjEhVPu5x5ODlJBzfAg==","shasum":"276f4e6bde6b77194b75023cb188e76919e04bce","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.4.tgz","fileCount":9,"unpackedSize":7064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZoE04TXAK9jBJ2qASimh+IfYqYdMrH9xll4tAOPxi6AiANNsox/3ENcK32lXFZH27MiL6d2JIceVsggFj1TlTYOg=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.4_1519647223832_0.348562700034343"},"_hasShrinkwrap":false},"0.3.5":{"name":"typed-actions","version":"0.3.5","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.3.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-JQq+9jNWo9cIAU+J4Bs+T0rH/TdMvyEytn3Kgpuk+sr7Py6eyYhrxieBkCVKszz/nWR8yLfTonU5sFc4uLJ1ow==","shasum":"f8b9b5594e4f144c53a5af1067e418dd17d5aab8","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.3.5.tgz","fileCount":9,"unpackedSize":7130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICOeu83rgdMwMEX11gR7Hz42SPt5wM/0iAG4wpTV/tvYAiEAnj8MxR5WG3FxLCUhzwxh4ENZDJqEN7q1MGOQxvsTUKM="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.3.5_1519647492034_0.10595039265960304"},"_hasShrinkwrap":false},"0.4.0":{"name":"typed-actions","version":"0.4.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1"},"peerDependencies":{"redux":">= 3.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.4.0","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-uFs0+qsh11l7rrAGg7NRvrJR10Xt1voPOoIV/biM8YHJ2D4u+LZYNBhwXBxZkeKZew04YMQZB79q43dMbdtFXQ==","shasum":"bbacd5558753293465479e9333030832de58f45d","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.4.0.tgz","fileCount":9,"unpackedSize":10445,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6ctvkrbZtvThskves9Zs25LQjNpXko3Tj/oAV8YoMNQIhAJnWxtmqWOy/2UOYQqVGZBQj4TR9ypizEgs3WnNpUU1T"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.4.0_1519935538565_0.5140616871858015"},"_hasShrinkwrap":false},"0.4.1":{"name":"typed-actions","version":"0.4.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"peerDependencies":{"redux":">= 3.0.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.4.1","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-FWNgUnlAuImRXwMyMTY+OJ06scMdnMKmZeo/cjoR3SXmy8POkxSFY2qy58Nf6LAV60/7zx4cLYy56IAdV/ocgg==","shasum":"214773b5d23e099d6402c38aae41364de7810d36","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.4.1.tgz","fileCount":9,"unpackedSize":10428,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/mWz3DKmI+Pw1+cir6Zv2cKNhJ99XCGPOk11m8L7JnAiEAs/IxzksJhdPRFaQF/sSWfxSqafu195AyHToD3bXSi0c="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.4.1_1519937794342_0.9038069737998415"},"_hasShrinkwrap":false},"0.4.2":{"name":"typed-actions","version":"0.4.2","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"peerDependencies":{"redux":">= 3.0.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.4.2","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-PLPK9NTuLHtoGPlGBTWHR+IVhi7EjeKUn6p0mVmjUCD/j1UAYXhL+hnVjK4J9ASFBDjh0DyjuibplWZZvuLVKQ==","shasum":"c30ab66db0409a77443d54ccb1c01ee6d21ab27d","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.4.2.tgz","fileCount":9,"unpackedSize":10047,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4YmRiMfGMKerk7BzwIjT+5/a7E9RrL/53Tw2b96wTowIhALPfn1ttmsWlDde6PbARhycW8bR81+Kw+rb69Ium1WXV"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.4.2_1519941653575_0.5571419969926379"},"_hasShrinkwrap":false},"0.4.3":{"name":"typed-actions","version":"0.4.3","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"peerDependencies":{"redux":">= 3.0.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.4.3","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-r+8QhwO1vRcgZlAqhgE46BoxRHBAJeH45S7mKmLUs2x4jk8uXzsr3N4GpCNvEThz+DPfUv9JA2joBRgRJX1gcg==","shasum":"b3ceb1fcf1e864eaddc892928e1d95e2fec9315a","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.4.3.tgz","fileCount":9,"unpackedSize":11847,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIACrhvyE7d10/OOtdDUW277jH4VBsxGsCUKr7wgScyKAAiBdpaYZUyCH1OSPsbAIiyDxsT1IKWK18EWGaKETt2MbjQ=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.4.3_1519998264901_0.9215289077996291"},"_hasShrinkwrap":false},"0.5.0":{"name":"typed-actions","version":"0.5.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.5.0","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-9GB1Ij69+ALPbMagJszGRSfhzsyqAG9R/aTuRf2qFeWukPEoGzXJfCT9MOns5rI03A42In5Yv40tUd/yZAAJFA==","shasum":"5b54dd2c83198480089a216e8cb7f9c85fbb2a2f","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.5.0.tgz","fileCount":9,"unpackedSize":11863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICbln1tl7nuXqquWaiC3qORjcBmlVN0V6OoouUqrGrwhAiAZkKZoBvKQOTH2mwIarZ9aFvykzd82Q0Y1PnOYuTyBcQ=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.5.0_1521037395206_0.9084639809615862"},"_hasShrinkwrap":false},"0.5.1":{"name":"typed-actions","version":"0.5.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production ./node_modules/.bin/babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"./node_modules/.bin/eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.5.1","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-t+v2KPoQysv8CbQuddoquYJxGl7LnEc1mlYxGBjI3s102tXKDb8m+J6UozNHzsJu53hohXbP8UK1G/Du3euUWg==","shasum":"2525fd3c95fc2bfd972c0fbfb33b88d739715d3b","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.5.1.tgz","fileCount":9,"unpackedSize":11814,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCS3BcCOZI0571H5vyZ2z7uvf1bj1yPXda2J3Y5/XUHYgIhALTh1S++r76OOJu+p++V7QZAQrqnHpNC1agD3kBklq+F"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.5.1_1521038879614_0.8220180642110662"},"_hasShrinkwrap":false},"0.6.0-0":{"name":"typed-actions","version":"0.6.0-0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.6.0-0","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-NVQWh756K2e0avtubLeH7jUJQU5IaioOR1N0m9Rc8SHxmEtNlDo2XB1T4/xnOADBDP+h1N/Qu4T9BaI9fJvQ2w==","shasum":"ea6f42932181cfdbfba1cf061078205bd20f5808","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.6.0-0.tgz","fileCount":9,"unpackedSize":11979,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcz/EC8VbI45IyaAISGjAxjY2BksxYJ7dS1DSQ2f/GpQIgBZtZ4/U3qTCCZkV0oSRC8lCIoijgw0ZK/kOo4FAf7OA="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.6.0-0_1522290936134_0.437333264645118"},"_hasShrinkwrap":false},"0.6.0-1":{"name":"typed-actions","version":"0.6.0-1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.6.0-1","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-O8udCzigrt/wcDCpj9l8yFKRCNEnaiszRrXBkzWWPkaWyP0UBusuWjDm53j1RIfRStzBCnN2V7OzHqhRYgsrjA==","shasum":"500becb33ed5296786553d1beddc744083b1694d","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.6.0-1.tgz","fileCount":9,"unpackedSize":10066,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChD7Jivvj+P/jTfHkH8Z7zHQHVxbmzTEaLBM8B6VU06wIhAO3r6ufAETYB0qvH0IyCGAqMyMVbfiS2LI91dJrc/QK8"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.6.0-1_1522296501508_0.8382411080535146"},"_hasShrinkwrap":false},"0.6.0-2":{"name":"typed-actions","version":"0.6.0-2","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.6.0-2","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-ua0uomXKQQJ8h/qa13btacWb8t46N7cf3A2fvfCoxUd8/2I4Fz4eiUKasWH6Bv5DzgeIxcODc1QltBsDpPriyg==","shasum":"daf20e197e141e0f6d12c5d38c400b1e0a1abb1b","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.6.0-2.tgz","fileCount":9,"unpackedSize":10072,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAd2b72jM1jZnCLFFYwhTOFFSkhSRnZKSI1dha6TDKZTAiAByXck3uClxTATxPhXjcQUTNBaGODIkD5wi8lSG0mIRw=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.6.0-2_1522298493043_0.3205836187005582"},"_hasShrinkwrap":false},"0.6.0":{"name":"typed-actions","version":"0.6.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","rxjs":">= 5.5.0"},"optionalDependencies":{"rxjs":">= 5.5.0"},"_id":"typed-actions@0.6.0","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-H5i/N6kVm2QXM2x30MMjgJvgkjYZiFgu0IK33+EWramC6GbWXBDT42IvoS1H/yW9wBalUouFh0k9q714ELk6TQ==","shasum":"5573d429636767fa2e7b832d63d4add7543015c6","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.6.0.tgz","fileCount":9,"unpackedSize":14142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRR6Dnn7EKd+lMQep0yO46Nexkcg8lzDtMOqjVYa3mpAiEA3whuWRKjJoNXwv6kQyZ3bIKo+fXmtzmtMx5pkb/QxFU="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.6.0_1522335184060_0.5729932803303268"},"_hasShrinkwrap":false},"0.7.0-0":{"name":"typed-actions","version":"0.7.0-0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"readme":"# typed-actions\n\n[![Travis branch](https://img.shields.io/travis/lttb/typed-actions/master.svg?style=flat)](https://travis-ci.org/lttb/typed-actions)\n[![npm version](https://img.shields.io/npm/v/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n[![npm license](https://img.shields.io/npm/l/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n\n\nSome Types and Utils (based on [redux-actions](https://github.com/reduxactions/redux-actions) way) to create type-safe actions, reducers, and epics with auto-inferred types.\n\n**Main points**:\n- 100% Flow coverage for the redux-side with minimum typings (auto-inferred types) and less boilerplate\n- Safe types and functions, which help to reduce risks for Type mistakes\n- Accurate Type-errors handling\n- Deep immutable Type (`Frozen`) for actions and redux state\n- [Immer](https://github.com/mweststrate/immer) support\n\n## Installation\n\n```sh\nnpm install typed-actions\n```\n\n## Usage\n\n> You can get some examples [here](https://github.com/lttb/typed-actions/tree/master/src/tests) with explanations.\n\n- [Actions](#actions)\n- [Reducers](#reducers)\n  - [Immer](#immer)\n- [Epics](#epics)\n\n### Actions\n\n- `action(payload, ?meta)` produces `{type, payload} | {type, payload, meta}`\n- `empty()` produces `{type}`\n\n```js\nimport {createActions, action, empty} from 'typed-actions'\n\n/**\n * Declare Action Types as constants and export them\n */\nexport const UPDATE = '@namespace/UPDATE'\nexport const UPDATE_FULFILLED = '@namespace/UPDATE_FULFILLED'\nexport const UPDATE_FAILED = '@namespace/UPDATE_FAILED'\n\n/**\n * Create Actions Collection\n */\nconst actions = createActions({\n    /**\n     * {type: UPDATE}\n     */\n    [UPDATE]: empty,\n    /**\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (x: string[]) => action(x),\n    /**\n     * {type: UPDATE_FAILED, payload: string, meta: {sync: true}}\n     */\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\n/**\n * Export Action Creators\n */\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions\n\n/**\n * Export Collection Type\n */\nexport type Actions = typeof actions\n```\n\nYou might find this declaration style more readable:\n\n```js\nlet actions\n\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions = createActions({\n    [UPDATE]: empty,\n    [UPDATE_FULFILLED]: (x: string[]) => action(x)\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\nexport type Actions = typeof actions\n```\n\n### Reducers\n\n```js\nimport {handleActions, type Handlers, type Frozen} from 'typed-actions';\n\n/**\n * Import action types with Actions Collection Type\n */\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\n/**\n * Declare State for the reducer with immutable type Frozen\n */\nexport type State = Frozen<{\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n}>;\n\n/**\n * Use Handlers Type for the type-casting.\n * This way functions will get right arguments Types\n */\nexport default handleActions(({\n    /**\n     * No need to point the State Type in arguments,\n     * it would be auto-inferred\n     */\n    [UPDATE]: state => ({\n        ...state,\n        status: 'pending',\n    }),\n\n    /**\n     * The second argument (action) will also have the right type\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (state, {payload}) => ({\n        ...state,\n        data: payload,\n        status: 'done',\n    }),\n\n    [UPDATE_FAILED]: state => ({\n        ...state,\n        status: 'failed',\n    }),\n}: Handlers<State, Actions>));\n```\n\n#### Immer\n\nYou can use [immer](https://github.com/mweststrate/immer) for immutable state modifying.\n\n> Note that `handler` accepts 3 arguments: `draft state` (for changes), `action` and `current state`.\n\n```js\nimport { type Handlers, handleActions } from 'typed-actions/immer'\n\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\nexport default handleActions(({\n    [UPDATE]: state => {\n        state.status = 'pending'\n    },\n\n    [UPDATE_FULFILLED]: (state, {payload}) => {\n        state.data = payload\n        state.status = 'done'\n    }),\n\n    [UPDATE_FAILED]: state => {\n        state.status = 'failed'\n    },\n}: Handlers<State, Actions>));\n```\n\n### Epics\n\nIf you're using [redux-observable](https://github.com/redux-observable/redux-observable), this Epic Type could be useful.\n\n```js\nimport type {Epic} from 'typed-actions';\n\nimport {\n    type Actions,\n    UPDATE_FULFILLED,\n    anotherOneAction,\n} from './actions';\n\nimport {type State} from './reducers';\n\nexport const updateEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE_FULFILLED)\n    /**\n     * No need to add types here, action would be the right Type out of the box\n     */\n    .map(action => anotherOneAction(action.payload));\n\nexport const unionEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE, UPDATE_FULFILLED)\n    /**\n     * {type: UPDATE} | {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    .map(action => {\n        if (action.type === UPDATE_FULFILLED) {\n            /**\n             * Type Refinement will work as well\n             *\n             * {type: UPDATE_FULFILLED, payload: string[]}\n             */\n            console.log(action.payload)\n        }\n    });\n```\n","readmeFilename":"README.md","_id":"typed-actions@0.7.0-0","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-xgW2WIrLXuNCbTw09JlaW5+GKBIUkGmQEmEw2FoHmKDmK+oTaQGz71cpM5CUh62ViKWHPC7ZI+QGLgmh4f/jaw==","shasum":"aff8fbd28a79aa03680f8e796be743b48fa4cd13","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.7.0-0.tgz","fileCount":11,"unpackedSize":16634,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcbe7GsSvIi09S+cQvq06dno9Ws5iGkuvFwDT7WrzAUAiBQzhbGUn3VgTAGbrx+QSKqrY2cnS387njsG03sb7FHYQ=="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.7.0-0_1522397663887_0.060535755606992536"},"_hasShrinkwrap":false},"0.7.0-1":{"name":"typed-actions","version":"0.7.0-1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"readme":"# typed-actions\n\n[![Travis branch](https://img.shields.io/travis/lttb/typed-actions/master.svg?style=flat)](https://travis-ci.org/lttb/typed-actions)\n[![npm version](https://img.shields.io/npm/v/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n[![npm license](https://img.shields.io/npm/l/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n\n\nSome Types and Utils (based on [redux-actions](https://github.com/reduxactions/redux-actions) way) to create type-safe actions, reducers, and epics with auto-inferred types.\n\n**Main points**:\n- 100% Flow coverage for the redux-side with minimum typings (auto-inferred types) and less boilerplate\n- Safe types and functions, which help to reduce risks for Type mistakes\n- Accurate Type-errors handling\n- Deep immutable Type (`Frozen`) for actions and redux state\n- [Immer](https://github.com/mweststrate/immer) support\n\n## Installation\n\n```sh\nnpm install typed-actions\n```\n\n## Usage\n\n> You can get some examples [here](https://github.com/lttb/typed-actions/tree/master/src/tests) with explanations.\n\n- [Actions](#actions)\n- [Reducers](#reducers)\n  - [Immer](#immer)\n- [Epics](#epics)\n\n### Actions\n\n- `action(payload, ?meta)` produces `{type, payload} | {type, payload, meta}`\n- `empty()` produces `{type}`\n\n```js\nimport {createActions, action, empty} from 'typed-actions'\n\n/**\n * Declare Action Types as constants and export them\n */\nexport const UPDATE = '@namespace/UPDATE'\nexport const UPDATE_FULFILLED = '@namespace/UPDATE_FULFILLED'\nexport const UPDATE_FAILED = '@namespace/UPDATE_FAILED'\n\n/**\n * Create Actions Collection\n */\nconst actions = createActions({\n    /**\n     * {type: UPDATE}\n     */\n    [UPDATE]: empty,\n    /**\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (x: string[]) => action(x),\n    /**\n     * {type: UPDATE_FAILED, payload: string, meta: {sync: true}}\n     */\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\n/**\n * Export Action Creators\n */\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions\n\n/**\n * Export Collection Type\n */\nexport type Actions = typeof actions\n```\n\nYou might find this declaration style more readable:\n\n```js\nlet actions\n\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions = createActions({\n    [UPDATE]: empty,\n    [UPDATE_FULFILLED]: (x: string[]) => action(x)\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\nexport type Actions = typeof actions\n```\n\n### Reducers\n\n```js\nimport {handleActions, type Handlers, type Frozen} from 'typed-actions';\n\n/**\n * Import action types with Actions Collection Type\n */\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\n/**\n * Declare State for the reducer with immutable type Frozen\n */\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\n/**\n * Use Handlers Type for the type-casting.\n * This way functions will get right arguments Types\n */\nexport default handleActions(({\n    /**\n     * No need to point the State Type in arguments,\n     * it would be auto-inferred Deep Immutable Type of State\n     */\n    [UPDATE]: state => ({\n        ...state,\n        status: 'pending',\n    }),\n\n    /**\n     * The second argument (action) will also have the right type\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (state, {payload}) => ({\n        ...state,\n        data: payload,\n        status: 'done',\n    }),\n\n    [UPDATE_FAILED]: state => ({\n        ...state,\n        status: 'failed',\n    }),\n}: Handlers<State, Actions>));\n```\n\n#### Immer\n\nYou can use [immer](https://github.com/mweststrate/immer) for immutable state modifying.\n\n> Note that `handler` accepts 3 arguments: `draft state` (for changes), `action` and `current state`.\n\n```js\nimport { type Handlers, handleActions } from 'typed-actions/immer'\n\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\nexport default handleActions(({\n    [UPDATE]: state => {\n        state.status = 'pending'\n    },\n\n    [UPDATE_FULFILLED]: (state, {payload}) => {\n        state.data = payload\n        state.status = 'done'\n    }),\n\n    [UPDATE_FAILED]: state => {\n        state.status = 'failed'\n    },\n}: Handlers<State, Actions>));\n```\n\n### Epics\n\nIf you're using [redux-observable](https://github.com/redux-observable/redux-observable), this Epic Type could be useful.\n\n```js\nimport type {Epic} from 'typed-actions';\n\nimport {\n    type Actions,\n    UPDATE_FULFILLED,\n    anotherOneAction,\n} from './actions';\n\nimport {type State} from './reducers';\n\nexport const updateEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE_FULFILLED)\n    /**\n     * No need to add types here, action would be the right Type out of the box\n     */\n    .map(action => anotherOneAction(action.payload));\n\nexport const unionEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE, UPDATE_FULFILLED)\n    /**\n     * {type: UPDATE} | {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    .map(action => {\n        if (action.type === UPDATE_FULFILLED) {\n            /**\n             * Type Refinement will work as well\n             *\n             * {type: UPDATE_FULFILLED, payload: string[]}\n             */\n            console.log(action.payload)\n        }\n    });\n```\n","readmeFilename":"README.md","_id":"typed-actions@0.7.0-1","_npmVersion":"5.7.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-ItqzsAeAclGC8nQusSEPhiSj2+hYF9ljWCadT6K91e8gHnEHG3QOY7kBervjzomHOaME7aDyYyQ2tZfkgDNeqA==","shasum":"7a74662d3cf39e2e309049d8160e1009059587be","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.7.0-1.tgz","fileCount":15,"unpackedSize":17439,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWEQgXcgAQA7qLrs4K0bk75b1LRo96DjZ/+ypax6B4DwIgHNnHZlMq8XkX0xoTGX9z3t8x4ouiN1eYXwx4DslkgqQ="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.7.0-1_1522407197003_0.37116655485934147"},"_hasShrinkwrap":false},"0.7.0-2":{"name":"typed-actions","version":"0.7.0-2","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"readme":"# typed-actions\n\n[![Travis branch](https://img.shields.io/travis/lttb/typed-actions/master.svg?style=flat)](https://travis-ci.org/lttb/typed-actions)\n[![npm version](https://img.shields.io/npm/v/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n[![npm license](https://img.shields.io/npm/l/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n\n\nSome Types and Utils (based on [redux-actions](https://github.com/reduxactions/redux-actions) way) to create type-safe actions, reducers, and epics with auto-inferred types.\n\n**Main points**:\n- 100% Flow coverage for the redux-side with minimum typings (auto-inferred types) and less boilerplate\n- Safe types and functions, which help to reduce risks for Type mistakes\n- Accurate Type-errors handling\n- Deep immutable Type (`Frozen`) for actions and redux state\n- [Immer](https://github.com/mweststrate/immer) support\n\n## Installation\n\n```sh\nnpm install typed-actions\n```\n\n## Usage\n\n> You can get some examples [here](https://github.com/lttb/typed-actions/tree/master/src/tests) with explanations.\n\n- [Actions](#actions)\n- [Reducers](#reducers)\n  - [Immer](#immer)\n- [Epics](#epics)\n\n### Actions\n\n- `action(payload, ?meta)` produces `{type, payload} | {type, payload, meta}`\n- `empty()` produces `{type}`\n\n```js\nimport {createActions, action, empty} from 'typed-actions'\n\n/**\n * Declare Action Types as constants and export them\n */\nexport const UPDATE = '@namespace/UPDATE'\nexport const UPDATE_FULFILLED = '@namespace/UPDATE_FULFILLED'\nexport const UPDATE_FAILED = '@namespace/UPDATE_FAILED'\n\n/**\n * Create Actions Collection\n */\nconst actions = createActions({\n    /**\n     * {type: UPDATE}\n     */\n    [UPDATE]: empty,\n    /**\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (x: string[]) => action(x),\n    /**\n     * {type: UPDATE_FAILED, payload: string, meta: {sync: true}}\n     */\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\n/**\n * Export Action Creators\n */\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions\n\n/**\n * Export Collection Type\n */\nexport type Actions = typeof actions\n```\n\nYou might find this declaration style more readable:\n\n```js\nlet actions\n\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions = createActions({\n    [UPDATE]: empty,\n    [UPDATE_FULFILLED]: (x: string[]) => action(x)\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\nexport type Actions = typeof actions\n```\n\n### Reducers\n\n```js\nimport {handleActions, type Handlers, type Frozen} from 'typed-actions';\n\n/**\n * Import action types with Actions Collection Type\n */\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\n/**\n * Declare State for the reducer with immutable type Frozen\n */\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\n/**\n * Use Handlers Type for the type-casting.\n * This way functions will get right arguments Types\n */\nexport default handleActions(({\n    /**\n     * No need to point the State Type in arguments,\n     * it would be auto-inferred Deep Immutable Type of State\n     */\n    [UPDATE]: state => ({\n        ...state,\n        status: 'pending',\n    }),\n\n    /**\n     * The second argument (action) will also have the right type\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (state, {payload}) => ({\n        ...state,\n        data: payload,\n        status: 'done',\n    }),\n\n    [UPDATE_FAILED]: state => ({\n        ...state,\n        status: 'failed',\n    }),\n}: Handlers<State, Actions>));\n```\n\n#### Immer\n\nYou can use [immer](https://github.com/mweststrate/immer) for immutable state modifying.\n\n> Note that `handler` accepts 3 arguments: `draft state` (for changes), `action` and `current state`.\n\n```js\nimport { type Handlers, handleActions } from 'typed-actions/immer'\n\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\nexport default handleActions(({\n    [UPDATE]: state => {\n        state.status = 'pending'\n    },\n\n    [UPDATE_FULFILLED]: (state, {payload}) => {\n        state.data = payload\n        state.status = 'done'\n    }),\n\n    [UPDATE_FAILED]: state => {\n        state.status = 'failed'\n    },\n}: Handlers<State, Actions>));\n```\n\n### Epics\n\nIf you're using [redux-observable](https://github.com/redux-observable/redux-observable), this Epic Type could be useful.\n\n```js\nimport type {Epic} from 'typed-actions';\n\nimport {\n    type Actions,\n    UPDATE_FULFILLED,\n    anotherOneAction,\n} from './actions';\n\nimport {type State} from './reducers';\n\nexport const updateEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE_FULFILLED)\n    /**\n     * No need to add types here, action would be the right Type out of the box\n     */\n    .map(action => anotherOneAction(action.payload));\n\nexport const unionEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE, UPDATE_FULFILLED)\n    /**\n     * {type: UPDATE} | {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    .map(action => {\n        if (action.type === UPDATE_FULFILLED) {\n            /**\n             * Type Refinement will work as well\n             *\n             * {type: UPDATE_FULFILLED, payload: string[]}\n             */\n            console.log(action.payload)\n        }\n    });\n```\n","readmeFilename":"README.md","_id":"typed-actions@0.7.0-2","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-tmumeiRmlzzyFyiUA1X6/injjlZHjkgCqOI4MH/ZTDnqWFoxtI32ovpPhGMDPVsHKnHSIjLwezwM0OlpFqy19Q==","shasum":"b1f9b99bbf0106b1bcc48c4e8fac57033dfff337","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.7.0-2.tgz","fileCount":15,"unpackedSize":18239,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsas1avl1iqN/Tmu7m4UGiJQftPcDHnVJwOLdbvSiD2AIhAMaBli/N16/Cs4fcmdlDCOmDmsIyvYvGqYt+beOCBrAn"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.7.0-2_1522458511317_0.7975904086783112"},"_hasShrinkwrap":false},"0.7.0":{"name":"typed-actions","version":"0.7.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.7.0","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-dmqYrG5COKMmgnKjCxiQN5VtvKxWgEQ/qXA/a6I2r1u7RfmTWH3t4gEHxaWLDWA8IT9I3XmljGnIdvH6Dp0LmQ==","shasum":"32fbac16af4cd23ea9c768700625cf91a2671bad","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.7.0.tgz","fileCount":15,"unpackedSize":18225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJMU0JeJcC3mAWXkO7sI9X627IL6B4YiZwzTHnUEx2BQIgEZCzXr7U1Ap/d//Wc5PACz+69RaUnh1QB4OT+o+/CFA="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.7.0_1522459385307_0.338402206996119"},"_hasShrinkwrap":false},"0.7.1":{"name":"typed-actions","version":"0.7.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.7.1","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-yBnk6STHVVlH4++Dr4S3wgAxCMJMhQ+1Hm1bKD4viEjob9MJ7dVi1AUCBamkO2AS+zYmWzP8LM9RIxye8Vri0g==","shasum":"b9a29b642ccbf186714ae8e166fa1cc05740d1b0","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.7.1.tgz","fileCount":15,"unpackedSize":18288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8eLx4a7WknR7ZUtmSed8uKAzlkUdMLGQNum5Brwa3xwIgV/KJtn6xpUk4K8vjMysQmBEiW2rRLxkjh+zpPCbCX7M="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.7.1_1522460576641_0.12479452021945203"},"_hasShrinkwrap":false},"0.8.0":{"name":"typed-actions","version":"0.8.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.69.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.8.0","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-rtqVe4CVStt9dFsc6GYIuzNYeVZyw3ENZAFIvJXIo/DX15tj5A18LxuBpB65yB+pykzd5yPujz8J1bJ1x0vKJA==","shasum":"744d8fe0587b8a3cf184b19e380ce00c9518945d","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.8.0.tgz","fileCount":15,"unpackedSize":22763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1gdTCRA9TVsSAnZWagAAtqkP+QDjUPn3QlPAW3M35k0N\nt1/nvoPoYRYWGbjCrlf4AkkscRRl1PLXZd8U79I8yKF7Y59SiZlki9g6MgbT\ne/yH1o43+3JQCgo6+QyHeuKg4leH0GwHSrQecs3MTw6vJ0kPhk342xjU0wVz\n25e4gFqEa40C/mueUoWO8s8bLwemCVHAKmdtbeKo5HEle1QGU+TKBd0I1uKt\nmCsFhKA6Z4o10bipNMs9fsMzh+GEjAd01mTae7rGcDybLtpEZmw3SnU/pwsj\nly7T9tSkSQTyFh0YakecgMTPIciAnyT68hwTiszneHVBxZWVaVn+iCpJLbGQ\n235iHjUxY8DtomA45HQjoYaE/qzDHrI3bvhoitKUGN2xVwVq3xV/0kDoHeD1\n55Wr3FYbyTN7w7yZdfD0jPdOiaGF9RohUpefcgpHKV9+vR4W97s/MhH53ky4\ncgnVOpHwQPuFHSKYyDbQTNusPF/x6OIU1bOpfZsK5fpZa0ZDduI+UAu/y08o\nCL2gnQ56Q5dQ3R0st0/5EvracHM0kxxB0FSLMYXcruvZXlJscxtlNVnNS6jq\n2UCav/P4ngvDMEn/ZDKoK+CJKJy0WzFXcbnHOuOBYO18n9osxykF6PyXoU/X\npo8Zv3TBkSeKVhTNVTOFzZdqUMM2YlxnZyiELByjCCenng9n++R0X2EGbiHZ\nzz5A\r\n=r+36\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTwT8GBkJOtpnsJdDuZkLEeqNTzVrT5HeofxHgwstyyAIgKt3BlR8dnmZ4lxjdQVBDhnYoOclTDN7K7VBicgGSvic="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.8.0_1523976018780_0.43517929551474777"},"_hasShrinkwrap":false},"0.9.0":{"name":"typed-actions","version":"0.9.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.71.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.9.0","_npmVersion":"6.2.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-numcDcgnEvxrgyUb1VrLfODHcM8UQ4yPXnZT8uIp9/jriZGsnaDm2xffcKupU5Q9AOEwjRJqGGGyj5qDg0+yFA==","shasum":"e2aea0fa870b480b7f4dba933186522863c701b9","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.9.0.tgz","fileCount":15,"unpackedSize":23949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXzZgCRA9TVsSAnZWagAAaykQAIoe4htwi9uKCpeUMIkc\nnzRDtDArijwO0fprOfwdf5r6UytBbYMKoWso6UV5HQPeJygj6Fn6mUkGFCZ/\ntYI6/GChXKQPfHeYDDoq6ozc72JhI1ExuKkWAyUNHhUpCXaUYLPrtnJPQYMV\nOMvGzWptn6Reykod1GpcnIbTPd6P/xXSPxdAdwJq89cu/92L0yOFl0hlxr6J\n/EiyuHRaDXgDKL8eY5FDC1SipjMlxUlxhGBRsjODCudHSpf/g9uBl6Tem2Bs\nzxUfyJEhNIH2JU+fv/NnviZCWRMz7APeOkKDYFMWGXJl8ywg/G7Ztae7cK/J\nQg69IhugC3FAsnFD6QYHf3OTJyLbto6uQmArNO+nKGftR8OX/2lkEk0bCGGj\n355a2kUz1kBV+v8HmWDkNlWuyz0UQq0DXpOjZ3CnJklis+JU5gIOX3Yl2WU3\nRbgOyiNsuiTrY54dWRoGkrG8FPrkm/n89tsav4wMeqYEHSjkvS1sb+UNQHKQ\nZk9xWMWloccSPW6HSgk1jLD2LtFiG/lvasbYbr8agvGH5Y0qtFi29tpRA4np\ne3vEsXXzG9KrpbaPtmkskFUUMLz0svmMERKyXNhAj2yOgEXodFmbfEB8bs9i\nO/F9DCcYR5eiphqqGDfryW0rM78gqo0rdm9BnCIntB11G6CQZuKbtEcTBrVD\nPkRa\r\n=19XE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdvvb0Ihn19qLopiEf7FsJJRwMKKjJ+4Y28x4FuQfl0gIgfPJ07ZSWBXcpLW+l4wik8H3WWWDUFraHsaBejvHclCo="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.9.0_1532966495502_0.2179661703691802"},"_hasShrinkwrap":false},"0.9.1":{"name":"typed-actions","version":"0.9.1","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.71.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.9.1","_npmVersion":"6.2.0","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-wBDhAswiTSyEwNtTx8oFXOUcfWGi6kisnx71XEmxZM251D41k/AleMODy4+MPEIwA7alUXG3A/GLOXJDl3QN5Q==","shasum":"b3e303e51fd0e1a8f455cf3d833254e3547682a2","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.9.1.tgz","fileCount":15,"unpackedSize":24161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXzcWCRA9TVsSAnZWagAAT8oP/3LWbTxDgyi9YYOS7rEU\ndqbdAn26C/Eyf3eURhFnbWPUMkXqnaWIu8lU7cSlMn7TO9bFRbHy4SLlc+fk\nz1RrD48sZxWEpGx0Td2DAYTrJ5/WnGQLY0qjzWaSWUW+pb8ZSx5QZpAkynvA\nWTQmrw8X1R1uTV6YBr458Ui8zD3b9t54+I0VLS2VCpXJ2xIa4HPjxzx41PFg\nA+0U9TrkEDcvF8fczgilJcvNCik0/vwxQj0D5Vctoa5xsodOPOQxEwtgc+Bl\naDl1pMI6BYBBHO51yYBlu3rLGVVB4jwYzA+Cl+tnm42n4mu4tIMqE4oBLcvs\nVYu+ztd0pRnim1pS+hCXMWfr0ielXHBvlA50lcJy8oYgtL5im2cYk40Mfggw\naTfytfiIbc78z9WrzOhvMMjA95Jvw2IXDnmdR/wYboAiBW/M2nXi+LPuOeUp\ndLYwWY2jATeAdBOmvXroMxyXTCqwq8A/CUrCuNoTXXLOd72dC9qaLzYtcTN4\ngdeWpNrF0wexUHtJGw4bY36xNoErLhv1ycwHnqA3QSopKCya5ne5a6HCb3HQ\n9AXyzai7OUUI5vc9cOOzdmbKki6Xm1E3xZ3wxA3R96Zou9cOPCPcOM2j4f1t\nV/jYyeIDdt/UA7xLq/t2tBWhC9sP+zJAHJq7N3Hg3fdj4ZsDLoQhXnzfDpLi\ndRgj\r\n=cU9I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjaoAj1HWksPoYrC2Tj7VCYKrkSPCZjaV7gK8+ZW8VwAiEArurGhbQQM5flgjK2LnWAVQJeWWt4zYmG9ZWiitM87Ew="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.9.1_1532966677271_0.6925826027138444"},"_hasShrinkwrap":false},"0.9.2-0":{"name":"typed-actions","version":"0.9.2-0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^1.2.0","eslint":"^4.17.0","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","flow-bin":"^0.71.0","flow-copy-source":"^1.3.0","flow-typed":"^2.3.0","husky":"^0.14.3","lint-staged":"^6.1.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"readme":"# typed-actions\n\n[![Travis branch](https://img.shields.io/travis/lttb/typed-actions/master.svg?style=flat)](https://travis-ci.org/lttb/typed-actions)\n[![npm version](https://img.shields.io/npm/v/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n[![npm license](https://img.shields.io/npm/l/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n\n\nSome Types and Utils (based on [redux-actions](https://github.com/reduxactions/redux-actions) way) to create type-safe actions, reducers, and epics with auto-inferred types.\n\n**Main points**:\n- 100% Flow coverage for the redux-side with minimum typings (auto-inferred types) and less boilerplate\n- Safe types and functions, which help to reduce risks for Type mistakes\n- Accurate Type-errors handling\n- Deep immutable Type (`Frozen`) for actions and redux state\n- [Immer](https://github.com/mweststrate/immer) support\n\n## Installation\n\n```sh\nnpm install typed-actions\n```\n\n## Usage\n\n> You can get some examples [here](https://github.com/lttb/typed-actions/tree/master/src/tests) with explanations.\n\n- [Actions](#actions)\n- [Reducers](#reducers)\n  - [Immer](#immer)\n- [Epics](#epics)\n\n### Actions\nActions are compatible with [Flux Standard Action](https://github.com/redux-utilities/flux-standard-action)\n\n- `action(payload, ?meta)` produces `{type, payload} | {type, payload, meta}`\n- `error(payload, ?meta)` produces `{type, payload, error: true} | {type, payload, meta, error: true}`\n- `empty()` produces `{type}`\n\n\n```js\nimport {createActions, action, empty} from 'typed-actions'\n\n/**\n * Declare Action Types as constants and export them\n */\nexport const UPDATE = '@namespace/UPDATE'\nexport const UPDATE_FULFILLED = '@namespace/UPDATE_FULFILLED'\nexport const UPDATE_FAILED = '@namespace/UPDATE_FAILED'\n\n/**\n * Create Actions Collection\n */\nconst actions = createActions({\n    /**\n     * {type: UPDATE}\n     */\n    [UPDATE]: empty,\n    /**\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (x: string[]) => action(x),\n    /**\n     * {type: UPDATE_FAILED, payload: string, meta: {sync: true}}\n     */\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\n/**\n * Export Action Creators\n */\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions\n\n/**\n * Export Collection Type\n */\nexport type Actions = typeof actions\n```\n\nYou might find this declaration style more readable:\n\n```js\nlet actions\n\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions = createActions({\n    [UPDATE]: empty,\n    [UPDATE_FULFILLED]: (x: string[]) => action(x)\n    [UPDATE_FAILED]: (x: string) => action(x, {sync: true}),\n})\n\nexport type Actions = typeof actions\n```\n\n### Reducers\n\n```js\nimport {handleActions, type Handlers, type Frozen} from 'typed-actions';\n\n/**\n * Import action types with Actions Collection Type\n */\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\n/**\n * Declare State for the reducer\n */\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\n/**\n * Use Handlers Type for the type-casting.\n * This way functions will get right arguments Types\n */\nexport default handleActions(({\n    /**\n     * No need to point the State Type in arguments,\n     * it would be auto-inferred Deep Immutable Type of State\n     */\n    [UPDATE]: state => ({\n        ...state,\n        status: 'pending',\n    }),\n\n    /**\n     * The second argument (action) will also have the right type\n     * {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    [UPDATE_FULFILLED]: (state, {payload}) => ({\n        ...state,\n        data: payload,\n        status: 'done',\n    }),\n\n    [UPDATE_FAILED]: state => ({\n        ...state,\n        status: 'failed',\n    }),\n}: Handlers<State, Actions>));\n```\n\n#### Immer\n\nYou can use [immer](https://github.com/mweststrate/immer) for immutable state modifying.\n\n> Note that `handler` accepts 3 arguments: `draft state` (for changes), `action` and `current state`.\n\n```js\nimport { type Handlers, handleActions } from 'typed-actions/immer'\n\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\nexport type State = {\n    data: string[],\n    status: 'done' | 'pending' | 'failed',\n};\n\nexport default handleActions(({\n    [UPDATE]: state => {\n        state.status = 'pending'\n    },\n\n    [UPDATE_FULFILLED]: (state, {payload}) => {\n        state.data = payload\n        state.status = 'done'\n    }),\n\n    [UPDATE_FAILED]: state => {\n        state.status = 'failed'\n    },\n}: Handlers<State, Actions>));\n```\n\n### Epics\n\nIf you're using [redux-observable](https://github.com/redux-observable/redux-observable), this Epic Type could be useful.\n\n```js\nimport type {Epic} from 'typed-actions/redux-observable';\n\nimport {\n    type Actions,\n    UPDATE_FULFILLED,\n    anotherOneAction,\n} from './actions';\n\nimport {type State} from './reducers';\n\nexport const updateEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE_FULFILLED)\n    /**\n     * No need to add types here, action would be the right Type out of the box\n     */\n    .map(action => anotherOneAction(action.payload));\n\nexport const unionEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE, UPDATE_FULFILLED)\n    /**\n     * {type: UPDATE} | {type: UPDATE_FULFILLED, payload: string[]}\n     */\n    .map(action => {\n        if (action.type === UPDATE_FULFILLED) {\n            /**\n             * Type Refinement will work as well\n             *\n             * {type: UPDATE_FULFILLED, payload: string[]}\n             */\n            console.log(action.payload)\n        }\n    });\n```\n\nJust to note, if you're using `dependencies` in epics, you can pass its type in as the third argument.\n\n```js\ntype Dependencies = {api: () => void}\n\nexport const epic: Epic<State, Actions, Dependencies> = action$ => action$\n```\n\nThe recommended way is to redeclare your own `Epic` type with custom dependencies and use it, like:\n\n```js\n// types.js\nimport type {Epic} from 'typed-actions/redux-observable'\n\ntype Dependencies = {api: () => void}\n\nexport type Epic<S, A, D = Dependencies> = Epic<S, A, D>\n\n// epics.js\nimport type {Epic} from './types'\n\nexport const epic: Epic<State, Actions> = action$ => action$\n```\n","readmeFilename":"README.md","_id":"typed-actions@0.9.2-0","_npmVersion":"6.4.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-NlhYxGxOVPKD6W8+nvF/7TAjPMh7cjJpD2pwcA6OR74q6DZtxZu+EztHstK4a1wbCNI1Q9+0hVgWLnnfQ3YBZg==","shasum":"cdfba68bdc7c26a16812ab28e028442da495ab08","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.9.2-0.tgz","fileCount":15,"unpackedSize":24170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwx4aCRA9TVsSAnZWagAAuYkP/A00882wj31sM4t6WOHe\n4gCbJT3Fg+rO9N0grnqh0YJdfOyHy9PVWNkUZQ+xEFFlQLbZ+ytcM/XBHGE1\nhchWKIJYNPAOs32OR0WjVzLCwtyb2+gQgoub5FVcXrhmu9w1i+Gbq+9JQU78\ndOA6FZ6RI3qiDqBh/tigqozWYoG0HrrRCJSeAfTqw/xbVKzLrZbRApyRW38S\nghmoedd8wKCk5aXFoVxAOjW+uI6W4oJYhEItXfwzKLVhiOLiNi30aOjEq2kn\nrP2Bd/BJRWxcj3/rGwBbxw2SlnjRjcJI/v2+8nLZ3U9Z86iUqROg8pikNNNA\nKmLMMS8hXM5t952kPPM4eZoNyk9UoYqbPu8p/7H3sLRdGmacCeazZpy2F6Wa\nCrUIgbfcXkswfFxi1/MdOqiSjoGO0LWbaH6pgkloCn6nakXFEkyQinsM3EW3\nnMOK56mVrNMRW3B2HXfysThvzNdNQnKR85e/qXEYBkfai04Wv7w22EIwbWl1\nT02BErGnOOjyCjgZgs/zDBMGEYenpPzdqiVvQnagYzu3rrfBMucaEVdh5FBM\nGfyNbB9KZwVyDQVaT3GgODeY5Z5p/1uubk46Vi7G54Je9QRa+D4M/f/XXTQt\nkSJeXTKZrUA7ytUixyaVmzzkqKi4cc2qw8O/LSiHo+pBJqoYngRlhWodvevw\nh/k0\r\n=LMxB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFvQmS/vIFj3VKMhtHTTVFldVCPPMw/5SjFNomTe8cO+AiEAny8yGU2MvYzx1BgxS8l+dwG7x8IjoSpn/B4thzXCuq0="}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.9.2-0_1539513881726_0.04751888218204736"},"_hasShrinkwrap":false},"0.10.0":{"name":"typed-actions","version":"0.10.0","description":"Typed actions for redux","main":"index.js","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^10.0.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^2.1.0","eslint":"^5.7.0","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-flowtype":"^3.0.0","eslint-plugin-import":"2.14.0","flow-bin":"^0.83.0","flow-copy-source":"^2.0.2","flow-typed":"^2.3.0","husky":"^1.1.2","lint-staged":"^7.3.0"},"dependencies":{"redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.10.0","_npmVersion":"6.4.1","_nodeVersion":"8.10.0","_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"dist":{"integrity":"sha512-jm0jv9SwvWHnCc7T/yWPG6Sk+s7XxS3hbBn6eIfQPsL4/dnYyUiCnRTWNGVwKIM0tqf9/eeAa0cEg1x3shppbw==","shasum":"f64a20963897834896b6a4372b595e7790c176ea","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.10.0.tgz","fileCount":17,"unpackedSize":25277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbz1DsCRA9TVsSAnZWagAAPyIQAJwaTeFYqXvSpk4x1j7A\nf+J48hBWdsfsB8EEGAyF8GIu9YvQdrp7Id6etwfbTJbI1HgXIWo/LsyYBE4+\nz0sx8l3LT5hMH40kmje6Bo9gGfHZEG6vHQ+nwQkA7CxoNLz7A1xityZr/XvU\npOsuVS3hbZRCArERuQ0JYr3wV3XaG9nwPpWEEuVMW5kI6UzDq6V3qX3Cr5Z+\nDk6YySt3SQZOhOgF4mO3vswbPRGFwjWEy0BP6s832H1gY9T3kmQ22OcMWF0j\njBPjGdtsen/dYhV6UjZQayYwTXOcTtDX20ul4sLa7r+aeGonARR/Xa5ChIk0\nequC4nsPl5maMEG2tifzPXXUFNA37l1tr2rAYiMne38zZDFybu9lnXOgErQd\nEjstwkQzcW40A4hqzaIa8Yoi0yjieRICh2MhrF2z0OdKYR2dZEtAyxWexupW\n6kUos2au6oNXhxNTKUkDDSsLU5exB0h2ViAJUqcYoFhjMEM/pJkQsNite18K\nSps9pRZRpmmX0olX6xCSxy7pJIEw+WaWjvUYImhQtDtvyByFhN9NhONH093Z\nS8CpF8pnJVkSmeYusSsZsPT/B7StHbzBylevX6dK9NBajcfZ94Q6JrqS/VuW\nXCPHkyBfp7fDgNJ5W8ojovxY+Wjk3kptUD5jfJeajcvk/cXG/O+YkZgdFH/4\nQnuK\r\n=DH0a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCAB1PyFrKUHmJThSa1gDv96YXF2B8nspPbUj7JC01VAIhAKltLMlryTNO314UVF9Ox1hJ1VrAR05xTJVOln/tE/AW"}]},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.10.0_1540313322885_0.5844304143769627"},"_hasShrinkwrap":false},"0.11.0":{"name":"typed-actions","version":"0.11.0","description":"Typed actions for redux","main":"index.js","types":"./index.d.ts","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta && npm run cp:d.ts","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:d.ts":"copyfiles -e '**/tests/**' dts/*.d.ts -f lib/.","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow && npm run lint:typescript","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","lint:typescript":"tsc","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^10.0.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","copyfiles":"^2.1.0","eslint":"^5.7.0","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-flowtype":"^3.0.0","eslint-plugin-import":"2.14.0","flow-bin":"^0.83.0","flow-copy-source":"^2.0.2","flow-typed":"^2.3.0","husky":"^1.1.2","lint-staged":"^7.3.0","typescript":"^4.1.4"},"dependencies":{"@types/redux-actions":"^2.6.1","redux-actions":"^2.2.1","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"_id":"typed-actions@0.11.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-LtQUbGcaLbI5vwTUJgcs5S7GspmVnV2sMdINvtbVsGc0e8tMSSaHspP4aropi+IDrmIFSrVet/IFDD16QYXAdQ==","shasum":"ab5cd7daa371d0321d1739a46c2ea38dd0b4aaea","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.11.0.tgz","fileCount":20,"unpackedSize":29142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcfduCRA9TVsSAnZWagAAuawP/1EgHn6MctwZnH/1B/vY\noIcT5k/SLaxeXHCLuwX7Ehlk78qYDvVF3ZQY2dxAIEHxX1DnC/DUgbYqbcca\nHLcsm0/y+Mc4jZEEz37Drn30JirsMTyZIhvAYwdwOOkSVsI8dAgCRHF/gS6f\n6RyHe/o6qq+ovsCVewSoBl6gT7WMLi4HkxRObUsr2sQflWeFw6CWCBGTDVs0\nA/G8Lv/7m5mm6UHY7+c/3eLbJvLJvYSbXmf8fEP90m6wfuk3oZASVwNHwf/Y\n2OvipWlaZwg72/uIus4SZfQj+ptlgOfNcbFmpUwcfMvRdjqW+zlANvAHSeiF\ngs0OTDS50pjbl8EMliHV0fwZg4ySdThsvpYhMKwG/sPJCB2K6DlpP3Figk5t\n/tjq6q96HbFQsZUs7s8OPD4LsTzOK3d2uA3scIWM0gIX/i8BeF4w0JioIpIp\nikTzsZKHQrrR3xhZjbTcPt6Y80Iats/4OTfuJNDkkUpOH1sA2ukBx6nutdYA\ncZiI5AgD0nuA+PeYYkRJ6PVdEDrULhry8U02ExtVMhFc9PKmgEHQjJBSaFuc\nZ83rk+y976NXIButeadxkcVXydkT+v0MiroiYfnrAs66Bjggcc31EPJoNjm5\nIrGScBm6brkR8LzHZju+FafJQC7Cu8AOMLW3EhrtmLkHMGjuaz5iVu6jllQh\nDrOT\r\n=UqYb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHup6MZzp7hFFN8vE7fv7kLlmzqIDhE6xxDUtkVCpxgNAiB21kTSPEyJEcFzx+Hpw/+rDOXMvYqcDXNZZmJl24p6MQ=="}]},"_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"directories":{},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"},{"name":"antonk52","email":"halloy52@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.11.0_1618081645538_0.6422933007547496"},"_hasShrinkwrap":false},"0.12.0":{"name":"typed-actions","version":"0.12.0","description":"Typed actions for redux","main":"index.js","types":"./index.d.ts","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"homepage":"https://github.com/lttb/typed-actions#readme","scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"BABEL_ENV=production babel src --ignore '**/tests/**' --out-dir lib","postbuild":"npm run cp:flow && npm run cp:meta && npm run cp:d.ts","cp:meta":"copyfiles -e '**/tests/**' package.json README.md LICENSE 'src/.*' -a -f lib","cp:d.ts":"copyfiles -e '**/tests/**' dts/*.d.ts -f lib/.","cp:flow":"flow-copy-source -i '**/tests/*' src lib","lint":"npm run lint:eslint && npm run lint:flow && npm run lint:typescript","lint:eslint":"eslint .","lint:flow":"flow check --include-warnings --show-all-errors --max-warnings 0","lint:typescript":"tsc","preversion":"npm run lint","version":"npm run build","postversion":"git push --follow-tags && npm publish lib","precommit":"npm run lint:flow && lint-staged"},"lint-staged":{"*.js":"eslint"},"devDependencies":{"@babel/cli":"^7.14.8","@babel/core":"^7.14.8","@babel/plugin-transform-runtime":"^7.14.5","@babel/preset-env":"^7.14.8","@babel/preset-flow":"^7.14.5","babel-eslint":"^10.1.0","copyfiles":"^2.4.1","eslint":"^5.16.0","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-flowtype":"^3.13.0","eslint-plugin-import":"2.14.0","flow-bin":"^0.83.0","flow-copy-source":"^2.0.9","flow-typed":"^2.6.2","husky":"^1.3.1","immer":"1.0.0","lint-staged":"^7.3.0","typescript":"^4.3.5"},"dependencies":{"@types/redux-actions":"^2.6.2","redux-actions":"^2.6.5","immer":">= 1.0.0","rxjs":">= 5.5.0"},"optionalDependencies":{"immer":">= 1.0.0","rxjs":">= 5.5.0"},"engines":{"node":">=12"},"_id":"typed-actions@0.12.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-TmqsFF8n9iYX6ot2TZ/VfLCPQ7+Vf4qrJuXZvjsvVTFJ+oe6hGDjDYuEOl4tR6WWMC2LFYDHTyIAHYXnMbphQg==","shasum":"74c41dbfdb106272021152a37d05fee5675f324a","tarball":"https://registry.npmjs.org/typed-actions/-/typed-actions-0.12.0.tgz","fileCount":20,"unpackedSize":25225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/+x8CRA9TVsSAnZWagAA+74P/iLYGsiaMcgGo2yuJkv8\nx/rO+8V8Lv+KwoCdK6+Bv6makAmXwFDE85ZdFozKHgQDkxT5BYDRu8Iq7rl4\nS+BYHAMt4iSU2vQcK/E5Fb1y82dLFeS/dHPQ9+gv2+8MZRBs6ggxApG+RnBJ\nIMSS6MPDEm82EGi3vjivzzAfj68P78RD1hfIhsGhb4PzVZz1zmcaGlpYMW6k\nTgnr8eyZ7Z0sJJE+lqd44XssfViBbipejiyb0MA9kAtzKdEX9zRC8WYJSWL3\nyH0uPNsfuS1OrbyShEfc8xzANiwHblZtjAJvFHOrXdcByGUse4E3UmXtIbtC\nVp1rqVpOfZ34VeguAUJdxL4NMlB/0oA0taT9lVkqaqJRdmBNG+shDguShz2W\nbh9IzN2UBaWafiRqx6PZ03lMvKIbrdE/Vy/ITlEn0uobrtUhq7nb6sQYJoZ+\nSUI44lIPw4/EwjpuhV2EdTCT6ioc81JCzWG8DeFg6oChIKUCquTIzyWHjZ+1\nrO+ZomKt5M/j/dNwTARwf0fCbmU+C81ecPInshUedeXjKNRCciU93lQWL8Hx\nPayoBUVHPpFeOgDDWGZxIo/5u0P4K3S7u+Q65qqaVWpkJEBILWDQiQGoWM+/\nbkwpRt+0PqNM72nvNjBsMHdlUlMaQRxPBi4iYoH6SKWj0RbCtMPcX2uX025K\n3Cf/\r\n=P244\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC84cAc9HbObTfwylvm6Yy6XPqXM+9JXfpckCnZB52diAIgSTufS0wpIN9giOOT2ZYNZX+RGJ67BuyEcYexfa6JZj8="}]},"_npmUser":{"name":"lttb","email":"kenzhaev.artur@gmail.com"},"directories":{},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"},{"name":"antonk52","email":"halloy52@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-actions_0.12.0_1627384956030_0.06531417995089539"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-09T18:43:25.716Z","0.0.0":"2018-02-09T18:43:26.459Z","modified":"2022-05-22T12:25:33.056Z","0.0.1":"2018-02-16T00:03:01.586Z","0.0.2":"2018-02-16T00:29:25.291Z","0.1.0":"2018-02-20T22:58:52.975Z","0.1.1":"2018-02-21T01:01:44.363Z","0.2.0":"2018-02-22T16:54:41.845Z","0.3.0":"2018-02-23T09:02:33.922Z","0.3.1":"2018-02-23T09:39:17.384Z","0.3.2":"2018-02-23T09:44:22.279Z","0.3.3":"2018-02-26T11:48:57.347Z","0.3.4":"2018-02-26T12:13:43.954Z","0.3.5":"2018-02-26T12:18:12.084Z","0.4.0":"2018-03-01T20:18:58.640Z","0.4.1":"2018-03-01T20:56:34.422Z","0.4.2":"2018-03-01T22:00:53.663Z","0.4.3":"2018-03-02T13:44:25.889Z","0.5.0":"2018-03-14T14:23:15.279Z","0.5.1":"2018-03-14T14:47:59.662Z","0.6.0-0":"2018-03-29T02:35:36.231Z","0.6.0-1":"2018-03-29T04:08:21.693Z","0.6.0-2":"2018-03-29T04:41:33.088Z","0.6.0":"2018-03-29T14:53:04.123Z","0.7.0-0":"2018-03-30T08:14:24.002Z","0.7.0-1":"2018-03-30T10:53:17.098Z","0.7.0-2":"2018-03-31T01:08:31.502Z","0.7.0":"2018-03-31T01:23:05.407Z","0.7.1":"2018-03-31T01:42:56.694Z","0.8.0":"2018-04-17T14:40:18.885Z","0.9.0":"2018-07-30T16:01:36.850Z","0.9.1":"2018-07-30T16:04:38.574Z","0.9.2-0":"2018-10-14T10:44:41.889Z","0.10.0":"2018-10-23T16:48:43.024Z","0.11.0":"2021-04-10T19:07:25.654Z","0.12.0":"2021-07-27T11:22:36.154Z"},"maintainers":[{"name":"lttb","email":"kenzhaev.artur@gmail.com"},{"name":"antonk52","email":"halloy52@gmail.com"}],"description":"Typed actions for redux","homepage":"https://github.com/lttb/typed-actions#readme","repository":{"type":"git","url":"git+https://github.com/lttb/typed-actions.git"},"bugs":{"url":"https://github.com/lttb/typed-actions/issues"},"license":"MIT","readme":"# typed-actions\n\n[![Travis branch](https://img.shields.io/travis/lttb/typed-actions/master.svg?style=flat)](https://travis-ci.org/lttb/typed-actions)\n[![npm version](https://img.shields.io/npm/v/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n[![npm license](https://img.shields.io/npm/l/typed-actions.svg?style=flat)](https://www.npmjs.com/package/typed-actions)\n\n\nSome Types and Utils (based on [redux-actions](https://github.com/reduxactions/redux-actions) way) to create type-safe actions, reducers, and epics with auto-inferred types.\n\n**Main points**:\n- 100% Flow coverage for the redux-side with minimum typings (auto-inferred types) and less boilerplate\n- Safe types and functions, which help to reduce risks for Type mistakes\n- Accurate Type-errors handling\n- Deep immutable Type (`Frozen`) for actions and redux state\n- [Immer](https://github.com/mweststrate/immer) support\n\n## Installation\n\n```sh\nnpm install typed-actions\n```\n\n## Usage\n\n> You can get some examples [here](https://github.com/lttb/typed-actions/tree/master/src/tests) with explanations.\n\n- [Actions](#actions)\n- [Reducers](#reducers)\n  - [Immer](#immer)\n- [Epics](#epics)\n\n### Actions\nActions are compatible with [Flux Standard Action](https://github.com/redux-utilities/flux-standard-action)\n\n- `action(payload, ?meta)` produces `{type, payload} | {type, payload, meta}`\n- `error(payload, ?meta)` produces `{type, payload, error: true} | {type, payload, meta, error: true}`\n- `empty()` produces `{type}`\n\n\n```js\nimport {createActions, action, empty} from 'typed-actions'\nimport type {EntityId} from '../types';\n\n/**\n * Declare Action Types as constants and export them\n */\nexport const UPDATE = '@namespace/UPDATE'\nexport const UPDATE_FULFILLED = '@namespace/UPDATE_FULFILLED'\nexport const UPDATE_FAILED = '@namespace/UPDATE_FAILED'\n\n/**\n * Create Actions Collection\n */\nconst actions = createActions({\n    /**\n     * {type: UPDATE}\n     */\n    [UPDATE]: empty,\n    /**\n     * {type: UPDATE_FULFILLED, payload: EntityId[]}\n     */\n    [UPDATE_FULFILLED]: (x: EntityId[]) => action(x),\n    /**\n     * {type: UPDATE_FAILED, payload: EntityId, meta: {sync: true}}\n     */\n    [UPDATE_FAILED]: (x: EntityId) => action(x, {sync: true}),\n})\n\n/**\n * Export Action Creators\n */\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions\n\n/**\n * Export Collection Type\n */\nexport type Actions = typeof actions\n```\n\nYou might find this declaration style more readable:\n\n```js\nlet actions\n\nexport const {\n    [UPDATE]: update,\n    [UPDATE_FULFILLED]: updateFulfilled,\n    [UPDATE_FAILED]: updateFailed,\n} = actions = createActions({\n    [UPDATE]: empty,\n    [UPDATE_FULFILLED]: (x: EntityId[]) => action(x)\n    [UPDATE_FAILED]: (x: EntityId) => action(x, {sync: true}),\n})\n\nexport type Actions = typeof actions\n```\n\n### Reducers\n\n```js\nimport {handleActions, type Handlers, type Frozen} from 'typed-actions';\nimport type {EntityId} from '../types';\n\n/**\n * Import action types with Actions Collection Type\n */\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\n/**\n * Declare State for the reducer\n */\nexport type State = {\n    data: EntityId[],\n    status: 'done' | 'pending' | 'failed',\n};\n\n/**\n * Use Handlers Type for the type-casting.\n * This way functions will get right arguments Types\n */\nexport default handleActions(({\n    /**\n     * No need to point the State Type in arguments,\n     * it would be auto-inferred Deep Immutable Type of State\n     */\n    [UPDATE]: state => ({\n        ...state,\n        status: 'pending',\n    }),\n\n    /**\n     * The second argument (action) will also have the right type\n     * {type: UPDATE_FULFILLED, payload: EntityId[]}\n     */\n    [UPDATE_FULFILLED]: (state, {payload}) => ({\n        ...state,\n        data: payload,\n        status: 'done',\n    }),\n\n    [UPDATE_FAILED]: state => ({\n        ...state,\n        status: 'failed',\n    }),\n}: Handlers<State, Actions>));\n```\n\n#### Immer\n\nYou can use [immer](https://github.com/mweststrate/immer) for immutable state modifying.\n\n> Note that `handler` accepts 3 arguments: `draft state` (for changes), `action` and `current state`.\n\n```js\nimport { type Handlers, handleActions } from 'typed-actions/immer'\nimport type {EntityId} from '../types';\n\nimport {\n    type Actions,\n    UPDATE,\n    UPDATE_FULFILLED,\n    UPDATE_FAILED,\n} from './actions';\n\nexport type State = {\n    data: EntityId[],\n    status: 'done' | 'pending' | 'failed',\n};\n\nexport default handleActions(({\n    [UPDATE]: state => {\n        state.status = 'pending'\n    },\n\n    [UPDATE_FULFILLED]: (state, {payload}) => {\n        state.data = payload\n        state.status = 'done'\n    },\n\n    [UPDATE_FAILED]: state => {\n        state.status = 'failed'\n    },\n}: Handlers<State, Actions>));\n```\n\n### Epics\n\nIf you're using [redux-observable](https://github.com/redux-observable/redux-observable), this Epic Type could be useful.\n\n```js\nimport type {Epic} from 'typed-actions/redux-observable';\n\nimport {\n    type Actions,\n    UPDATE_FULFILLED,\n    anotherOneAction,\n} from './actions';\n\nimport {type State} from './reducers';\n\nexport const updateEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE_FULFILLED)\n    /**\n     * No need to add types here, action would be the right Type out of the box\n     */\n    .map(action => anotherOneAction(action.payload));\n\nexport const unionEpic: Epic<State, Actions> = action$ => action$\n    .ofType(UPDATE, UPDATE_FULFILLED)\n    /**\n     * {type: UPDATE} | {type: UPDATE_FULFILLED, payload: EntityId[]}\n     */\n    .map(action => {\n        if (action.type === UPDATE_FULFILLED) {\n            /**\n             * Type Refinement will work as well\n             *\n             * {type: UPDATE_FULFILLED, payload: EntityId[]}\n             */\n            console.log(action.payload)\n        }\n    });\n```\n\nJust to note, if you're using `dependencies` in epics, you can pass its type in as the third argument.\n\n```js\ntype Dependencies = {api: () => void}\n\nexport const epic: Epic<State, Actions, Dependencies> = action$ => action$\n```\n\nThe recommended way is to redeclare your own `Epic` type with custom dependencies and use it, like:\n\n```js\n// types.js\nimport type {Epic} from 'typed-actions/redux-observable'\n\ntype Dependencies = {api: () => void}\n\nexport type Epic<S, A, D = Dependencies> = Epic<S, A, D>\n\n// epics.js\nimport type {Epic} from './types'\n\nexport const epic: Epic<State, Actions> = action$ => action$\n```\n","readmeFilename":"README.md"}