{"_id":"remob","_rev":"34-ad98c1fae675abdadaea8da4a7c1ac4e","name":"remob","description":"Rethinking of Redux and MobX","dist-tags":{"latest":"1.1.6","next":"0.2.6","beta":"0.3.3"},"versions":{"0.0.0":{"name":"remob","version":"0.0.0","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"devDependencies":{"eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"gitHead":"5bfc4bee07439c2b768a1cae7d4d76c188ed6f79","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-Wi3SqWXihnfBhi1FlCEro1R5Qb6QskyaLK1CRQRknLSjQdZW2OIkEOHodKVnLg/wEdH0JA4SwCrd3nNcBVQ1+Q==","shasum":"a33c6eb57726461951e29645a57fb3c571c01602","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzA/K+inj5far+3Wu34ohh5MRjc1qQB8j+DsIwqIQfpAiBZ28EDmFIVR+xeNXWrqoZZbtIM/oDV9KjJUvo8yR2iTA=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.0.tgz_1515080158172_0.34625414852052927"},"directories":{}},"0.0.1":{"name":"remob","version":"0.0.1","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"137fb0ce31f1c1290f6098e1bc7bbd8712a9da6a","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-zJ+koGltVOMTtTafLcNhXm6Ndj2joR4mkKcQKlWQbrK85G1dynBMYG26sQvdTLl1Rh6mSjz0gvdmS8jUj2KSGg==","shasum":"165c9168a8b1a9a8421cbafa03ceecb5beed4583","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRaxHpvo+WL92d1HC02dU2PDS3VSH3s6/zqhVMMZFGpgIgW/7MoN4jA1fkIVQjY7rf0XO/6/i21OJZXUSoVsPCMwc="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.1.tgz_1517775431565_0.784787884214893"},"directories":{}},"0.0.2":{"name":"remob","version":"0.0.2","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"7413034e4f82aae77eb8601780513d9574ed9f5c","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-7lr6wvBu4wF3FjbfExOadR6I9DCi4F8y93aSr3wTn7OTxo1jMMdvFzZAO9fkLiKpiyYhay8lcxDgmLOXt5V5Sw==","shasum":"d69942c6e2e36abd2eeb92cb1405827d11df8cf0","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsyRiNONPB2poSK7vivKhceJZd1gdtCIKWj3SflxqiHAiBNPMdz6Bx1j55c09jNDNRBPyBkY799+j/TdBMMnIJXTQ=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.2.tgz_1517775753904_0.28041688655503094"},"directories":{}},"0.0.3":{"name":"remob","version":"0.0.3","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"5289287ec92902c45526468660779be1d042b0f5","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-fYIuxzOHNEUW/H3fk1MH1A+61NUFXAvyoS0MLxObxhIAUd1xlY3TEfJeeIBp/9dLBAGAn6hnczqAE1j9P5c2vg==","shasum":"bc46624e6e93a5b4d46e6c4c55b9c81c7b13dabf","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlZyLq4cVZXVmVENFoKxRT+ni02W0R1Bj2eLme0vOYsAIgPa1E/kYiJnMzIbffYO6ZwHdI9LsHEcNyloS4D6HLrrg="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.3.tgz_1517775958637_0.49950608937069774"},"directories":{}},"0.0.4":{"name":"remob","version":"0.0.4","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"8ffcfa8d43f6f66aee2484c5039f28562c7b9366","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-6a97kQzMtKyPCpBjA1I5jYUg7s87AClJL0q7wcElwjP9P5RegA3g3+MZvxs/ymlNrLcN5C6pP+XHdp+er1C5QQ==","shasum":"955b23da85edef2925eb80b52ae0d0c851168ce8","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF7aLgbTlAmLZA3TouF1azc93MQ4HP2G4mL6doxM7iB1AiB4k3Wp29GBIXhzpgOu3t/j+VGb8IL1C+xzwZ5wiFbX4A=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.4.tgz_1517777133475_0.32283446681685746"},"directories":{}},"0.0.7":{"name":"remob","version":"0.0.7","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"4b4551775745bfcb6516f43647a68350deec096f","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-fy7qYdMfhbM7yM2TEPVgsa7g/Q9scPAxWUVfqjqqhWgOwSEDLK/4Mq87lnt7lfHWUIqDUyg2WbgEisNKNCNcRA==","shasum":"3cc603038e3b2c5f0a14398db1c2b6d8f64c0c83","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIV5/TjNT/Kyiq72d2qgypUxhWRzSFZthlsUVaB5KkZwIhAIkghdCX+78fBwLHXhCCDDL3Y6WI2AbhijCld2194APU"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob-0.0.7.tgz_1517786373289_0.2360157468356192"},"directories":{}},"0.0.9":{"name":"remob","version":"0.0.9","description":"Rethinking of Redux and MobX","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"scripts":{"dev":"webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"abedcd95f3d9a68b1f9248eb2e7c6fd01e07221d","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.0.9","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-sCF2tZE0XdavfPADUn7FnZw+meRzBrPP9CO6emI7HZvBX2nmchHTX1isAUQceCJ3W/IVlrgDgV5sbIhmpgo3Og==","shasum":"ae4100745b491923fcaf57c52ca5d6c9ee0d8257","tarball":"https://registry.npmjs.org/remob/-/remob-0.0.9.tgz","fileCount":44,"unpackedSize":242657,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXtOtRVew0wMev6qHiLc90WUEKViStVECTk1wZC2+GvAiBFhfs3K7pHuD6Dq1H1IqwJrWVSIW476qjmraxcnQLGcg=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.0.9_1518211010306_0.01258528055485697"},"_hasShrinkwrap":false},"0.1.0":{"name":"remob","version":"0.1.0","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"NODE_ENV=test jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15","rollup":"^0.55.4","rollup-plugin-commonjs":"^8.3.0","size-limit":"^0.14.0"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"1ea52550f01ae42a349d57aa759f84f586e15442","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-Du3T0DDTfF7PjrI9VYunUL29FgKifiRKPLIlRq+eX+MSEg/u+0XMSeK99IXdKQYr0gfb3WwAcdiwsdHq4F/PZA==","shasum":"5fc945cc70f4cc108d6c480e4e48f16e0c3f16f5","tarball":"https://registry.npmjs.org/remob/-/remob-0.1.0.tgz","fileCount":48,"unpackedSize":288552,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6IMJLy7n8iEo6wP5UCx5wBqh4v2JfCtahajHi5ruUGgIgJKF5dCZ19BI5c0MWYfvYMy6ZrQoNUCNrB21aoOOLLRc="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.1.0_1518261393400_0.3917876329784451"},"_hasShrinkwrap":false},"0.1.1":{"name":"remob","version":"0.1.1","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"NODE_ENV=test jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15","rollup":"^0.55.4","rollup-plugin-commonjs":"^8.3.0","size-limit":"^0.14.0"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"36f3ac84b9915c01f3278887e4220319bc89fcca","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-vQT8NYsXANUgF3tQFDq3K2/qIhtr1N/qML/ImGOUi1L8Z30A4/Zx/RUJlvYJWvc5jjHGo5isYAlOlzTXSPZ8qA==","shasum":"ec8f9ea1c4330cb1959c9bdd42435ee0f8efd9e6","tarball":"https://registry.npmjs.org/remob/-/remob-0.1.1.tgz","fileCount":49,"unpackedSize":322395,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeQv0yw/We90ONwIfBnfjhmoIJC3O3kx2enoetx1aZ+AIgeGJ9sGThjfPW5BN/fee3XVVC4pCp13zlC+GkxKk33ZU="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.1.1_1518262385027_0.3462061447091598"},"_hasShrinkwrap":false},"0.1.2":{"name":"remob","version":"0.1.2","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"NODE_ENV=test jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15","rollup":"^0.55.4","rollup-plugin-commonjs":"^8.3.0","size-limit":"^0.14.0"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^2.30.1","lodash":"^4.17.4","mobx":"^3.4.1","mobx-react":"^4.3.5","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^3.10.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^2.9.7"},"gitHead":"dbe529900c790d771a818d73f1587f88419fa4ad","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-bMYAp5Ox/UH+MDfeA+k1q15d9Tt8S3m9eFb/xzuTvKXNmbE2KnmX97Rs1N8Oh3wYyCLu3RT7r74IPPSwSro/Sg==","shasum":"df67f37d0d7b03321a4e85b2443be7c5eb052c6e","tarball":"https://registry.npmjs.org/remob/-/remob-0.1.2.tgz","fileCount":49,"unpackedSize":325302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+UnqKTCOHksJqlEptxzjhI/pSmsas5rEP+Q+/jDYNFAiEA2x+pHvR27oNpPE+H9J5wY8BCTpAwbYlFqgFjqsftA04="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.1.2_1518363766696_0.7669738107696216"},"_hasShrinkwrap":false},"0.1.3":{"name":"remob","version":"0.1.3","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"NODE_ENV=test jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.14.0","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.1.4","mobx-react-devtools":"^4.2.15","rollup":"^0.57.1","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^3.0.6","lodash":"^4.17.4","mobx":"^4.1.0","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.2.0","react-dom":"^16.2.0","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.1.1","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.1"},"gitHead":"53676a3573bef1cef60ba83f28a16c893c15ab66","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.1.3","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-1sgTNbtkXmmvrKHwkjIUpMLnuz4gJa8JnhJ4W45RQbF74iNMBuenKfU/GpR3xuakuqzd3BjSkF43Pxj/RmIBPw==","shasum":"95f6734c05e278bff9575a3cfb1ebbf4f688d9ad","tarball":"https://registry.npmjs.org/remob/-/remob-0.1.3.tgz","fileCount":49,"unpackedSize":342237,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4oL9ulzlen90TYhifeTP39dlb2IPHCNl7LbXmXO+FYQIhAMZ+QW7K/7GEClxlhSMBZXQUvBtP4vueYAjDQOFA2i9F"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.1.3_1521317419717_0.1249602364507798"},"_hasShrinkwrap":false},"0.2.1":{"name":"remob","version":"0.2.1","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.10.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","rollup":"^0.57.1","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0","webpack-cli":"^2.0.14"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.4","mobx":"^4.1.1","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.3.1","react-dom":"^16.3.1","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.5.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.3"},"gitHead":"cd7bf07dcd136574a9a8e44a7c6b0e0239d3c477","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-kXWFHiGYzHEbKDVewe2ByO8Ia/dqqHGQwUFDMoWlf3WSpZ/j2+O0T2/BeZo2JNBxOJWpUKBRGvJkhVaQ82XjhQ==","shasum":"df4659e7f828414268db9cb2b8cc698f1138bb39","tarball":"https://registry.npmjs.org/remob/-/remob-0.2.1.tgz","fileCount":49,"unpackedSize":379190,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCemweUbcX/Wghxjd5axCXUiWXgNeV9BtR5VjszKlVV3QIhAPNHAUOXYqwfvKmJ3/zHhGTFc/0JcGLj528OsTicB4ch"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.2.1_1523476971341_0.2935282134582513"},"_hasShrinkwrap":false},"0.2.2":{"name":"remob","version":"0.2.2","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.1.2","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015":"^6.24.1","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.10.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","rollup":"^0.57.1","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0","webpack-cli":"^2.0.14"},"dependencies":{"core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.4","mobx":"^4.1.1","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.3.1","react-dom":"^16.3.1","react-redux":"^5.0.6","redux":"^3.7.2","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.5.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.3"},"gitHead":"9e373cbf5966dfdd1379e594c956d5187d8619aa","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-aDOF1JcCyq8EImTHbxKYq65Lq2kRkY+Ryy/tko5RP3LgU/WrepYIQEK+JzetoCvh+UIIRwbw0cM2xxML2tSe5g==","shasum":"061bd434e20807b7069d57a4b683d9efebd6e11f","tarball":"https://registry.npmjs.org/remob/-/remob-0.2.2.tgz","fileCount":51,"unpackedSize":380289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa22HHCRA9TVsSAnZWagAACJYQAKBgIxDjZu23kzJNYOiU\nMpVjuEe5dyQaOpM2za+luhDc3M+Cz0wHIszTGxpZrJHwN5mYtfAKDnKduYbt\n7s+ZiKbN4WQHnKa42G0N4RU05NgzEpk6LRD8rPbFc0qVedXMwSo1IWz8C0Y7\n3HlkhPMCCuTsH+VyQtUn9YZHI28vVrwiN5N/hC0PfY8SEdmOZ7Y8wpGwvIYf\nc1JuP7QXwiL/xvjyzsDBgHJ9RDMOnQsnT2BCBz5frnOtoEWWKzcqfubra4/d\nQUqmwF2TuZHv1jfA+kpzj7N6JrJJ/hi7RaWT+7alDCRp//DGNZN8o7GuVzPl\nxwRgvTQW0BpVVjJ5/ljNmtjPzt61hzGMCe0+ypGQy56DZjboPnU2Xlta8RTo\n2kSANxWrgvf7GJz2j5xUa0EsYDz7ZG1DOFRIfwoc4MtSjjQA0fsgLD/r+B2f\nCqkebRY/3vxOLxb8OPYAIS9eDgyENJ2G+HGuq5H66fhnjv1ChdluF39jxVAc\n6Mu+NfSyqkWfbzeTN7n0byvIYJJdmbsz777Gtb0LflAwdlGs7GSRQhSyELEn\nLjqEflXC6udluMHv+HTLumoqWzKoDooeSV3sAYNDyC01NlXma1mQqADeNNn2\npVu2aW6RJva1eWMph1/LpfCp96ZCzeJn8Nl3XoKKOzcRhJS4VmEfpBQuIDts\nFcH/\r\n=ZNgH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPtSvuYhbeeScDS0Cis6Pak8VDdczaGhiVFifwmzHsPAIgHvIyxMLXxsb+Gz2ORBkyUve4p3LZCoCw39XWUQTkb0k="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.2.2_1524326854795_0.10279097543335847"},"_hasShrinkwrap":false},"0.2.4":{"name":"remob","version":"0.2.4","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","rollup":"^0.58.1","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0","webpack-cli":"^2.0.15"},"dependencies":{"babel-preset-env":"^1.6.1","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.4","mobx":"^4.2.0","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.6.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.3"},"gitHead":"53a6826b062837e7ebdc42ebaf617c1c7383af35","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-Ok/32AtexZgwi0k5lQjqTNud+7t2OXR/ahtqmLGzumjoyitQuVUmDmh+C5Il0x2f/Ei0WAbgtkZRPnjkZjNt4g==","shasum":"628cb891fab98682ffb09aa56a7adc356601690c","tarball":"https://registry.npmjs.org/remob/-/remob-0.2.4.tgz","fileCount":51,"unpackedSize":391549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa222PCRA9TVsSAnZWagAAnGkP/iUYhobb48eCqvLEks1R\nlFKeRhG/lN3arKylfjxSOecoVdwo6M7LRap+JFLyjW2lhiqiVao81TxX86JH\naJKF2GUX735b1pvn2Vl5o6C6vlp2jHOwSumavwQUXP40wrZZNAThXpRYfU5a\nPyBqWMOhBYS6BRH0tSZ3XFXdbyjNeK0ywbbSif9oMrP9lRzkqiD9ahW/oQy6\ni0C4YMMOvhXgnpeug9xcIIYwNvoBsQ+IsO6zFqz/20zb/Bk5hujYcghOUSnH\nmocdumpywCZiDshjHsmDsT2gF4+AMZNdWTZu22UhQcWV4mv/vOE7/dgNPJJU\nJ41gzI2MnY5wp5LpJnyYEaXWnTF5zD3EXLECAM1UNgWC0BbgBV5AVQ3zL/s8\nsV8DigsvIMrqNPJnwgapn4wEknHWykSp+m9CvJSnJbzOHkvRyGqKyFde6hKU\nymVR9xrtcbS2GormSjgDYsGc3o6gc/gXvxGRmbKDNKXyxvGNBUQVgpMkJ57C\nlLkaastPlHv7UahjbrqbwAcCC5tz9rWS+JSSPL2LzvY/41KYFi6DEdN1EiNd\nhwAK/zn4SZNOxx4PEob6XxMgW+XDfPXIqGWd7JeO51u6td9CFtOmmO4GpTet\n2vHNmrDI/tNF4nmfN9q2CEtYWMRfYzGz38FLdWpd16EhFKSBFpJ3ihNqS0zT\nKvHM\r\n=2KFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHEDxrwA9gKv5A6lO/opfZyOQ4vtWYSoMbSCVyTBRCIaAiEAyK18uCMPSD5JfxAPVWHmf6ZoR3jS8fRDD6RgWLMauhs="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.2.4_1524329870709_0.28646268410959963"},"_hasShrinkwrap":false},"0.2.5":{"name":"remob","version":"0.2.5","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0","webpack-cli":"^2.0.15"},"dependencies":{"babel-preset-env":"^1.6.1","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.0","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.6.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.3"},"readme":"# remob\nRethinking of Redux and MobX\n\n[![Build Status](https://travis-ci.org/icrosil/remob.svg?branch=master)](https://travis-ci.org/icrosil/remob)  [![Coverage Status](https://coveralls.io/repos/github/icrosil/remob/badge.svg?branch=master)](https://coveralls.io/github/icrosil/remob?branch=master)  [![Maintainability](https://api.codeclimate.com/v1/badges/6fe830dc12447fa3922b/maintainability)](https://codeclimate.com/github/icrosil/remob/maintainability)  [![Version](https://img.shields.io/npm/v/remob.svg)](https://www.npmjs.com/package/remob) [![dependencies Status](https://david-dm.org/icrosil/remob/status.svg)](https://david-dm.org/icrosil/remob)\n\n## what is remob?\nremob - is an experiment to improve usability for redux. It is build upon combining simple state management from Redux and effective usability of MobX and decorator power.\n\n## why to remob?\nIn comparing giants like Redux and MobX you can find pros and cons in usage for both sides, but what if we can take pros out of them? As general idea I was wondering if it possible to give Redux more structure and easiness in usage like i felt using MobX but without overwhelmed observables.\n\n#### Redux\nRedux is good and gives correct vision of state management, flow of data, consequences of changes.\nBut also from the box it gives such a big amount of options to create your application that could be a bit frustrating. Biggest concerns I would like to change are:\n- lot of code to init your `not an array` store\n  - when your app grows enough you can find yourself in situation when you have to create lot of dumb files/code to achieve simple logic and align to your structure.\n- action types produces namespace issue and you have to almost duplicate initial state to actions and so on\n- switch case need within reducer\n  - sure here you can use additional `redux-actions` or similar but its additional wrapper\n- small HOR usage\n  - you cannot just have one reducer and simply reuse it from another one, to have it you need HOR and then use it like HOR everywhere, but in my opinion this should be on top of everything right from start\n- `mapState` & `mapDispatch`\n  - i've seen a lot of having this guys near to components even with possibility to have near store, this selectors and actions should just live in store. So store should have ability to combine it\n\n#### MobX\nMobX is also a good option for state management with pros and cons.\nUsage of `classes` and `decorators` are just beautiful with combining all needed data inside of instance - selectors, actions, etc.\nBut using MobX after Redux you probably faced with lack of unidirectional flow, immutability and all pretty things Redux has.\nObservables as pattern are good, but predictability and unidirectional flow worth more.\n\n#### remob\nSo basically this is the wrapper upon Redux with decorator usage.\nEnjoy to use it =)\n\n## Installation\n- `yarn add remob`\n- `import remob from 'remob';`\n\n## API\nRemob has 6 exports from index file, they are:\n- Reducer\n- action\n- selector\n- thunk\n- inject\n- combineRemob\n\n#### Reducer\nIs a main class to start with. When you want to create new remob you should import `Reducer` and extend remob from `Reducer` or another remob. Inside of `Reducer` live only registrators and reducer implementation.\n```\nimport { Reducer } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n}\n\nexport default new Counter();\n```\n\n#### action\nIs a decorator to use within Reducer. You have to use it like function `@action()`.\nUsing this on some function in remob will produce next actions:\n- registrate action to remob and reducer\n- make this function to be dispatchable\n\nimplementation of actionable functions should be like reducer that will be fired only on this action. It takes 2 params as arguments state and action.\n\naction could be an implementation for part of state, for this case you have to pass property name to first param - `@action('field')`\n\n```\nimport { Reducer, action } from remob;\n\nclass Counter extends Reducer {\n  initialState = {\n    field: 0,\n    deep: {\n      field: 42,\n    }\n   };\n  @action() increment(state) {\n    return {\n      ...state,\n      field: state.field + 1,\n    }\n  }\n  @action('field') incrementField(state) {\n    return state.field + 1;\n  }\n  // both actions will work just equal.\n\n  // deep path exist, _.get powered.\n  @action('deep.field') incrementDeepField(state) {\n    return state.deep.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### selector\nIs a decorator to write selectors from state to components.\n```\nimport { Reducer, selector } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @selector incremented(state) {\n    return state.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### thunk\nIs a decorator very similar to action but with one change - it has different dispatchable method and it will call function implementation as argument to dispatch. Usable to create side effects within thunk middleware.\n```\nimport { Reducer, thunk } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @thunk decrement(dispatch, getState) {\n    ...\n  }\n}\n\nexport default new Counter();\n```\n#### inject\nIs a function to inject remobs into component using connect. It takes object of remobs you want to pass, get every action/selector/thunk/state and mapps dispatch and state and them merges to 1 object.\n\nKeys of argument should equal to how you created stores of them and value should be a remob.\n```\nimport { connect } from 'react-redux'\nimport { inject } from remob;\n\nimport Component from './Component'\nimport remobImplementation from '../store/remob'\n\nexport default connect(...inject({\n  remob: remobImplementation,\n}))(Component)\n```\n#### combineRemob\nIs a function to combine remobs for store creating, it takes reducer implementation of every remob passed.\n\n```\nimport { combineRemob } from 'remob'\nimport { createStore } from 'redux'\n\nimport stores from '../stores'\n\ncreateStore(combineRemob(stores))\n```\n\n## influence\n- [redux](https://redux.js.org/)\n- [redux-knife-manager](https://github.com/madetheforcebewithyou/redux-knife-manager)\n- [MobX](https://github.com/mobxjs/mobx)\n- [react-easy-state](https://github.com/solkimicreb/react-easy-state)\n","readmeFilename":"README.md","gitHead":"87f28c78eed3fc96d8fe879bc414cb72c1764d6c","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.2.5","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-2NXgGjKGLJ6Y3gZzo5Vfaf7WVmAFKmO1e1+Id0rNJZJwCZQQ1nB+6YNaREVXOOC6Fv3vmE8wy2PbjSu/4SbwOQ==","shasum":"50dc14fe78d6966f1c813f90994a2a75d315bf3b","tarball":"https://registry.npmjs.org/remob/-/remob-0.2.5.tgz","fileCount":24,"unpackedSize":373758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5XqICRA9TVsSAnZWagAA20cP/3H5x5nkPSSHQe5qJhD2\nTzO3cl0JRBGyN9oFAdu94yvzRdZEN494YrIxuGQTzv7j5Q0ZxxgmihXfvwoW\nai2180f4PwQcftn9ThFBX/hbn7C1vhq9IVPqktqVc2VlqnMPJ6TltzUaZBwb\ngbTF2jkhnWcwRrYmkrj9pa5yljsWNoS8icOMStMtfZVNso53E6fdwbDgALUW\nzM5ftd27Wyo4C0PKedVKjKJJyC/qypJoRGVU5iWbGtuY2UqtiRW1jjAHPBEY\nEoZSMNvIsytNzrYJko454IZkgFszEDzYGqTR/Q3MdWH9yT1CYJORqWH1bZX+\nk5BGsw13BFj4ymjGJoyDzhYCvL32dmdZ1MEoKF8gd7eP3fpvhlmCvTo3FTZW\n5I6yNTP0DRC8GKH2GU1ds/L/qMhERN/6SZ0Y4F6XNA557vx4UE2UREnasiLC\nGCh+ojjA24BMyvgyeughrTxaGQWseYAmH72KKIWhHfr0GI6vQUj9H8Bm3jkc\nAmgYOJ89ISztiozYY6yzRIZj1kg42KD5vEchtUMLkVZCeCvkHR6Rkvr0eSrk\nCs35XvvKDEi1ISUits6n5poHemjrIOzG1Hsfhx5mz30hfDwDKGtzYZcUMmdx\nZsXbB3s/2kQn0DDjyzM1MUqM3fUWnpv/KOZmvsOq8pD9fl0fMzbHn/TmJqnY\nkIe+\r\n=b5m/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6e9+HAPaml9rOTv7iO589bAnBcC1v4iGEL+USo29ozAIgRLRw/t42ArCxsToDpPydvJKZ/KK6uD8cATkFTEeuzuA="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.2.5_1524988551368_0.04680319301213265"},"_hasShrinkwrap":false},"0.2.6":{"name":"remob","version":"0.2.6","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.0","size-limit":"^0.17.0","webpack-cli":"^2.0.15"},"dependencies":{"babel-preset-env":"^1.6.1","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.0","mobx-react":"^5.0.0","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.6.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.3"},"gitHead":"95577e8a4170529bef7890c6d2258be72a27c660","readme":"# remob\nRethinking of Redux and MobX\n\n[![Build Status](https://travis-ci.org/icrosil/remob.svg?branch=master)](https://travis-ci.org/icrosil/remob)  [![Coverage Status](https://coveralls.io/repos/github/icrosil/remob/badge.svg?branch=master)](https://coveralls.io/github/icrosil/remob?branch=master)  [![Maintainability](https://api.codeclimate.com/v1/badges/6fe830dc12447fa3922b/maintainability)](https://codeclimate.com/github/icrosil/remob/maintainability)  [![Version](https://img.shields.io/npm/v/remob.svg)](https://www.npmjs.com/package/remob) [![dependencies Status](https://david-dm.org/icrosil/remob/status.svg)](https://david-dm.org/icrosil/remob)\n\n## what is remob?\nremob - is an experiment to improve usability for redux. It is build upon combining simple state management from Redux and effective usability of MobX and decorator power.\n\n## why to remob?\nIn comparing giants like Redux and MobX you can find pros and cons in usage for both sides, but what if we can take pros out of them? As general idea I was wondering if it possible to give Redux more structure and easiness in usage like i felt using MobX but without overwhelmed observables.\n\n#### Redux\nRedux is good and gives correct vision of state management, flow of data, consequences of changes.\nBut also from the box it gives such a big amount of options to create your application that could be a bit frustrating. Biggest concerns I would like to change are:\n- lot of code to init your `not an array` store\n  - when your app grows enough you can find yourself in situation when you have to create lot of dumb files/code to achieve simple logic and align to your structure.\n- action types produces namespace issue and you have to almost duplicate initial state to actions and so on\n- switch case need within reducer\n  - sure here you can use additional `redux-actions` or similar but its additional wrapper\n- small HOR usage\n  - you cannot just have one reducer and simply reuse it from another one, to have it you need HOR and then use it like HOR everywhere, but in my opinion this should be on top of everything right from start\n- `mapState` & `mapDispatch`\n  - i've seen a lot of having this guys near to components even with possibility to have near store, this selectors and actions should just live in store. So store should have ability to combine it\n\n#### MobX\nMobX is also a good option for state management with pros and cons.\nUsage of `classes` and `decorators` are just beautiful with combining all needed data inside of instance - selectors, actions, etc.\nBut using MobX after Redux you probably faced with lack of unidirectional flow, immutability and all pretty things Redux has.\nObservables as pattern are good, but predictability and unidirectional flow worth more.\n\n#### remob\nSo basically this is the wrapper upon Redux with decorator usage.\nEnjoy to use it =)\n\n## Installation\n- `yarn add remob`\n- `import remob from 'remob';`\n\n## API\nRemob has 6 exports from index file, they are:\n- Reducer\n- action\n- selector\n- thunk\n- inject\n- combineRemob\n\n#### Reducer\nIs a main class to start with. When you want to create new remob you should import `Reducer` and extend remob from `Reducer` or another remob. Inside of `Reducer` live only registrators and reducer implementation.\n```\nimport { Reducer } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n}\n\nexport default new Counter();\n```\n\n#### action\nIs a decorator to use within Reducer. You have to use it like function `@action()`.\nUsing this on some function in remob will produce next actions:\n- registrate action to remob and reducer\n- make this function to be dispatchable\n\nimplementation of actionable functions should be like reducer that will be fired only on this action. It takes 2 params as arguments state and action.\n\naction could be an implementation for part of state, for this case you have to pass property name to first param - `@action('field')`\n\n```\nimport { Reducer, action } from remob;\n\nclass Counter extends Reducer {\n  initialState = {\n    field: 0,\n    deep: {\n      field: 42,\n    }\n   };\n  @action() increment(state) {\n    return {\n      ...state,\n      field: state.field + 1,\n    }\n  }\n  @action('field') incrementField(state) {\n    return state.field + 1;\n  }\n  // both actions will work just equal.\n\n  // deep path exist, _.get powered.\n  @action('deep.field') incrementDeepField(state) {\n    return state.deep.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### selector\nIs a decorator to write selectors from state to components.\n```\nimport { Reducer, selector } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @selector incremented(state) {\n    return state.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### thunk\nIs a decorator very similar to action but with one change - it has different dispatchable method and it will call function implementation as argument to dispatch. Usable to create side effects within thunk middleware.\n```\nimport { Reducer, thunk } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @thunk decrement(dispatch, getState) {\n    ...\n  }\n}\n\nexport default new Counter();\n```\n#### inject\nIs a function to inject remobs into component using connect. It takes object of remobs you want to pass, get every action/selector/thunk/state and mapps dispatch and state and them merges to 1 object.\n\nKeys of argument should equal to how you created stores of them and value should be a remob.\n```\nimport { connect } from 'react-redux'\nimport { inject } from remob;\n\nimport Component from './Component'\nimport remobImplementation from '../store/remob'\n\nexport default connect(...inject({\n  remob: remobImplementation,\n}))(Component)\n```\n#### combineRemob\nIs a function to combine remobs for store creating, it takes reducer implementation of every remob passed.\n\n```\nimport { combineRemob } from 'remob'\nimport { createStore } from 'redux'\n\nimport stores from '../stores'\n\ncreateStore(combineRemob(stores))\n```\n\n## influence\n- [redux](https://redux.js.org/)\n- [redux-knife-manager](https://github.com/madetheforcebewithyou/redux-knife-manager)\n- [MobX](https://github.com/mobxjs/mobx)\n- [react-easy-state](https://github.com/solkimicreb/react-easy-state)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.2.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-UD+dZWkNLLzic95v4D4JvpHmbC/YOYRb7FWW8NXxjs4nnA8Y6da05ytvlpz6qOv6RJaGMqidWOlWuMGeaAEqng==","shasum":"f6b93c636b6ef0f31cc83eda233206942f63458c","tarball":"https://registry.npmjs.org/remob/-/remob-0.2.6.tgz","fileCount":24,"unpackedSize":373805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5fw2CRA9TVsSAnZWagAASXIP/0X3x9Px7KmPkwVGqoEJ\nfvWKRtxUnv8g+8GYYTPtuL5L8mQCMXK458jF41om/1D5STb6aaTKrXZxWZ/1\nk6PV7PR4/hyzghuHtiUKmg5Tq0QFoPMnK4bCbI0J8VZ6UnZ7S96kX0KAb/+x\nx3++Vkyr4zrmNTqq1sJRG6c0E4NiiR2SmeOX7SOPgMRnytfheqCZ6MduJ7NV\nqZDgh48zuCbMTzzBmr9ZUacvgNRs4Y3SIvVNx0Gbg4Y7VDgfpwpNrvidrWnV\n9R70fjuTrpLi8kW5uEGo1zMkuo3Ar/D3yDzranDznNKETuni1//Kf1Bu+PT8\n3GcMdjaOr67oGJ2QjlLUUQ9thSGxP6Re5OWLgqA8b1v1lvQDalC/8yljueXi\nRJHAtHccqZBDVzc9nbsDobIiK/WpNHc4KS6eAtKFCOkZA6U5gyNMcE2GwNvj\n3t0CxbvclPzMfhGoTjYuQn943cB41UDi654/I5oUSNKWOwX7a/tCVPMHGdbq\ndyhVJLzSIFlpM/Mq5mg7C6R8wqi9nV4mmODXlO9U1PI5NbHMHIH4v2xviG2L\nSqpq3b9il/S06HUQhQLaSvKev8U+CCq4A92mHIwpI0URuznfN6aSWXbFt6Sr\njDqbl6vvq6W7wPV5MPuo7Ir07025UFH2F5HSmn6+jJtFM3FMieaY1mo1bV3e\ngoGu\r\n=qeE/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG+U7LDB9buD48ygwWPfUOx3y6PwgVfgFIQjuzI1AF7xAiACG6LzHC8uq3n9PNlihyr26G5eC1BFOvVdvMVEkVcTdA=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.2.6_1525021749893_0.08325802869790366"},"_hasShrinkwrap":false},"0.3.0":{"name":"remob","version":"0.3.0","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.17.0","webpack-cli":"^2.1.2"},"dependencies":{"babel-preset-env":"^1.6.1","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.1","mobx-react":"^5.1.2","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.7.0","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"gitHead":"b05bd2b509b43a099039cbe144bb21f4f1e71754","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-eHxhRyLdcRULQ0s29fGfjMgkzaQemQTDjVy8aRhHKMEQCp+m8CBIJDRP5O2L0KfkyAGiHMX31+MWdHa57ELRFg==","shasum":"79d63f4c2ea320da48135e1c406aa400828577c3","tarball":"https://registry.npmjs.org/remob/-/remob-0.3.0.tgz","fileCount":25,"unpackedSize":361723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7WzZCRA9TVsSAnZWagAAdVEP/i5XFKKjXv1ytXlj1Q8I\nmXRiNiqoXuRicQVrTXYrVLs+VomGS6IYNSOEHaEnYzyCUUqAMGIK5v8v5rrV\nBkRYjAiwBzJDZjqmMg0ZgYEYfSScEcoteS7K1DtH0nXMBCB6Guoav81jYCJc\nswTXUe/TlsCSDlmAq0z/tt5iGKy+5LAPvGlyjmWOLysXT/KKclPIqr5GpRXo\n0u/R7Vfr4IJh7fcRcYENdXQPnMQKakcZSdr549PRbJNNjBCQPSGwXtVR2CjN\nWiUVoErlfubYmF1qiXzCLKxEzfF3AViG0bcbqxh6MHaRkg3hXm/CFUKa3OoF\nlLJ5EAu9piM8VaZimjeP74e8q5fewWZ0g9+2MQwhHz3r372s5ydP+7ZQBkqF\nYrdMQOeI/ihZUCgXlu0xGzT+EXs6oEHEoBYm8nzZo8UEfP5Y1fGkG3Diz3Yb\nWiV2B0Lc3DXarMiWKCNmnuyEKHn8mtWTYAOP6MvnGMUlh44NMqpHe6lf5z3a\n4DYw+CPuYJwGPZyuHbg7AaOJkDMKh52Zs69F3K4cvyGiP7FSbBD/2g/XTBAe\nqCATTxaS0/dNmt4oM6kmYQxQHdn0+Ohyfe4s0ZN45GWoOj/8lF1SuwALlN9E\nyIK+YK6ltaLufs2MUewQ9hXoaTfffNq8Tm29cG6OkyQYgLx4C9zT++hQ35Q5\n95hH\r\n=gCd5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2a/fXDOgezRAsOe9iJnal2LrxGAhcUAKvTdA95uxSPgIhAJwpxZoIiW8YmjMDJ0sTK8u4OW5G0ujrgCMV2QvFd6jv"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.3.0_1525509336071_0.5870912914088344"},"_hasShrinkwrap":false},"0.3.2":{"name":"remob","version":"0.3.2","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.5","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.17.0","webpack-cli":"^2.1.3"},"dependencies":{"babel-preset-env":"^1.7.0","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.1","mobx-react":"^5.1.2","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.8.2","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"readme":"# remob\nRethinking of Redux and MobX\n\n[![Build Status](https://travis-ci.org/icrosil/remob.svg?branch=master)](https://travis-ci.org/icrosil/remob)  [![Coverage Status](https://coveralls.io/repos/github/icrosil/remob/badge.svg?branch=master)](https://coveralls.io/github/icrosil/remob?branch=master)  [![Maintainability](https://api.codeclimate.com/v1/badges/6fe830dc12447fa3922b/maintainability)](https://codeclimate.com/github/icrosil/remob/maintainability)  [![Version](https://img.shields.io/npm/v/remob.svg)](https://www.npmjs.com/package/remob) [![dependencies Status](https://david-dm.org/icrosil/remob/status.svg)](https://david-dm.org/icrosil/remob)\n\n## what is remob?\nremob - is an experiment to improve usability for redux. It is build upon combining simple state management from Redux and effective usability of MobX and decorator power.\n\n## why to remob?\nIn comparing giants like Redux and MobX you can find pros and cons in usage for both sides, but what if we can take pros out of them? As general idea I was wondering if it possible to give Redux more structure and easiness in usage like i felt using MobX but without overwhelmed observables.\n\n#### Redux\nRedux is good and gives correct vision of state management, flow of data, consequences of changes.\nBut also from the box it gives such a big amount of options to create your application that could be a bit frustrating. Biggest concerns I would like to change are:\n- lot of code to init your `not an array` store\n  - when your app grows enough you can find yourself in situation when you have to create lot of dumb files/code to achieve simple logic and align to your structure.\n- action types produces namespace issue and you have to almost duplicate initial state to actions and so on\n- switch case need within reducer\n  - sure here you can use additional `redux-actions` or similar but its additional wrapper\n- small HOR usage\n  - you cannot just have one reducer and simply reuse it from another one, to have it you need HOR and then use it like HOR everywhere, but in my opinion this should be on top of everything right from start\n- `mapState` & `mapDispatch`\n  - i've seen a lot of having this guys near to components even with possibility to have near store, this selectors and actions should just live in store. So store should have ability to combine it\n\n#### MobX\nMobX is also a good option for state management with pros and cons.\nUsage of `classes` and `decorators` are just beautiful with combining all needed data inside of instance - selectors, actions, etc.\nBut using MobX after Redux you probably faced with lack of unidirectional flow, immutability and all pretty things Redux has.\nObservables as pattern are good, but predictability and unidirectional flow worth more.\n\n#### remob\nSo basically this is the wrapper upon Redux with decorator usage.\nEnjoy to use it =)\n\n## Installation\n- `yarn add remob`\n- `import remob from 'remob';`\n\n## API\nRemob has 6 exports from index file, they are:\n- Reducer\n- action\n- selector\n- thunk\n- inject\n- combineRemob\n\n#### Reducer\nIs a main class to start with. When you want to create new remob you should import `Reducer` and extend remob from `Reducer` or another remob. Inside of `Reducer` live only registrators and reducer implementation.\n```\nimport { Reducer } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n}\n\nexport default new Counter();\n```\n\n#### action\nIs a decorator to use within Reducer. You may use it like function `@action()` or like statement `@action`.\nUsing this on some function in remob will produce next actions:\n- registrate action to remob and reducer\n- make this function to be dispatchable\n\nimplementation of actionable functions should be like reducer that will be fired only on this action. It takes 2 params as arguments state and action.\n\naction could be an implementation for part of state, for this case you have to pass property name to first param - `@action('field')`\n\n```\nimport { Reducer, action } from remob;\n\nclass Counter extends Reducer {\n  initialState = {\n    field: 0,\n    deep: {\n      field: 42,\n    }\n  };\n  // @action would do the same\n  @action() increment(state) {\n    return {\n      ...state,\n      field: state.field + 1,\n    }\n  }\n  @action('field') incrementField(state) {\n    return state.field + 1;\n  }\n  // both actions will work just equal.\n\n  // deep path exist, _.get powered.\n  @action('deep.field') incrementDeepField(state) {\n    return state.deep.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### selector\nIs a decorator to write selectors from state to components.\n```\nimport { Reducer, selector } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @selector incremented(state) {\n    return state.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### thunk\nIs a decorator very similar to action but with one change - it has different dispatchable method and it will call function implementation as argument to dispatch. Usable to create side effects within thunk middleware.\n```\nimport { Reducer, thunk } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @thunk decrement(dispatch, getState) {\n    ...\n  }\n}\n\nexport default new Counter();\n```\n#### inject\nIs a function to inject remobs into component using connect. It takes object of remobs you want to pass, get every action/selector/thunk/state and mapps dispatch and state and them merges to 1 object.\n\nKeys of argument should equal to how you created stores of them and value should be a remob.\n```\nimport { connect } from 'react-redux'\nimport { inject } from remob;\n\nimport Component from './Component'\nimport remobImplementation from '../store/remob'\n\nexport default connect(...inject({\n  remob: remobImplementation,\n}))(Component)\n```\n#### combineRemob\nIs a function to combine remobs for store creating, it takes reducer implementation of every remob passed.\n\n```\nimport { combineRemob } from 'remob'\nimport { createStore } from 'redux'\n\nimport stores from '../stores'\n\ncreateStore(combineRemob(stores))\n```\n\n## influence\n- [redux](https://redux.js.org/)\n- [redux-knife-manager](https://github.com/madetheforcebewithyou/redux-knife-manager)\n- [MobX](https://github.com/mobxjs/mobx)\n- [react-easy-state](https://github.com/solkimicreb/react-easy-state)\n","readmeFilename":"README.md","gitHead":"1830477710474e12b4c73be58e5db91848bc1808","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.3.2","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-i8Yo+8MqFowAcR2AD5PjTyqN3D2B+6XIPi31S6HnsE4LRU6Ifid0uf7UsYxJdzVF19uiw9ZXw3rPx/+ifgFdig==","shasum":"2009423e0bd48588265cf60d6403bc1ae066d733","tarball":"https://registry.npmjs.org/remob/-/remob-0.3.2.tgz","fileCount":24,"unpackedSize":34264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9swJCRA9TVsSAnZWagAAfHQP/0hN1JLqVcU8JnMD91P4\n0jA5WcfzgyNX45fVnvT5/QIDeguNUIIv2Y3TuABAkncXxhaOI0G2QeOKAecA\ngdcNxtWQOb2n0R4z4rOKJlKQDhao5GFTZvAdGZsz3/Psrk7joCjJBYvJ4sh0\n6Dgyvl4FETVI8UZdR41GNNpRc5oec/KOVlwxuPidZtGXjh4KEL6OhkefUW/H\njzBj4zorMv84JIpYqKOPXnHzl2/A9hSFPK5ai9zJiQ3k5ZglH3WpsFRWzKEB\njAyvK9yPaS9x2dDMHbjMQIeZrD6jcr6Qx3Ujr7gZ+VxscAl0BHr2KzZqW60s\nYd4/G0++5e8Ue25ATOY25jxqceYaYp8X3WKvHYfXm7F7OrifBH2cexyfKv0c\n3NoGq8IOu64q1hvpm70e/+mltQpFvrYpTQ5hDH1cQDeLiE5bN5MCTQv11xy8\nGensA4Zj21uGXS2LHhFtKTe3BtO06tChf6obi24Ktwd9k0tDZAU9OHx9r1sE\nK4XAhxlfUMYub6M7OdP1qG54MDDanCHiQiTXdZBB6BfYw4szJrvSgCZ/X2aR\nE/u6ROSRhfGoEGAISY7sx9yrY977nK2uFFiQUy4TheCKnAI7j1KJ3DW24EWW\nP5TqRYpNvRbLi81tA1pHDjl36CZ66pxvBZLO4Elkc/HRll4Dcew4aI+XA/Ha\nfdTT\r\n=BNny\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfd1xmMOT9KQf/rYLQ52JQE3SjnLA64ZqMvChZq/36IAiEAq6WpkvRAalrMXlwbNpjjgeYo10rSuLg/9ONUKfMj0Uc="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.3.2_1526123528109_0.3302081414250442"},"_hasShrinkwrap":false},"0.3.3":{"name":"remob","version":"0.3.3","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.5","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.17.0","webpack-cli":"^2.1.3"},"dependencies":{"babel-preset-env":"^1.7.0","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.1","mobx-react":"^5.1.2","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.8.2","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"readme":"# remob\nRethinking of Redux and MobX\n\n[![Build Status](https://travis-ci.org/icrosil/remob.svg?branch=master)](https://travis-ci.org/icrosil/remob)  [![Coverage Status](https://coveralls.io/repos/github/icrosil/remob/badge.svg?branch=master)](https://coveralls.io/github/icrosil/remob?branch=master)  [![Maintainability](https://api.codeclimate.com/v1/badges/6fe830dc12447fa3922b/maintainability)](https://codeclimate.com/github/icrosil/remob/maintainability)  [![Version](https://img.shields.io/npm/v/remob.svg)](https://www.npmjs.com/package/remob) [![dependencies Status](https://david-dm.org/icrosil/remob/status.svg)](https://david-dm.org/icrosil/remob)\n\n## what is remob?\nremob - is an experiment to improve usability for redux. It is build upon combining simple state management from Redux and effective usability of MobX and decorator power.\n\n## why to remob?\nIn comparing giants like Redux and MobX you can find pros and cons in usage for both sides, but what if we can take pros out of them? As general idea I was wondering if it possible to give Redux more structure and easiness in usage like i felt using MobX but without overwhelmed observables.\n\n#### Redux\nRedux is good and gives correct vision of state management, flow of data, consequences of changes.\nBut also from the box it gives such a big amount of options to create your application that could be a bit frustrating. Biggest concerns I would like to change are:\n- lot of code to init your `not an array` store\n  - when your app grows enough you can find yourself in situation when you have to create lot of dumb files/code to achieve simple logic and align to your structure.\n- action types produces namespace issue and you have to almost duplicate initial state to actions and so on\n- switch case need within reducer\n  - sure here you can use additional `redux-actions` or similar but its additional wrapper\n- small HOR usage\n  - you cannot just have one reducer and simply reuse it from another one, to have it you need HOR and then use it like HOR everywhere, but in my opinion this should be on top of everything right from start\n- `mapState` & `mapDispatch`\n  - i've seen a lot of having this guys near to components even with possibility to have near store, this selectors and actions should just live in store. So store should have ability to combine it\n\n#### MobX\nMobX is also a good option for state management with pros and cons.\nUsage of `classes` and `decorators` are just beautiful with combining all needed data inside of instance - selectors, actions, etc.\nBut using MobX after Redux you probably faced with lack of unidirectional flow, immutability and all pretty things Redux has.\nObservables as pattern are good, but predictability and unidirectional flow worth more.\n\n#### remob\nSo basically this is the wrapper upon Redux with decorator usage.\nEnjoy to use it =)\n\n## Installation\n- `yarn add remob`\n- `import remob from 'remob';`\n\n## API\nRemob has 6 exports from index file, they are:\n- Reducer\n- action\n- selector\n- thunk\n- inject\n- combineRemob\n\n#### Reducer\nIs a main class to start with. When you want to create new remob you should import `Reducer` and extend remob from `Reducer` or another remob. Inside of `Reducer` live only registrators and reducer implementation.\n```\nimport { Reducer } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n}\n\nexport default new Counter();\n```\n\n#### action\nIs a decorator to use within Reducer. You may use it like function `@action()` or like statement `@action`.\nUsing this on some function in remob will produce next actions:\n- registrate action to remob and reducer\n- make this function to be dispatchable\n\nimplementation of actionable functions should be like reducer that will be fired only on this action. It takes 2 params as arguments state and action.\n\naction could be an implementation for part of state, for this case you have to pass property name to first param - `@action('field')`\n\n```\nimport { Reducer, action } from remob;\n\nclass Counter extends Reducer {\n  initialState = {\n    field: 0,\n    deep: {\n      field: 42,\n    }\n  };\n  // @action would do the same\n  @action() increment(state) {\n    return {\n      ...state,\n      field: state.field + 1,\n    }\n  }\n  @action('field') incrementField(state) {\n    return state.field + 1;\n  }\n  // both actions will work just equal.\n\n  // deep path exist, _.get powered.\n  @action('deep.field') incrementDeepField(state) {\n    return state.deep.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### selector\nIs a decorator to write selectors from state to components.\n```\nimport { Reducer, selector } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @selector incremented(state) {\n    return state.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### thunk\nIs a decorator very similar to action but with one change - it has different dispatchable method and it will call function implementation as argument to dispatch. Usable to create side effects within thunk middleware.\n```\nimport { Reducer, thunk } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @thunk decrement(dispatch, getState) {\n    ...\n  }\n}\n\nexport default new Counter();\n```\n#### inject\nIs a function to inject remobs into component using connect. It takes object of remobs you want to pass, get every action/selector/thunk/state and mapps dispatch and state and them merges to 1 object.\n\nKeys of argument should equal to how you created stores of them and value should be a remob.\n```\nimport { connect } from 'react-redux'\nimport { inject } from remob;\n\nimport Component from './Component'\nimport remobImplementation from '../store/remob'\n\nexport default connect(...inject({\n  remob: remobImplementation,\n}))(Component)\n```\n#### combineRemob\nIs a function to combine remobs for store creating, it takes reducer implementation of every remob passed.\n\n```\nimport { combineRemob } from 'remob'\nimport { createStore } from 'redux'\n\nimport stores from '../stores'\n\ncreateStore(combineRemob(stores))\n```\n\n## influence\n- [redux](https://redux.js.org/)\n- [redux-knife-manager](https://github.com/madetheforcebewithyou/redux-knife-manager)\n- [MobX](https://github.com/mobxjs/mobx)\n- [react-easy-state](https://github.com/solkimicreb/react-easy-state)\n","readmeFilename":"README.md","gitHead":"b804a51181265634e2e73ee4e1794bf905fa217f","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.3.3","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-CClkbN22UnmEWfVzCqXD0fmgwDwMrzlG+H24pqyvMrX6knyFuGGv7mm0MXVhBEsEcuDHLuhAbObKXKmAEyxErA==","shasum":"f5ffe5e598fff637ece7385854d11ed607bdc5e8","tarball":"https://registry.npmjs.org/remob/-/remob-0.3.3.tgz","fileCount":25,"unpackedSize":71446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9++aCRA9TVsSAnZWagAAsQkP/2LzG87mG5GffLjDaFcT\nny/REGJZrbmta5Pb74d2d8a+7hod2MI+HCeojwqEym9/BCbauvPmflWLTdfx\nCzmb0N1d8NVQ/0bbQ5+tcuynkeGkX1hQO/eoHurL/pRYCxSN0YGXCtDXUSv9\n7J3bwecZ4+Hl18jUX92zkvzooG7TDQmWiRUJAaK7328a5Aq4ctO8D+1kxn17\n1rdnsL5KJcLFJDwXrkIxzFuObZRv7V2iz6LlXkkrG3UFOBqIZ3Pu9r/DKuhX\nrsdRN0V3R39fZf+UD014WH04WZyVxG6WtK8HgrEpbj3jA5rtUGfMjd2uenbo\nrHeR569k56xQA/Z8B2QMiWWWl3WM1ibhoRqS8R2TqIfo9uKTnWP4Q1oraPKM\n2Fa7ILflUquSvh6isdNjOBIoExTkk+N4vaMpdKP83Lcd3rca9uPb6HenTlBN\nyRtoGdOUvWGbhRH2MDRk+dGpb6R3FQCAbleCXY5p7KYMISRsfsJauCFa/cjq\npRXj0MbJl3B230BRe8O09DTT3/P2Gzy5zDWSPpktUlX7oRvpGQJtU1z873vi\nLSI7sQrN2/OPRK0AdSv8w4jYQhszNJuzw4qgGxHtmpbY+8DxfDm/5RC3tMVD\nKUPBfoQtdZRqaPZetEplGwpUBzUpn6gcGiDFYSauoT7/AYjtP2F2F/vzTksp\nv76N\r\n=OUN2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD05j9U8YN9J0dOOO8xwSyziahDhK495R1a2f/pDpRlmgIhAM8Ov3Nlwl7v45Q++haS9i9VdddrBPfqYDiPDTmWdxiS"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.3.3_1526198169586_0.7423880824914255"},"_hasShrinkwrap":false},"0.3.4":{"name":"remob","version":"0.3.4","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check; yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.5","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.1","jest":"^22.4.3","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.58.2","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.17.1","webpack-cli":"^2.1.3"},"dependencies":{"babel-preset-env":"^1.7.0","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.1","mobx-react":"^5.1.2","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^3.0.0","webpack":"^4.8.3","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"gitHead":"828e26909ee3dd8a391e3e021e77f67d6a59cdb7","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.3.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-wEHW4Dcmy1KSFv4IKJ2olJc/XJNZvPO0xmpGhy2Lh3ApMtsRMaB7/6j2JNsFKfDSCCQri4qGqhYE035t4CbwIA==","shasum":"4142be85ce5cb6d1fead90f5dff35669ef19f727","tarball":"https://registry.npmjs.org/remob/-/remob-0.3.4.tgz","fileCount":25,"unpackedSize":71446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9/FjCRA9TVsSAnZWagAApyAP/i1Ee48fo5ODqpOpj9pj\nBpl8q5Q0ZaaOnAIYiCZ93J39s/4Ymk+QTr6tTpvLqOg1P5ZUOxyPWfWqutzv\n4WNoL8REk798BGxQGMk9rQvaJgyOJHrI6NhzJ7hiM5bs/5t5DgzXG85Clw2z\n/SFQIUPaC7PiYoAFc5Xob54/Se9qsrZ5LgSBj6xlQAhymxDe1FZMNnmiAP34\nlBUtZJH4kkQsYObmiLIpyeWg7VQij1+wu0YtStlI8w1PKGtZ2tm3Q5xSMPEE\ntDGdYo+NqsC1jGp9MH3isdTtZ29xSWRrRX/kRZnjCDYYB/oLRRgtv8YKBDOJ\nCAab8JRqFNSfwv6WQTXVGaRahp9mwYy/4QT9XJEOHIqSaGvpncwC58+vhmP/\naBcV8r+2yGC+fYzN9J1ryJvZcegv+PgJ0OeJn8VI983Imp4mLzK85FGa1ixU\nXAK8mNE36VxXcDb3XxLjEmRYFo5oRv40N+jCzeLyL6hPCIGLxro+NLq+N2lD\n5ahWF0o708+cquAa/ZQ05q7aFl1HUQPnUqqIr/cLcnSUeJh1VbEPYfcObwXe\nk7zghhd9JgeRsbdE0/SYKOpJLUVDiIcPDYS86mL3x34nb14sNFGrIvFfEpBb\ngiAWBBqUwkji2VBqY4dHIcz6zZ8TU/+UgB9UAoCS51Lku/Tn8qLyyQtjSDjA\nMklV\r\n=nFkR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHblat7a0oX4xAGx68J+ZiyRdQcwZAm6OHjeJbC2VkxHAiEA6gc6NtG05fka99UX6U4owV9gsu3yY6L6nZ6xvsvyfC4="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.3.4_1526198624927_0.03942881952788557"},"_hasShrinkwrap":false},"0.4.1":{"name":"remob","version":"0.4.1","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.5","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^22.4.4","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.59.1","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.18.0","webpack-cli":"^2.1.3"},"dependencies":{"babel-preset-env":"^1.7.0","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.2.1","mobx-react":"^5.1.2","prop-types":"^15.6.0","react":"^16.3.2","react-dom":"^16.3.2","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.2.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","webpack":"^4.8.3","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"gitHead":"be9a26ac6c84aeff0298ab268ead99a3944107d9","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-cRT8jrJLNPdeaT2zhgiNWJZlrT9yT0z9dBPd3LiLp9vThvQJI3DqCT2ZANWsfIadT/jQO7pwX3h9pxfRfQodng==","shasum":"bff055747080eb316bf975b434d85275bd914976","tarball":"https://registry.npmjs.org/remob/-/remob-0.4.1.tgz","fileCount":25,"unpackedSize":72840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbABwWCRA9TVsSAnZWagAAPfEP/1p2/Et/jROdgRWAsWi/\n2GLFGbzSK6Xyuqp5VAjXhyygRLzr94DR76nhSKCxpLIIsblTGWS9n3VvgxbU\nJU7WsxF31MflwHZKLUCmbyjgvhGGVZMF+ZxuoRixkfK5sncPI01RUD6KKpT5\nf4A9ydgKxFU+yaf9jybXFS0gjSaHvNMNDV1ZzndvTOnAguT81lNaZJu/ppRJ\nL36hHJ/4MF1DWOA9k3pz9oihBqlZP8KWIPCK3Mhmhk9wf3uUJ/dbIKaZLo2t\np+ptIxJ8YxryhpWifJcEJbhZE9fQmBbiRcVkzfXEX/e/ScX5cL9qGFKtSjtB\n8OfsqpJox/2DUIzhbo31XcE6dv7oFeBhE7g04+BkMRAsRZ6r7IDvgWPmvFXd\nvZPno+GokJELyt5Cg4YK2n9B2zfhTqaZ5akv6lhEALvPZMSk2lrRRgUteVr3\nnvR+p5+MqWFrHa5GrmK2noAej6ybQVEkSLtW9HMxF7x5+pqPIdGoaE2nqvgI\nOh19SjDSsjrWlYna4AzOztSFh+g3eiBDykB59/zq5Uq6gSAzwt1SBn4GyQro\nzFvNiZ0grjSr8Ob77nsn+mc/jwT20kfyZq1SbIKQr2Iz8YgS2zcZmjn0YLlO\nqEdL//18FeQ/CfB4f2FnnzakrSPvlmFLEb984rjBDB+v1RN2JMnog/1EHSFO\nZD9F\r\n=5XMe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5lSikMYoFXyYhCj86hPMUst+5G28uza/I+TzYXtrV6QIgZanSi6s1rgakfmslu0rcOrZp01l6QLQKsTuLd+7HOY0="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.4.1_1526733844955_0.2064132223032089"},"_hasShrinkwrap":false},"0.5.0":{"name":"remob","version":"0.5.0","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"dev":"NODE_ENV=development webpack-dev-server --config ./example/webpack.js","lint":"eslint ./src ./example","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.2","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-preset-es2015-rollup":"^3.0.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.6","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.9.1","jest":"^23.1.0","mobx-react-devtools":"^5.0.1","nsp":"^3.2.1","rollup":"^0.59.4","rollup-plugin-commonjs":"^9.1.3","size-limit":"^0.18.2","webpack-cli":"^3.0.2"},"dependencies":{"babel-preset-env":"^1.7.0","core-decorators":"^0.20.0","html-webpack-plugin":"^3.2.0","lodash":"^4.17.10","mobx":"^4.3.1","mobx-react":"^5.2.0","prop-types":"^15.6.0","react":"^16.4.0","react-dom":"^16.4.0","react-redux":"^5.0.6","redux":"^4.0.0","redux-thunk":"^2.3.0","rollup-plugin-babel":"^3.0.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","webpack":"^4.10.2","webpack-cleanup-plugin":"^0.5.1","webpack-dev-server":"^3.1.4"},"gitHead":"8f058775be23844c6e47120c358b6161ec26b339","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-REmndSiirQNHEOFG+JTADzAZHwGWLjFN5tzYfWFj7y9Po/VD1+RNM3aY22n/Qn0rVHILZOHyh5awnNec+Lsckw==","shasum":"dd405955c986e70bd0e2ba98093d9f22640ceb53","tarball":"https://registry.npmjs.org/remob/-/remob-0.5.0.tgz","fileCount":25,"unpackedSize":74077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFbRcCRA9TVsSAnZWagAA5/4P/1O4pWyTwNUih9+19NzT\nYQhiVrmIXvU14OPlC+8om8gntZvy3sCM4IYVLcljLpmTgLOGfNdKq/iMp9Vk\nMVKKrl3me1KlrhuDpAer/yYF6jdnkZd16mHqKjBhU2oPq9KC7xTYB763IVAU\n222kMPDEwrB/RjERV6shRoO8LOSIIq19HXc03YUQh2tGnL9zsEXRAaF+m1dy\naDoiVfI9+jY+fWik0qPMoOb87OvmLzeGAu4zEdwSVj7WqchTzG3zlUWfaMWs\nck7jSRdAPZPyrLTAZUWog+9lCKb4NOXCACrgf0EQvTzE4B4zNm4xGwHq4odb\nUQ7TmFvgrsi3soKDKJdU4cDlECRqPAEnR4A8rHRK6txZ2As6hmdsYm16tWuK\nuO4Ztt+IwZYZmcQ74kJnsxKk7UYNxhkYGTq94fFdHCvIHFI8jEdnjhTC35J+\nP/3tDp7lBfHw0v4IOHyvnyrIXMMXdYa41isevxalED23Rxb8gYPtFGwGxJUf\nV0ImaCaXpjd/lrugeiHs8NvaGf4YX4l1uXvfjAbsMftaZIT3CUL8yA9SXYpy\niNRptlyMhfPemMmRkmY+KsTgtoEqSUGSbZgf2Kw0Mck3eDp+2pLZetJlLNgT\nuqKpdZrWv6xlIn9PqN85p5v4AsnthPz5Vy9xAIThiTh2H6+4vkjVpjZoF17P\nkUn2\r\n=Mydl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9MerOAg83rx1EVKJbmFrrpSfinUDAlFUx0N5RHHOpQAiEAseb+aSb4nbljvi21lpKL8ohoZwHbO6swxK8Xossqj88="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.5.0_1528149082726_0.8185755631047043"},"_hasShrinkwrap":false},"0.5.1":{"name":"remob","version":"0.5.1","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-stage-1":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.1.6","eslint":"^4.19.1","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-import":"^2.12.0","jest":"^23.1.0","nsp":"^3.2.1","rollup":"^0.60.2","rollup-plugin-babel":"^3.0.4","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.18.2"},"dependencies":{"lodash":"^4.17.10","redux":"^4.0.0"},"gitHead":"25aecc3b87790b13e4f0d14bedad9a18c1f729a1","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-vS/yzp6pap+XegI1WA1ca+AdgCbrHRMmhAE5B9PN9jWxdSMEg0UZufAaQ1RquBQmGLlmnbkpWDD48vr+fIBqdw==","shasum":"485b33c25cb1dd70e3e17266df9927699e90eb0d","tarball":"https://registry.npmjs.org/remob/-/remob-0.5.1.tgz","fileCount":25,"unpackedSize":73432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHsOMCRA9TVsSAnZWagAARp4P/29B1gZKtf1pb2mOl9hk\n3NBEltLInKz5+V2Ug7UR4gbMKiW9a3Pp9Kp7rKvnlnlcVJyB2b2YBAXYxZ0r\ndVZ5FOb/MKNgo+Ztot62fB8w2wEuSKfpUQOVCEMO++SgNF9PGdZ9zKQoQ4ph\n3wlyMtM8jwvUJdLeAQn8ggUSB7Uk55uK6S+PUdyDBvMwHftAJzBavlwG2tJY\nhlK27MZZNUshZF3GPD9YNtWgzMHJAUOM7dPu+aASxcoPA3BnglgHigEtqwLL\nk0rydIq/8lmwRHZ8im5GxkSu++3UeyjTyUvahc1EcO6LGj+7/J26Ordi97BJ\nuoBHJ8TUWsijtMW5B7yKzIpiRdG8iWN6Hc66OeNGSkdIrGPNt6JWfqojaqdE\nRKpExlRjtGnZabawYCZvBqGo3GBCjT6exMZPPWdr3KWCC7TkqMi26WhrM8ys\n6rHGUt0xkGZNPV5MZSYv9qaNxSFg9YoOQsWKYpOJN/BUYHqOHOpDZCLXZwNS\nYTHfIFoxVo9dSDNP+oqkLdKBWbKI+JfmpdekiZSXLnM54mJSJ4MKLVsx8hMg\nXdU5Z2Qg0myLHjyOBNj/KQRgMjPe6E6DCHxM00JMjiuIhCRPAVONTRvMANZ6\nB96YhK13PAkDANLl3dJzp9Ar+ukMJ1pNNascKBNxkgR3yfjYvZsEnZIxePK9\nasXV\r\n=cc37\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9hxwznHIaoSROfMcAJqbzvs96Qg8LDdVpGZGDeWx1vwIgX0nPsBR8flEZBpAyGXa14ea9gyC1CqGMABXoqsU7Nek="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.5.1_1528742795225_0.7328124504612079"},"_hasShrinkwrap":false},"0.5.2":{"name":"remob","version":"0.5.2","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-stage-1":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.2.0","eslint":"^4.19.1","eslint-config-airbnb-base":"^12.1.0","eslint-plugin-import":"^2.12.0","jest":"^23.1.0","nsp":"^3.2.1","rollup":"^0.60.7","rollup-plugin-babel":"^3.0.4","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.18.2"},"dependencies":{"lodash":"^4.17.10","redux":"^4.0.0"},"gitHead":"c159999fea596544c4437bbf49b4e4e046b662b7","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.5.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-VFZ9RLs/zgjMapVwltiinz29DZDQUtbV+rbrEr4mb/3iKUUeHWwjTjtqv34SBt04WBsJDVv/RXgKN6fKXvbiWw==","shasum":"9d5af6bfc8b49d1b3324ecefa8421b13b110c555","tarball":"https://registry.npmjs.org/remob/-/remob-0.5.2.tgz","fileCount":25,"unpackedSize":74428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbJXsCCRA9TVsSAnZWagAATWIP/3YAOA2mGpK3rYVmfoRb\njl8LVH7R/rFFKBJ0ilbDMc/yn5qE3VzRV0TchJjWm6WYPMwCeyZaLZRAKce5\nALzwTcpiJqRv40UDlB223xpG2IvsqZuD65uYJHuaGLL2bs36rTP53kgMoNl1\nof2RdB6nR7F2Vdm8akia0g3z3bVw7x786YbvENuQEYTTWBkuYeTwC/L7FVlg\nPqQaNkS+mslNovHufLFMonw9iTfrodOh8ilGPnS3gEdKmajN7GWbIimKHlLm\n5qiOjxAOBmTqd72BqW3jci0PfyOFxCTbm8hHbRir3y5UKzPzmLHwODJikXBD\njYayr1wa/AkWpMZuYrlVLVDutBEOofu72lMbLWSJdkFHmg/nSbtoc0clFo2x\nUGMXFGqdsvB02eccaGm5kHKwui8kzaqB8Xzj0Q+m69OZdwXs77RVGzM2vPT+\niPyNKjMHbQwKYYFvr+oObcvUntMh2EjspJ9e99MiTkmbKs0cw3/HYY9uXC4B\nW0qyrzWvDYyjWa0I70epbRIrXNKS92aZsUL67OpAp8ByuhEYhBXTX1CNb8Tp\npkDH1rTMElDfbwJ7Xph5zF4qJ+DR9wPHdDH2oywNzmmh6hZJoTVqw4NR7J2l\nK8I11nnQkf+IJvvD1qylB8i2N9Gql5TuTfsYI5b0Ts+NtsPbVFcwHloU0FJp\nALu8\r\n=QlSW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGOc1ej9xLIOW5hma5XseEfiDJ5qToAyqFsBXSyCNADwIhALFprh1cFrC2F/80KyXq/8jrXZSrpfbFZF6Y7lkMOQw1"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.5.2_1529182976955_0.30285206972957623"},"_hasShrinkwrap":false},"0.5.3":{"name":"remob","version":"0.5.3","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.5","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-stage-1":"^6.24.1","coveralls":"^3.0.1","cross-env":"^5.2.0","eslint":"^5.0.0","eslint-config-airbnb-base":"^13.0.0","eslint-plugin-import":"^2.13.0","jest":"^23.1.0","nsp":"^3.2.1","rollup":"^0.61.2","rollup-plugin-babel":"^3.0.5","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.18.3"},"dependencies":{"lodash":"^4.17.10","redux":"^4.0.0"},"gitHead":"855a5920c9f299e823a882aea126b78d67dfc207","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.5.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-kipY408EcoNAe2D9pEU5W7lZoxiol0lgKmmLASOnUwij4eBGvFMnBT+eUSWtA6MHwU/l/lOKhxsvzlQgn8siCA==","shasum":"f8f618295f4be6f2ad50857015c1325d83c5d9d4","tarball":"https://registry.npmjs.org/remob/-/remob-0.5.3.tgz","fileCount":25,"unpackedSize":72896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbL92gCRA9TVsSAnZWagAAXswP/3ZSVzeWRVdNxyBNeAn0\na2HM+Schtg4WclSsfz8K6iNhG8h52tqDx2zd4ZxDPlrXq6fQOevnKxM+p38p\nxqNKDKjssuxDi/3eyfKJRMjhLbxeabNi2yL9tkldFVto6mF6kBj6qZQYGqbg\nw2Q3xdQOPbAmkVGOIgFLvY6NiU24zDypJ3KMdwgC+ifnPorWYqGr8Hwjxg5R\nAZxIjNX8SsgCMtgxQd+v8BRvkErT1hrzNrA4aCuuB7JRhSnqwFhD9zqsDpVf\nlUHtAj9uFiuVeLRMpPx9sBlYwAUQCgM4yhnVJIPabx5PCvg2d4n69VS6TVfZ\nSNna6WkU7Tk1iWAAEJRgBf8KoH5A9cbnfyuqojwvJ7iK26az/GX9R3ce9IEV\nZ+mcp/gAcHKnWiTwHoRNfANbUFMqpPAJv/meo/SiV1W6vO96yrTAZ3Vlapq5\nBi9MfCwYiJrSDQGnTRdqA1y6NZcdy2XjdbmoCzRHXl7W2+/IPrSb8QwQUs/8\nmARTyDdq0CHYNUlgUvhsTalld0Mz//68OJVv3dyhvo4r/PFfRztM3MFsmYB+\nMszrc/2mrEaiktfz5T88eEJhS6mArrJYWxMoj4VHmHfeTWuRRwljq/TwkSNt\nFzoIcVrQf2/73xwZBXo43+Gd3N6t6KNQlmBhUJUiBjv19xqA/nKNdhK4YZAh\nV8yp\r\n=SrSa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4OqA/zypyJLBrq9dFcHl/kyWFvsrjQCWtvOQteY9ydAiBhNnmh17yxZ4VgfrD/8v+u0yb9uSZjV2TYBjgAqr2RsQ=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.5.3_1529863584228_0.8048793168226374"},"_hasShrinkwrap":false},"0.6.0":{"name":"remob","version":"0.6.0","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.5","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-stage-1":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","eslint":"^5.0.1","eslint-config-airbnb-base":"^13.0.0","eslint-plugin-import":"^2.13.0","jest":"^23.2.0","nsp":"^3.2.1","rollup":"^0.62.0","rollup-plugin-babel":"^3.0.6","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.18.3"},"dependencies":{"lodash":"^4.17.10","redux":"^4.0.0"},"peerDependencies":{"redux":"^4.0.0"},"gitHead":"ec6239f4c67da742157633b56445645b0136e0cd","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-cAosewnpUWYgKxmMMDhhkMKQc4VAZqZlYftyAzX8AzoYDaGo7IKp62KCgFxybUj/r6WsKdSeJIqc1NIzZ7I8Yg==","shasum":"fcb5424504a780923d9d0aadd34265e1c6a42d7f","tarball":"https://registry.npmjs.org/remob/-/remob-0.6.0.tgz","fileCount":27,"unpackedSize":79085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOQf1CRA9TVsSAnZWagAA6CQP/RJyTaaoDP8aX7KCoa5J\nMNbs2hlouKIBNe7hXMUM7Z5OcLkMU3jF03UAo4Gpjn1cBBthld15rm5qydwD\nGkFO+087FKQ7PR4yDIivu80NHnypcFr/uX+Occw+Z0AVaOsXxebwNH50ugek\nC/9Bb2xyTsUY3XPNS9qBpVPqATlbkB4/Bvu2NcIWefEumLahOc31+HZfbHkE\nthhKtyotXT8TR+O1LXxQfRY3p54lndAwU7MimR1hOawCTmzer6Lh6tHYMwwd\nKHCh6iun7eKuvCMOtgatx9h6DDQstCYEsrwzgzjjHh+tmCLyk7xaXvjOH9yM\nTjmgZykx+wgtpjDZOQpUSvWAdhGWXxG5uZZpy3sDTkuzUkMlKpX/XNfoS0Et\nGowc8YVL9F9nu7tOSwL4bLfK7TF4qQH+rYjnlYNjLvmt1EchtGqX1GNobWfx\nZJlphb0QQJ5CqYLph81Cq0FLbhKhpF6OAxaRt5GcTdLL7XKX4WZubrairXDV\n9l/Xm6OYzykGj6w7EFqmvGU4FshP8leOzBfuybbN2/jc1KsNUYq/GBiRl6tE\n5OIaZrqJKuUr7W+/bvTwHlI7JAzZFbzZuCLfjFbPXZ1BEFObFsHLKh4UNham\nFxZfTBQQ6KxjhdG5NEuWq1Gq+08TJWyXYmXZ4lB3yO+uADGtIEkfAKjJsL4Y\ni5kv\r\n=dyX1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHrFjjL5ZRlF1H60t61iA4NTXg+1qsj9rJtZAdmVH18wIgUDxmUexauBOysVN+5ioEoZLLbksz37eB2ydpyO9u7hw="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_0.6.0_1530464245383_0.36504383830236975"},"_hasShrinkwrap":false},"1.0.1":{"name":"remob","version":"1.0.1","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git@github.com:icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-eslint":"^8.2.6","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-decorators-legacy":"^1.3.5","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-stage-1":"^6.24.1","coveralls":"^3.0.2","cross-env":"^5.2.0","eslint":"^5.1.0","eslint-config-airbnb-base":"^13.0.0","eslint-plugin-import":"^2.13.0","jest":"^23.4.1","nsp":"^3.2.1","rollup":"^0.62.0","rollup-plugin-babel":"^3.0.7","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.18.5"},"dependencies":{"lodash":"^4.17.10"},"peerDependencies":{},"licenseText":"MIT License\n\nCopyright (c) 2018 Illia Olenchenko\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"remob@1.0.1","dist":{"shasum":"feed4cb96055a281dc225115531d4ac893320773","tarball":"https://registry.npmjs.org/remob/-/remob-1.0.1.tgz","fileCount":40,"unpackedSize":78011,"integrity":"sha512-6QRSVR9rAA4lLLnEwA7kVqLB4vqH41JvAujAsEeVggP1sXx0oFvoUkROhuKszFHr7wUUSlkmdFDiCz10ibZqfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1p94iWf8vZtQNzsJJa9F1nN417s7A8lbgNqqIwNefTQIhAOU0Kd6GczXEpSmj9BUm63cxB+Ht9noytd0YL9gMgHnW"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_1.0.1_1531691076586_0.8281681146458497"},"_hasShrinkwrap":false},"1.1.4":{"name":"remob","version":"1.1.4","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"files":["dist","src","README.md","LICENSE"],"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"@babel/cli":"^7.0.0-beta.54","@babel/core":"^7.0.0-beta.54","@babel/plugin-proposal-class-properties":"^7.0.0-beta.54","@babel/plugin-proposal-decorators":"^7.0.0-beta.54","@babel/preset-env":"^7.0.0-beta.54","babel-core":"^7.0.0-0","babel-eslint":"^8.2.6","babel-jest":"^23.4.2","coveralls":"^3.0.2","cross-env":"^5.2.0","eslint":"^5.2.0","eslint-config-airbnb-base":"^13.0.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"^2.13.0","eslint-plugin-prettier":"^2.6.2","jest":"^23.4.2","nsp":"^3.2.1","prettier":"^1.13.7","prettier-eslint":"^8.8.2","regenerator-runtime":"^0.12.0","rollup":"^0.63.4","rollup-plugin-babel":"^4.0.0-beta.7","rollup-plugin-commonjs":"^9.1.4","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^4.0.0","size-limit":"^0.19.0"},"dependencies":{"lodash":"^4.17.10"},"peerDependencies":{},"gitHead":"9e791715e5415dc4a99e1e4676f0bce1fb9bce20","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@1.1.4","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-PBx2yP/QfluG7AQDoQVz+v1XK0r9FTSxodokSL9DEhCDxom00xasB4S95ksxZtC68e5mcwoqdbv6BNAq/pxTTw==","shasum":"57b80e84efa3aa5a867c045485cc2fbd01239429","tarball":"https://registry.npmjs.org/remob/-/remob-1.1.4.tgz","fileCount":27,"unpackedSize":80044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbW6RxCRA9TVsSAnZWagAAB00P/01uJhOUkpy5+wiwjh9E\nzQmBQ7W00BH6+4B1KFUyJbhD49g6ZkYf5igiPi6Ld1IV0cW9/Vu9/LsZjesm\n+3BhQbUu8ceE9wpZvYbt+ux1D6xLp1QblEoqdO7fzz1WYbkq2M1Zm6pBOOOo\n/oURxmLQYCpVVGeMlGm0wvgUEEUFSoQPn5zShbLJRpyCqHujYJKs4HMtvSb4\nKUrvp3aIRjjrhISm1LBKJdYhhjbjCdX8dHz+tjpvjDx4i1RQJtqG2E3eVV80\n95n4LtQhSMNIh2pese0prPu8o7ukRjVuymKSrLhrXB+Y/e3BvKbm3dNTq1l/\nhUMJHYTjpk+ThjOeumy/DZyUrrp1+12frZI/CvbnNKMHNFp4Fbbf/kXP0XTk\naeYtjIJsPfc4xH72gb5pkssvhLaI4ToVVuQMMsEc9e91k/lgABSa1eaPlKqw\nF79VXnF5yDX6M0fx1joeVskA73TyKxgK6UifLJhlCssEDiOB+NUlLsupuDCq\nqY9f3B6Q2lQ3aL0JUK5TK/J6D74sSqh6wnFZmLPne8DlgI30pRphrFQlGXMz\nqB2PeW8UEBmSU/QFC9JzwD4aKdbLqOb+gnPfTRN9Zl6PPf4rSqVHlnUsZ8SY\nFEXE3tIK+tMbaoOAtnbYWIbTfXYBIWMHMOlunFFsv3GV27vCDHUpoKzdkkkb\n1qCo\r\n=sVfu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEYFT5rNNXp7cuWP3EN4NRBz9THAPYD67xbIxvmAbceXAiA1mK1I7v7IpK6jJlueihDkfRcbX+YdJeAmvcFRTUPggA=="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_1.1.4_1532732527797_0.989693574107823"},"_hasShrinkwrap":false},"1.1.5":{"name":"remob","version":"1.1.5","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"@babel/cli":"^7.0.0","@babel/core":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0","@babel/plugin-proposal-decorators":"^7.0.0","@babel/preset-env":"^7.0.0","babel-core":"^7.0.0-0","babel-eslint":"^9.0.0","babel-jest":"^23.4.2","coveralls":"^3.0.2","cross-env":"^5.2.0","eslint":"^5.5.0","eslint-config-airbnb-base":"^13.1.0","eslint-config-prettier":"^3.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-prettier":"^2.6.2","jest":"^23.5.0","nsp":"^3.2.1","prettier":"^1.14.2","prettier-eslint":"^8.8.2","regenerator-runtime":"^0.12.1","rollup":"^0.65.0","rollup-plugin-babel":"^4.0.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-node-resolve":"^3.0.2","rollup-plugin-replace":"^2.0.0","rollup-plugin-uglify":"^5.0.2","size-limit":"^0.19.3"},"dependencies":{"lodash":"^4.17.10"},"peerDependencies":{},"gitHead":"987135ebb807dfc33730a7251a6838e195d4027e","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@1.1.5","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-KTyanaL1KO7YWR4elknxQ1xD66eNxM2PjzKz76Zf0n9JPQHtkJXBstMYNqEsMISQEpu9G+palnOy7otRhIiCmw==","shasum":"1e7c892758ca67c3ee7cd228e653ae5f7e61acff","tarball":"https://registry.npmjs.org/remob/-/remob-1.1.5.tgz","fileCount":27,"unpackedSize":80001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbi+bICRA9TVsSAnZWagAA1IYP/0WWsve6jEyWRKribF7G\ndbqJvnlp6NylT6qhdDD/fAUAqlK4IlAkhYwdSpOkg+PJvlT5oVJSXlYh6s2G\nUE+qdORVH69kozxY7Pno8q4yFtIyGk9GzmnAIX0/E6hppiks9QUTgfoUkIFm\n3/VVhmN6tM+dpo1RgzCKSIIUnpBexAVM1aEL2Ac4We54Oo/McKvJo2fVJOG9\nVWPqHWypQK0aHI9yy28gtbPi50yI5cRPmgyDu3l44qqGh4VS5rJx5oMdON5c\n3XmQJofUrvHUb8di7G9LojtBE5qBs9s94bvx3RUUFeRv7kQp2jhNZ0Pfx7Jw\nxOB2LPNFg3y8wfRWt6Fn5OdEA93zLI3M+PRDOjd+FxeCHTc3SAGASrEm3bvS\nu/ezIUce87g16GHYJlqlN8f1nxmPGJEXxFxpAI0ixt7g9ljwCHLXDqMiQxjZ\nleTFWXxcaJP9pJccC5NijlDG88OevAOXCs6Jmm1y93KJAXnHBzjeDsyB1NNO\nVkHfpkMKZ2OL1/OzE0VCIec59WglGxOwKHglRiYzqrRf12EzP+Tq2IObhUTu\nipVJSJpL3euRjKc6FzpkQ2Ubv70h2cH5lTgen1arwVrkKQXE1bJHtvOkm8aA\nWTVd/ZxM70fMAFj9qkuPLdte6Xp2iae9d+cR5DaRc3ouLOYLl8N2RiqZDx1j\ng8Ys\r\n=bXdE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMojwK5tYo3VOADvJweN3EHnoN+NMTmmiPh7C+e5V/vwIhAJvvt/Pan07nJaClmbbL7jIPg93+BFJA6n7ovr+0Fh5p"}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_1.1.5_1535895239687_0.31212697824944047"},"_hasShrinkwrap":false},"1.1.6":{"name":"remob","version":"1.1.6","description":"Rethinking of Redux and MobX","main":"src/index.js","module":"dist/remob.js","repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","private":false,"keywords":["redux","mobx","reducer","redux-modules","react"],"scripts":{"lint":"eslint ./src","test":"jest ./","test:ci":"jest ./ --coverage","coveralls":"coveralls < coverage/lcov.info","build":"cross-env NODE_ENV=production rollup -c -o dist/remob.js","size":"size-limit","deps":"yarn nsp check && yarn outdated;"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-decorators":"^7.1.2","@babel/preset-env":"^7.1.0","babel-core":"^7.0.0-0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","cross-env":"^5.2.0","eslint":"^5.8.0","eslint-config-airbnb-base":"^13.1.0","eslint-config-prettier":"^3.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-prettier":"^3.0.0","jest":"^23.6.0","nsp":"^3.2.1","prettier":"^1.14.3","prettier-eslint":"^8.8.2","regenerator-runtime":"^0.12.1","rollup":"^0.67.0","rollup-plugin-babel":"^4.0.3","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-uglify":"^6.0.0","size-limit":"^0.21.0"},"dependencies":{"lodash":"^4.17.11"},"peerDependencies":{},"gitHead":"a9b652aab902a00088486096b51db1617255621b","bugs":{"url":"https://github.com/icrosil/remob/issues"},"homepage":"https://github.com/icrosil/remob#readme","_id":"remob@1.1.6","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"icrosil","email":"icrosil@gmail.com"},"dist":{"integrity":"sha512-3EcotLTO6Em6rpU26b8eGou8Kj5l017AIVQaW02/yt7l9Ip5mQz2l+dWVYw5pXfLUvGdJ+BXE4urLBNvIOmFNw==","shasum":"191f6fa8342fc6a29248201e7c76194aeb751e62","tarball":"https://registry.npmjs.org/remob/-/remob-1.1.6.tgz","fileCount":27,"unpackedSize":79994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb31+tCRA9TVsSAnZWagAACZUP/jpq/9WP2bWI68BLx+Gz\ndtkJvLCxd0IY4QDmLL0GTGCftCCDRVfVZgUTPo6PJeRHDLHrX0KR952O7XE1\npYZ9838ug/dNes071EAG2jlHP4RT857+8rmuVsoD2sBdIQ+FhBweDOcDyo9y\nCyGq4+q7LsqL0xHzIpgoY30TeNJ1Iw2QCRK1pL+FbR8lZ949G1JprpfRQ42i\nIe7bi0y5SeMc6zP3r4pCxv64y8cbBjdWVqWAXh+sXQZFPUpnAHZdgqTjfG9w\ng9GneEKwvFK7kHRWtSl4p7EoZ6FWgG1Utke742LDkkMAIDz3vkHZkdHfF97h\n8QW5cd/L3nJDPdfV+UcuUnlxE9JIFV0mCK/+bIBz8T5mtmYLn+wZcUf4HiMV\ndOD+ED8A4s+bFP+0mO6oGpuHznoCrlu+/k1/SIcIv9E5YaG6ncIwxSo5se6Z\naO2dhSu2TmiCJvkOL5Ms2HIvmo2LQ7NmrlO+5qJN4EJq3YHlHIllBqWnXBt9\nchhUArGWV/388B/uovDEj4ud6TeoCyt1RC0VcquyqOgdtGGVSzRMjzAhYz5w\nzwtBiF+My5HW3F+L2MMJSaLjxc++8XvA8brgX4LISk1Y1wrKqCtd+SiqQYLD\n0qDapcT+1zNQpbumyPX4IqrsY9wpCKlHWNP6IEFyswp+xjBmdOaYydr5fXCf\nQ14K\r\n=qLbO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6fOaqndugZjec0gjLwQZIMBp0Zbi7u9iNzFw+orkopAiEAmhIUo7LdJY0FAOFAaFYbW8ZyIWmMuyL5Nw64jsyoPhg="}]},"maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/remob_1.1.6_1541365676939_0.5330472899756082"},"_hasShrinkwrap":false}},"readme":"# remob\nRethinking of Redux and MobX\n\n[![Build Status](https://travis-ci.org/icrosil/remob.svg?branch=master)](https://travis-ci.org/icrosil/remob)  [![Coverage Status](https://coveralls.io/repos/github/icrosil/remob/badge.svg?branch=master)](https://coveralls.io/github/icrosil/remob?branch=master)  [![Maintainability](https://api.codeclimate.com/v1/badges/6fe830dc12447fa3922b/maintainability)](https://codeclimate.com/github/icrosil/remob/maintainability)  [![Version](https://img.shields.io/npm/v/remob.svg)](https://www.npmjs.com/package/remob) [![dependencies Status](https://david-dm.org/icrosil/remob/status.svg)](https://david-dm.org/icrosil/remob) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\n## what is remob?\nremob - is an experiment to improve usability for redux. It is build upon combining simple state management from Redux and effective usability of MobX and decorator power.\n\n## why to remob?\nIn comparing giants like Redux and MobX you can find pros and cons in usage for both sides, but what if we can take pros out of them? As general idea I was wondering if it possible to give Redux more structure and easiness in usage like i felt using MobX but without overwhelmed observables.\n\n#### Redux\nRedux is good and gives correct vision of state management, flow of data, consequences of changes.\nBut also from the box it gives such a big amount of options to create your application that could be a bit frustrating. Biggest concerns I would like to change are:\n- lot of code to init your `not an array` store\n  - when your app grows enough you can find yourself in situation when you have to create lot of dumb files/code to achieve simple logic and align to your structure.\n- action types produces namespace issue and you have to almost duplicate initial state to actions and so on\n- switch case need within reducer\n  - sure here you can use additional `redux-actions` or similar but its additional wrapper\n- small HOR usage\n  - you cannot just have one reducer and simply reuse it from another one, to have it you need HOR and then use it like HOR everywhere, but in my opinion this should be on top of everything right from start\n- `mapState` & `mapDispatch`\n  - i've seen a lot of having this guys near to components even with possibility to have near store, this selectors and actions should just live in store. So store should have ability to combine it\n\n#### MobX\nMobX is also a good option for state management with pros and cons.\nUsage of `classes` and `decorators` are just beautiful with combining all needed data inside of instance - selectors, actions, etc.\nBut using MobX after Redux you probably faced with lack of unidirectional flow, immutability and all pretty things Redux has.\nObservables as pattern are good, but predictability and unidirectional flow worth more.\n\n#### remob\nSo basically this is the wrapper upon Redux with decorator usage.\nEnjoy to use it =)\n\n## v0 -> v1\nPlease add `setCombiner` to your code.\nCheck out `setCombiner` doc [here](https://github.com/icrosil/remob#setcombiner).\n\n## Installation\n- `yarn add remob`\n- `import remob from 'remob';`\n\n## API\nRemob has 8 exports from index file, they are:\n- Reducer\n- action\n- selector\n- thunk\n- inject\n- combineRemob\n- connectRemob\n- setConnector\n- setCombiner\n\n#### Reducer\nIs a main class to start with. When you want to create new remob you should import `Reducer` and extend remob from `Reducer` or another remob. Inside of `Reducer` live only registrators and reducer implementation.\n```\nimport { Reducer } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n}\n\nexport default new Counter();\n```\n\n##### debug\nTo see all actions and selectors that remob registered, you can use\n`remob.debug()` method - this will `console.log` every registered action and selector.\n\n#### action\nIs a decorator to use within Reducer. You may use it like function `@action()` or like statement `@action`.\nUsing this on some function in remob will produce next actions:\n- registrate action to remob and reducer\n- make this function to be dispatchable\n\nimplementation of actionable functions should be like reducer that will be fired only on this action. It takes 2 params as arguments state and action.\n\naction could be an implementation for part of state, for this case you have to pass property name to first param - `@action('field')`\n\n```\nimport { Reducer, action } from remob;\n\nclass Counter extends Reducer {\n  initialState = {\n    field: 0,\n    deep: {\n      field: 42,\n    }\n  };\n  // @action would do the same\n  @action() increment(state) {\n    return {\n      ...state,\n      field: state.field + 1,\n    }\n  }\n  @action('field') incrementField(state) {\n    return state.field + 1;\n  }\n  // both actions will work just equal.\n\n  // deep path exist, _.get powered.\n  @action('deep.field') incrementDeepField(state) {\n    return state.deep.field + 1;\n  }\n  // functions supported, more dynamic for your needed flow\n  @action(state => (Math.random() > 0.5 ? 'field' : 'deep.field')) changeRandomPart(state) {\n    return Math.random();\n  }\n}\n\nexport default new Counter();\n```\n\n#### selector\nIs a decorator to write selectors from state to components.\n```\nimport { Reducer, selector } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @selector incremented(state) {\n    return state.field + 1;\n  }\n}\n\nexport default new Counter();\n```\n\n#### thunk\nIs a decorator very similar to action but with one change - it has different dispatchable method and it will call function implementation as argument to dispatch. Usable to create side effects within thunk middleware.\n```\nimport { Reducer, thunk } from remob;\n\nclass Counter extends Reducer {\n  initialState = { field: 0 };\n  @thunk decrement(dispatch, getState) {\n    ...\n  }\n}\n\nexport default new Counter();\n```\n#### inject\nIs a function to inject remobs into component using connect. It takes object of remobs you want to pass, get every action/selector/thunk/state and mapps dispatch and state and them merges to 1 object.\n\nKeys of argument should equal to how you created stores of them and value should be a remob.\n```\nimport { connect } from 'react-redux'\nimport { inject } from remob;\n\nimport Component from './Component'\nimport remobImplementation from '../store/remob'\n\nexport default connect(...inject({\n  remob: remobImplementation,\n}))(Component)\n```\n#### combineRemob\nIs a function to combine remobs for store creating, it takes reducer implementation of every remob passed.\n\n```\nimport { combineRemob } from 'remob'\nimport { createStore } from 'redux'\n\nimport stores from '../stores'\n\ncreateStore(combineRemob(stores))\n```\n\nMake sure you pass uniq names for stores as it will throw an error if you have any duplicate.\n\n#### connectRemob\nFor easy connect stores to components use `connectRemob` method.\nIt is simple facade over connector (such as `react-redux` provides).\n`connectRemob` doesn't have default connector so you have to pass your connector.\nPlease have a look to `setConnector` method.\n\nInterface gives ability to pass remobs in 3 ways:\n- strings\n- remob\n- object with remobs\n\n```\n// assume 3 stores already exist named 'store1', 'store2', 'store3'\nimport { connectRemob } from 'remob'\nimport store2 from '../stores/store2'\n\nconst Component = props => <YourAwesomeComponent {...props} />;\n\n// string store\nconnectRemob('store1')(YourAwesomeComponent);\n// instance store\nconnectRemob(store2)(YourAwesomeComponent);\n// object store\nconnectRemob({ store4: store2 })(YourAwesomeComponent);\n```\n\nIt will automatically get already registered remobs and pass them to component.\nNames will be taken from `combineRemob` by keys assigned to each remob.\nYou can override this names by passing object of remobs.\n\n#### setConnector\nDefines what exact connector will be used on `connectRemob` method.\n\n```\nimport { setConnector } from 'remob';\nimport { connect } from 'react-redux';\n\nsetConnector(connect);\n```\n\n#### setCombiner\nDefines what exact combineReducers for injection.\nSetup this on state initiating.\n\n```\nimport { setCombiner } from 'remob';\nimport { combineReducers } from 'redux';\n\nsetCombiner(combineReducers);\n```\n\n## influence\n- [redux](https://redux.js.org/)\n- [redux-knife-manager](https://github.com/madetheforcebewithyou/redux-knife-manager)\n- [MobX](https://github.com/mobxjs/mobx)\n- [react-easy-state](https://github.com/solkimicreb/react-easy-state)\n","maintainers":[{"name":"icrosil","email":"icrosil@gmail.com"}],"time":{"modified":"2022-06-26T11:06:11.462Z","created":"2018-01-04T15:35:59.159Z","0.0.0":"2018-01-04T15:35:59.159Z","0.0.1":"2018-02-04T20:17:12.852Z","0.0.2":"2018-02-04T20:22:34.951Z","0.0.3":"2018-02-04T20:26:00.517Z","0.0.4":"2018-02-04T20:45:34.559Z","0.0.7":"2018-02-04T23:19:34.515Z","0.0.9":"2018-02-09T21:16:51.092Z","0.1.0":"2018-02-10T11:16:34.238Z","0.1.1":"2018-02-10T11:33:06.069Z","0.1.2":"2018-02-11T15:42:47.740Z","0.1.3":"2018-03-17T20:10:19.808Z","0.2.1":"2018-04-11T20:02:51.398Z","0.2.2":"2018-04-21T16:07:34.863Z","0.2.4":"2018-04-21T16:57:50.807Z","0.2.5":"2018-04-29T07:55:51.579Z","0.2.6":"2018-04-29T17:09:09.992Z","0.3.0":"2018-05-05T08:35:36.182Z","0.3.2":"2018-05-12T11:12:08.246Z","0.3.3":"2018-05-13T07:56:09.691Z","0.3.4":"2018-05-13T08:03:45.905Z","0.4.1":"2018-05-19T12:44:05.067Z","0.5.0":"2018-06-04T21:51:22.817Z","0.5.1":"2018-06-11T18:46:35.302Z","0.5.2":"2018-06-16T21:02:57.047Z","0.5.3":"2018-06-24T18:06:24.277Z","0.6.0":"2018-07-01T16:57:25.470Z","1.0.1":"2018-07-15T21:44:36.655Z","1.1.4":"2018-07-27T23:02:09.377Z","1.1.5":"2018-09-02T13:33:59.850Z","1.1.6":"2018-11-04T21:07:57.063Z"},"repository":{"type":"git","url":"git+ssh://git@github.com/icrosil/remob.git"},"author":{"name":"Illia Olenchenko","email":"icrosil@gmail.com"},"license":"MIT","readmeFilename":"README.md","users":{"icrosil":true},"keywords":["redux","mobx","reducer","redux-modules","react"],"homepage":"https://github.com/icrosil/remob#readme","bugs":{"url":"https://github.com/icrosil/remob/issues"}}