{"_id":"@alcadica/state-manager-history","_rev":"1-e9deda27aad4cf0bc0e0f3cefa81b291","name":"@alcadica/state-manager-history","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.2":{"name":"@alcadica/state-manager-history","version":"1.0.2","main":"dist/index.js","types":"dist/index.d.ts","homepage":"http://www.alcadica.com","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"A history recorder for state-manager","dependencies":{"@alcadica/state-manager":"^1.0.2"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"license":"MIT","keywords":["flux","react","state","store","store management","state management"],"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"_id":"@alcadica/state-manager-history@1.0.2","_npmVersion":"6.5.0","_nodeVersion":"11.1.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-ojPCOhJDRxA2OxRT1DTvqBmurQi/ZHtEGATZDz19Obkv5GM23Xa/WNVyo3lxcn7p+V7wiDolwqnsh2RCrmMQeA==","shasum":"f61825621be399f1e9a47e59f5843847e603aafd","tarball":"https://registry.npmjs.org/@alcadica/state-manager-history/-/state-manager-history-1.0.2.tgz","fileCount":9,"unpackedSize":15004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIA0PCRA9TVsSAnZWagAAXtIP/ReKnkxlZz3QXKbhh30b\nP+aS8s61CGkPVpjQT+da9SD0EdZBrGuJjWrU8hksdAmYbXb6wT5Kl3KYv28+\nS7qBiICYjus93PCywV7KTA3oXQyFiM+QEahklbnjT2Bw24HKtOP6zB22thKE\n4Cn6An6O+8WcHw9EDBkbYcOamPqOTmc4QVgB/Z6tAppIx3pbYdlZnQ6NMUC4\nnEwYow8xNs+eKc1N4KyBmt5WT0Cv66QoG+9p264ZAulowxXe8aRimNZQXoJ4\nz1dhBnwIfYFd0JLyHXvBB3Zx5R+/owvp0p6kJxKqf8hHjw78S59YANnPn8IN\n1+z9BsrGxkjuY+8XQfhCpJqF5kyF9FbUS60pb/XmSffiiHpG6QGtGIyZKeyh\n7cybP8ZsWsu5xT8DRBhgE4u8EBJZCjXFji7VmK1HFmfLAjEjrsA7lRAl7hri\n2c/N/raGZcSwF0+mKIosdVUVd73YmKR2LsYh0Mv2p0F/HIgwK6lXBfKwNHNt\nRh6yMkXNfPv89MUUPdYCVYlHUfjYB/rJ7l3kWFwMgRHI64CelkJ8UUNH6BB5\nned/5xcXKkhlZf2YR4A7EnjnARI5Hi5Bs2FHdOE8A/dPiis0bfLlHoFRv1/q\n1yxrhiPdtsumWVg430T3kEtghdUyd07xbwWFuaa7TTd28hv2AJX6pTNfh30I\nYBKS\r\n=y3ya\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzZ2YMF86VXIbrhcrCQbEBQiBV17FtIyXsFVrS/CCowAiBCGDOYAYqitHFNjDwu1TXQIg7kH3X4chF77ZsB7BNXSQ=="}]},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-manager-history_1.0.2_1545604367107_0.02281129165002893"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-23T22:32:46.986Z","1.0.2":"2018-12-23T22:32:47.307Z","modified":"2022-04-04T12:35:37.606Z"},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"description":"A history recorder for state-manager","homepage":"http://www.alcadica.com","keywords":["flux","react","state","store","store management","state management"],"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"author":{"name":"alcadica","email":"npm@alcadica.com"},"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"license":"MIT","readme":"state-manager-history\n=====================\n\n| *branch* | *status* |\n|--------|--------|\n| master | [![Build Status](https://travis-ci.org/alcadica/alcadica.svg?branch=master)](https://travis-ci.org/alcadica/alcadica) |\n| dev | [![Build Status](https://travis-ci.org/alcadica/alcadica.svg?branch=dev)](https://travis-ci.org/alcadica/alcadica) |\n\n![](https://img.shields.io/github/issues/alcadica/alcadica.svg)\n![](https://img.shields.io/github/license/alcadica/alcadica.svg)\n\n- [state-manager-history](#state-manager-history)\n  - [Install](#install)\n  - [Usage](#usage)\n\n## Install\n\n```bash\nnpm i --save @alcadica/{state-manager,state-manager-history}\n```\n\n## Usage\n\nWith this middleware you can rollback your store at a previous state.\n\nExample:\n\n```typescript\nimport createStore from '@alcadica/state-manager';\nimport StoreHistory from '@alcadica/state-manager-history';\n\nconst store = createStore({ foo: 0 });\nconst config = { maxRecords: 25 };\n\nstore.use(StoreHistory(config));\n\nconst increment = store.createAction<number>('increment');\n\nstore.reducer.connect((state, action, update) => {\n  if (action.type === increment.type) {\n    update({ foo: state.foo + action.payload });\n  }\n});\n\nstore.dispatch(increment(1)); // state.foo is 1\nstore.dispatch(increment(1)); // state.foo is 2\n\nstore.dispatch(StoreHistory.rollbackAction()) // state.foo is 1\nstore.getState() // { foo: 1 }\nstore.dispatch(StoreHistory.rollbackAction()) // state.foo is 0\nstore.getState() // { foo: 0 }\n```","readmeFilename":"README.md"}