{"_id":"@alcadica/state-manager-transactions","_rev":"1-d43167589e7d564eae254ff0aabee736","name":"@alcadica/state-manager-transactions","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alcadica/state-manager-transactions","version":"1.0.0","main":"dist/index.js","types":"dist/index.d.ts","homepage":"http://www.alcadica.com","author":{"name":"alcadica","email":"npm@alcadica.com"},"description":"Transactions for state-manager","dependencies":{"@alcadica/state-manager":"^1.0.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/react":"^16.7.3","jest":"^23.6.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"scripts":{"prepublishOnly":"tsc -p .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/alcadica/alcadica.git"},"license":"MIT","keywords":["flux","react","state","store","store management","transactions","transactive","state management"],"bugs":{"url":"https://github.com/alcadica/alcadica/issues"},"_id":"@alcadica/state-manager-transactions@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"octod","email":"iamoctod@gmail.com"},"dist":{"integrity":"sha512-R0XNOWoI4RpdzCCgA51mK+KuaUaw3LQdMlofS1qHp2teKTkbnv887Bn2nbwhery0YZAoEN1Lg/ZYJ0Gm+gW/hA==","shasum":"877cadc406c0905151329b56155a6696a884f4da","tarball":"https://registry.npmjs.org/@alcadica/state-manager-transactions/-/state-manager-transactions-1.0.0.tgz","fileCount":7,"unpackedSize":8141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSH/5CRA9TVsSAnZWagAA8IUP/3ZR74vr7BL8EzoqDSGK\nwL0Jf/TZ7siKT3VTrJOdYcjUEl8fO+ISj2aKxvQHjFAA3nRYWAgORUJecZHJ\np2se08B4Lm4F8Vr33YU3DH/50i7gsIbWLxfwtl2N0s78uAE7zmxdomCIBJc3\nMvJKTuhIOxNj0QlXURLL99WZwTKn4SK5lNTZGjRFTSWrMSl1GJNwLXKclGUU\n/TlPXa1IvsXvCUuSfkYBzwfN/tgRm8HC2cvuF6sE5GGOJZgZGp6O8/kSMjHp\nOtgfjuF2yJv0HEfqmprzdmyY5cpWIadz9H5tp9r5ToDQn/ih8DcF2Ed5L+oE\ndp31CZDXp+pPPg09JUCGyp+yeKT+QTUy7rOF7Cb+w7hjubWYJZTgJhXk+U8j\nH14wcH4MqfgLGs/apmS67mXsSOTNMIGs/sw25ZxzRjhkRXlXyzjUhLo+xw1S\nB3s2C7rnafe18BVWRlW8uO2HFE5p6XDqM5TGe2W25Z7qcg1CJn3RCxUnBo0w\nLxQPag90Wr+lP2fsj55isUiN4RgbY0m5oEZEWgkqf4/WHGgqa4CPYRyN1qtz\n64TOQxCSc/Vy0j6J1t8CsF4Alnqq6fBxyu1wlCHFgn13XBzj4CIlYXbEfiuF\nuohSZbRhYHr2Yo5owupFRdDLbp2gFvkZ+NZ/ZKtPEU6Q+VjKtMTbsAPTPEyb\nqGxF\r\n=0msz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGFjcBnDj2vla2WCHfxYdifxiZojp7F5OihOkWxvhN/AiB6I1caG3jCZbDOhMi8wBvVsh3IxV2sHek9m039VSkjCA=="}]},"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-transactions_1.0.0_1548255224612_0.6274764463225455"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-23T14:53:44.524Z","1.0.0":"2019-01-23T14:53:44.698Z","modified":"2022-04-04T12:35:38.091Z"},"maintainers":[{"name":"npm-alcadica","email":"npm@alcadica.com"},{"name":"octod","email":"iamoctod@gmail.com"}],"description":"Transactions for state-manager","homepage":"http://www.alcadica.com","keywords":["flux","react","state","store","store management","transactions","transactive","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":"@alcadica/state-manager-transactions\n====================================\n\n<a href=\"https://travis-ci.org/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/travis/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://github.com/alcadica/alcadica/issues\">\n  <img src=\"https://img.shields.io/github/issues/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://codecov.io/gh/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/codecov/c/github/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" alt=\"Coverage\" />\n<a href=\"https://beerpay.io/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/beerpay/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" />\n</a>\n<a href=\"https://codeclimate.com/github/alcadica/alcadica\">\n  <img src=\"https://img.shields.io/codeclimate/maintainability/alcadica/alcadica.svg?colorB=555555&style=for-the-badge\" alt=\"Maintainability\">\n</a>\n\nThis plugin enables transactional state management\n\n## Install\n\n```bash\nnpm i --save @alcadica/{state-manager,state-manager-transactions}\n```\n\n## Usage\n\n```typescript\nimport createStore from '@alcadica/state-manager';\nimport Transactions from '@alcadica/state-manager-transactions';\n\nconst store = createStore({\n  test: 0,\n});\n\nstore.use(Transactions());\n\nconst increment = createStore.createAction('increment');\n\nstore.reducer.connect((state, action, update) => {\n  update({\n    test: state.test + (typeof action.payload === 'number' ? action.payload : 1),\n  });\n});\n\nstore.dispatch(Transactions.begin());\nstore.dispatch(increment()); // state.test is '1'\nstore.dispatch(increment()); // state.test is '2'\nstore.dispatch(increment()); // state.test is '3'\nstore.dispatch(increment(7)); // state.test is '10'\nstore.dispatch(Transactions.undo());\n\nconsole.log(store.getState().test) // outputs 0, we cancelled the transaction\n\nstore.dispatch(Transactions.begin());\nstore.dispatch(increment()); // state.test is '1'\nstore.dispatch(increment()); // state.test is '2'\nstore.dispatch(increment()); // state.test is '3'\nstore.dispatch(increment(7)); // state.test is '10'\nstore.dispatch(Transactions.end());\n\nconsole.log(store.getState().test) // outputs 10, we ended the transaction\n```\n\n## Licence\n\n[MIT](LICENCE)","readmeFilename":"README.md"}