{"_id":"undo-redo-vuex","_rev":"43-355d6587abd36954ec722aafc745804b","name":"undo-redo-vuex","dist-tags":{"latest":"1.4.0","stable":"1.4.0"},"versions":{"0.1.1":{"name":"undo-redo-vuex","version":"0.1.1","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@0.1.1","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"97cc9974e920f0755e637cb8a03df88a69b36a3b","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-0.1.1.tgz","fileCount":14,"integrity":"sha512-XbteBUY85ZYJdAXNgTHhfot//9SjENPnmc3/iF+rehnpUPti3vXUnpD0okbA1OCU9sth6hxx7IC6aE3R954y9g==","signatures":[{"sig":"MEUCIQDT45ebE2QGruDYXRJfdhOevW55NMDpJ/XudpBUexOmuAIgCs4Xoe3V3Vnv7AR4a7M054IjttfUdf+Dhfzb0QbuIHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":316297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbD8VACRA9TVsSAnZWagAAINAP/1J0KVVZMzc71eh4OMER\ngfCYrPgeYQlBuATOYgWYTdoBJiPvi6UBsTq8vdrkuzJ56gVFjcMKUcCaaJjB\nEh6kn46dLWk0Cv2OjH97y7le/gf2zN4yRjOZK9gkte/49UcBi4zPE6f/83QH\nNxQC3tOP7hsbbTI03Bl+Cti6ezP5HXI4ukPa9AscqdRvD0VV2A84HfHzxorB\nHkAtjA6PonB8riKzsGiqhEP7/lBsuKXD3b3YKVOnBkjGx23iALp6uEYaChTQ\nGWXVrzLHOfurARxFzi6bWOUnNwxxuyYO13kxmOVdf/kOeQ/YGhFlNg4BsUJ/\n3k12h1b0oaRlmDLohss8FHVeIO3v5R6tqjhpyEfAM3AwYplGv+tHBOTOuWqP\nyDMDqkzA7SEJzQzAoVo0O+iOv4nmHy9wzJrZ9+4HMKcQwM9rPc8psq11MXpB\nYTpNAYIVa9loOLFBMgz2iugtaAN4I77wACdtIFFY2wxFVIvEdH5vMrnNOkgn\nPO/33fzeAPglnwFfp9JRv+hXbwf4EwMjEkChNrlNNO6tGlZvd77sAIJrDz6S\nDxs1rUXYE55FY4KUagLeTs84cf65pmWjZegTn0kKgO6NDy02zjSsABsiOYJ4\nyWSNPZUQx6tlqMg0s5isL7/G6KGLoLflqwdeGLREJpxtzjUYiH+QjydPW173\nbJsT\r\n=BZfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","gitHead":"58633ee63589f3fc9bbc792b64bdb08905ea3d57","scripts":{"test":"ENV=test ava ./test/test.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.1.0","description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"_nodeVersion":"8.11.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_0.1.1_1527760191745_0.8850838098425802","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"undo-redo-vuex","version":"0.1.2","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@0.1.2","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"a80c8d8837ce904c74128d2fcb10c5780374a96b","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-0.1.2.tgz","fileCount":22,"integrity":"sha512-V1gnjoRB60elVRD6o2Z32n7el0xbkGVujKFDSfsgqWAusPJQ7+qGpsqHh7EpEzzFtLRAXuOiZGFfmpVdWHcHsQ==","signatures":[{"sig":"MEQCIAhW+y6AoPGR/ZNPbOC+GRPgvBmhLj6eggyta/t8ySNlAiBM41+bq8XaeODH/ubLKpxr0CmhTs3Em7KRTH2g85cntQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59950},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_0.1.2_1529657128129_0.8699644519350511","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"undo-redo-vuex","version":"0.1.3","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@0.1.3","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"9c46a3d551260945621b8f6135ee050ea59f2b6d","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-0.1.3.tgz","fileCount":23,"integrity":"sha512-PhH47mX6Av0904gra/asgiCTAALTQrrN0lb7KbXbQeEox+p+Hiru/pNnVXj5rGRVVMy3ZOIEyp4NlX5h7kowew==","signatures":[{"sig":"MEUCIEmLRBqcRHuxF0sVITSzhIRtSENoBO9OJRAoOER7IB4KAiEA1LW2YzVHRtzWTzlkTUxrETpi1c+0H7l1tMXlzc+iVy0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61379},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_0.1.3_1529672262000_0.45139208145171006","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"undo-redo-vuex","version":"0.1.4","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@0.1.4","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"732fcb3aad52fcbd644c55b0eae2e7e9e322e04f","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-0.1.4.tgz","fileCount":23,"integrity":"sha512-TQhoOkHNdCOc6Eedu+8vP7JQbJNfTewbRF33+i8FKhAe1iP5ma+mTQBGxVoTerNMGIexW9kxscLFF3cMwoMPFg==","signatures":[{"sig":"MEUCIEiTNnHWFCYzLtvYG6JRLzO9PM57d+109kH/l6WBldMYAiEAloPiIB3Lh+DVAqQSqdf/FjlcjFaK3iICV4ZY9BBGfQ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61380},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_0.1.4_1529672450068_0.9059432166103074","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"undo-redo-vuex","version":"1.0.0","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.0.0","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"fd8bb64ac3f8d5e708694d9c152bb9499539713e","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.0.0.tgz","fileCount":23,"integrity":"sha512-r5RyVfbf+kau2aTllU4AhHRQ2m0OWtc1RnoQz3sa01oAgV3S7b0rwIoL2q1xpvSNXAkpOgOWccAblcPDJJndwA==","signatures":[{"sig":"MEYCIQC7HXuKlKIdsm4FpMFHk+nm1tAozi3KIhe8+7CP4Wa+SQIhAJjtiDC7NKfdhhRePiRge6MmU9ig2DUhgZ0F+Lu9dKDK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64467},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.0.0_1530192747767_0.7951934827649849","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"undo-redo-vuex","version":"1.1.0","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.1.0","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"8ab5ed49cab4f5edb56b3c871aba8127b02a3b13","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.0.tgz","fileCount":23,"integrity":"sha512-dG5GIgM2Q9wSkojx3KYUGOGo1V5ld5cbIIpPlu3xUCuQ/XOwSfkRJOsOhadQnge1Hg+BgtcTl7CCfzmQb4r4JQ==","signatures":[{"sig":"MEUCIQC/CnAxkCvPYUqmtP7sCMPk+r4HJOg/2+OdWeYA+AQd1AIgIAeSoJCZrn9HCHZ6hNTjpnfNBOWyeoSjAZWcim6lYKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65462},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.0_1530334859910_0.31635335980075197","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"undo-redo-vuex","version":"1.1.1","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.1.1","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"95f658c58cbdc51a0b9d38eac44273a40ca88f5a","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.1.tgz","fileCount":23,"integrity":"sha512-adSa/khssCivoyXZRiqU5XJUYvKGsraQdCWfLsI24rp6lg0ajMlhyYemOeQ8jeNgZV+gtug+1yvF9x0tA1hehA==","signatures":[{"sig":"MEYCIQDRxHOckJUg500PsWoL+OhF2cIhhTBpbVy5sN2+gIo1qwIhAJ5zooeoD3skZsUynBWgH4W9Hny1MGPq4DnfRuEqUUHK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65418},"main":"./dist/undo-redo-vuex.min.js","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.1_1530793930834_0.6714126760722605","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"undo-redo-vuex","version":"1.1.2","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.1.2","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"64c151ad9490ef19bea30e50022a40ba4911ecdd","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.2.tgz","fileCount":19,"integrity":"sha512-cisx+Q7sweNzyHiVeJgboFWjSXmlEKvYeDFvDW26hwSK24dt1hxz9tajGAgiAMTp81QwRvPtOcNmsbUeE+L0Mw==","signatures":[{"sig":"MEUCIHMt9cObWph8qXn0v7ye8M8cFom7hjKtIUuAKCcyv22uAiEAj+AF/VDgs2CZGQcGU4lA1MDzH/psWy3j0ecFVfJccqw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":610145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTLQLCRA9TVsSAnZWagAAybQP/1AJ5+6c6aTahWylXJE1\n8xaurPZjOA0AAcxgCssZLW74k6og7yx5a9kyR8lfgEZey/JLM6ixbxSGcbaj\npgurWQm0OP4WsBjy7ox6iikJUd3XgHn/1mTBbilAre4uu5ODEMxX/liQGg+c\nMM0DVquzXJWj7FOzYF+WkGNn9sHGQL411rdjApTk3uFFnB/MHqD4CcCYcBLk\nk+TkEd7dokDeNLOVZ+ekdMn2ImC1dZlpxX64aeXl9X/dBviVs03kxo6aSUNf\nGEzDhM55p+TI0iyMOHXxCq1QGpDbTH5S/vxQk+wiwHO/ta0MkpvCkTE1MGNV\nHQ8V66Rbk+R7nAUyc3RSScrC92N24bp1+LL5DYrenp9NVuwkooVfCZtXCbbl\nJr8Ii0ReNm48FUfnjxu0mCf2vUna8Y6l/57ZSrD6aCyu9g7dU3+bYh8ycNba\naDRNvSvKxl8chq34QfM8NyLhbDoPyQ1eXQEp4JDfSo+QhEt+VzUh9JIfojH0\n4JVVvU/Uan41NtCAKQJgw+xsmMeVW9fpt8ZYVLg91KmFAwN280SPge/N/27t\n6cLh4hmItqnSmpQMBhTRMOP4OP2ULlAIK10TJ36kvqDiRDoL8/dpQhuwCoS5\n/3rnCE+F4PnQ/Y1bd/OuHWWCp0mtHHmCDr9flcnjw3aIWjm0kdKftAHookpu\n1X4V\r\n=HpuX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","gitHead":"a0404836df3fdb28c89786ae821917701e21d72c","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js ./test/test-action-group-undo.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","test:basic":"ENV=test ava ./test/test.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js","test:actionGroup":"ENV=test ava ./test/test-action-group-undo.js","test:multipleUndo":"ENV=test ava ./test/test-multiple-undo.js","test:nonNamespaced":"ENV=test ava ./test/test-non-namespaced.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"5.6.0","description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"_nodeVersion":"8.11.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.2_1531753483428_0.5908750507782141","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"undo-redo-vuex","version":"1.1.3","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.1.3","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"74101e6aa95c53a27dc8767952abdbff5577f3f6","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.3.tgz","fileCount":19,"integrity":"sha512-HlebZzK4pekm75TrT7Ti+Tr5HHvkUuTzh+kZtMeoHLerB6RTeKQQRmDbh3I5DMop1s1zOaAzZGyWWmlpoew1lg==","signatures":[{"sig":"MEYCIQDUL6lAMpOrGoPH4ah7oLvVapD+Kqa/HQSAorkcu1SQPQIhAIexGe9rmF7fyB96oLcoMUaEhAz6wUFGPphPZQsUoW9t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTZewCRA9TVsSAnZWagAAwCIQAJyEeG/ST9T9igTCzG+R\n/EvsAa0olgjC77K+RSmRh1jASp0ISeexfmiE4jhp7rvpXv4DW0JlBA346598\nEYWfx2vTNvLhlcHaAHPR4SC0VFUNI/51AcsuYpLalMW9oC+BpOXL/ND79YYD\nA42a41HVb3ovsGVaxLfLckE+fXdetQnlBrG4pH4XXNMw9DC32o00H5bpAxma\nb+O4oYqXpq29xacTPJ8yntrYaq89P5iYPG5nRBxRwi9cp9a3so6jPNMGh+fG\ntJF8SXGQ2OqSBXuF8BUmsKDkx033hnhH5Gm04DxbiZZbMbts6xRZYPUZvOJ6\nBJd79/95XmDcAF/TO8vZT5kgsHS4z7CYqwhWXBXapZ6Ws7BGegZ69E9Gg+X+\nlaz17ZLivQqADmOW4S/9fwCZlDvqeFNmxmmx2VMPBqDxgHwBUhGwFIIgeyOv\nvRrGXhglVW6TJ1gVQkQbbGSHgg9GTlE7s0KL83gDSZ3u4TxpfiRNKvYld2Uw\nGmP5AyoyaaLkpBv7/fMxy02qPYLLcq46HkNy7uCFZmop6FVIyVhdP94AmXlt\nALtTVnjsBUsb8ejRUQcc5XeS3DlW5iG/cyU8TMAaE8jOWFIfJG9VylLbJcQ3\njfBGuF+hvVGGhmI5GfEpldsYFLXtzgle8ve1TbIKJ2aJ8Ly8mysJe7tf+0N2\np69m\r\n=US7o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","gitHead":"c4e77393968bdd4f82e11719b27767dcc1b74ebe","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js ./test/test-action-group-undo.js ./test/test-advance-action-groups.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","test:basic":"ENV=test ava ./test/test.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js","test:actionGroup":"ENV=test ava ./test/test-action-group-undo.js","test:multipleUndo":"ENV=test ava ./test/test-multiple-undo.js","test:nonNamespaced":"ENV=test ava ./test/test-non-namespaced.js","test:advanceActionGroups":"ENV=test ava ./test/test-advance-action-groups.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"5.6.0","description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"_nodeVersion":"8.11.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.3_1531811760488_0.48627213756805654","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"undo-redo-vuex","version":"1.1.5","keywords":["vuex","vue","undo/redo"],"author":{"name":"Andrew Beng","email":"andrewbeng89@gmail.com"},"license":"MIT","_id":"undo-redo-vuex@1.1.5","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"ava":{"tap":true,"babel":"inherit","require":["babel-register","./test/setup.js","ignore-styles"],"failFast":true,"concurrency":5,"powerAssert":false,"failWithoutAssertions":false},"dist":{"shasum":"0589542c99670860133e2ffb449818ee3012e351","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.5.tgz","fileCount":19,"integrity":"sha512-dMapUVYL/ZSoTqER4Yr++MpC+X/43pIXq+Y6Ot4ERHqXfHcMX7hzVJlhRuFuqnq2UWTM5nKbImAHw4S0Jdu+TQ==","signatures":[{"sig":"MEUCIQDq9kB4tG5aoep6zJ62G/OhYrTAu5Slc0y6qa+s4+6pGQIgBvksZmAjiD8dX5Twj3eZ456fOXuWzGxroPGY/lK4XjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUK2UCRA9TVsSAnZWagAAD74P/iyH568WEaqGmtoUUbpy\nPBw6CJovH48Rg/vVt2Dqgf5lwFRycMoqgwfeLRCjI+b8bhW1OV/lAXNmnlC9\nkfhlbibx5Us9PrtCGGyXq8/UbLpiXzEZoYtU9FAREMOMEjm1Jpx49PRre7Gx\naR4yBV14oPVmLcxZKkhJERHZ8N2ni1ydK9O16TvXZ/I6xwZeSTYgJfpk3foO\n9uIpfBX8lPzrLy+WJKaGuaTn9Br5F4llXpbspUl5OHYYvcrlNpZ8t+iUYeHa\ndCZuqXVQg2rrIFHirxQnLBb2DSOG7zOMFEXWz4S9eoMn+MRlhE/fI6ySOurJ\nakWDVl62XeqTxiWVSZ0QV9o4r92QnZfixM38oueM/VhtoUG+p7f1OIpn8zVO\nKlZxO4Urfg+7VCKEtjGkzchZeFoaYJ+L8JcqKiarswM8riu8sInPa57VdWhc\nlO8zxBWXF+8NNT2gS45kRF2vp+h1aYNAexGfYyTiJ5wKIF+WPboLghJSoEMR\n5AikQd3zQoGcgWac6Ck+cCnGHno2aQyxINVQVKI7d4g4KbIi3Jb04ynHB76Q\nJ1FD/GUcr+goCgnjsy00nuGP3OQRboxYM8vFjhv2RaNNjDjj0Sif8qdZsni8\nClv7yXyNOTFGVEFYPzYB4sEsz3q2cCTcKjpHXrIATwaOVSjqDs+ttnXzl3tE\n7mkK\r\n=QQDG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","gitHead":"ed692ede9c8e6069935304ddeaee9ca4607fcee3","scripts":{"test":"ENV=test ava ./test/test.js ./test/test-non-namespaced.js ./test/test-multiple-undo.js ./test/test-action-group-undo.js ./test/test-advance-action-groups.js","build":"rimraf ./dist && webpack --optimize-minimize --config ./webpack.config.js","test:basic":"ENV=test ava ./test/test.js","doc-to-markdown":"jsdoc2md ./src/undoRedo.js","test:actionGroup":"ENV=test ava ./test/test-action-group-undo.js","test:multipleUndo":"ENV=test ava ./test/test-multiple-undo.js","test:nonNamespaced":"ENV=test ava ./test/test-non-namespaced.js","test:advanceActionGroups":"ENV=test ava ./test/test-advance-action-groups.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"5.6.0","description":"A Vuex plugin for module namespaced undo and redo functionality.","directories":{},"_nodeVersion":"8.11.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.25.0","vue":"^2.5.16","vuex":"^3.0.1","babel":"^6.23.0","eslint":"^4.19.1","rimraf":"^2.6.2","webpack":"^4.8.1","prettier":"^1.12.1","vue-plain":"^0.1.1","babel-core":"^6.26.3","browser-env":"^3.2.5","webpack-cli":"^2.1.3","babel-eslint":"^8.2.3","babel-loader":"^7.1.4","babel-runtime":"^6.26.0","ignore-styles":"^5.0.1","webpack-merge":"^4.1.2","babel-register":"^6.26.0","fast-deep-equal":"^2.0.1","babel-preset-env":"^1.6.1","jsdoc-to-markdown":"^4.0.1","babel-preset-env-2":"^1.5.2","eslint-plugin-import":"^2.11.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.0","require-extension-hooks":"^0.3.2","@ava/babel-preset-stage-4":"^1.1.0","eslint-config-airbnb-base":"^12.1.0","eslint-friendly-formatter":"^4.0.1","require-extension-hooks-vue":"^1.0.0","require-extension-hooks-babel":"^0.1.1","babel-plugin-transform-runtime":"^6.23.0","require-extension-hooks-module":"^0.1.4","@ava/babel-preset-transform-test-files":"^4.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.5_1532013972439_0.1399130670641071","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"undo-redo-vuex","version":"1.1.6","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.6","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"dist":{"shasum":"be622a1a9ebf5972c3ff837bdf8c31d3c57de022","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.6.tgz","fileCount":73,"integrity":"sha512-su8wd7mW5t+THcZqQejt7ChssRMnduCeuXhjtY5jGA46NVQ4zfloYKQM08663uTm6YjeTPTsBrchtHbjnUU4Mw==","signatures":[{"sig":"MEUCIQDoayYCA8F20jsIAuvBr2SrRUZ8khCh7JfDiIEZoaU8lwIgWBqSKsIzZc29VdPLCae+XxVAjXVe6cVtUtLPtdW6MuU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":851340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXF47CRA9TVsSAnZWagAAgmQP/2aqvrDzLi/K1e6PfhPQ\noT0esj74S7M9QwmgoCOpTjaXxvPBsihlDNvbalB3BFkVKz8LsuXzYzYNwwvQ\n3qnkBf33ExbC+dV87A341/RO37kzm0iH3dWSdN4+uXBEIu/OOtrj0g6sM7sR\n8y05rnlsdFl/u5R6lBuvjmYkdgVtBVJz3s2VoYWN9hJ4dwCIMbUtU0Uqxvfh\naCyokqlaFqgN+/f1UnqzIyc6PXFfA1ZNw12fcLUqX6KQI3kQsrnNPhn6Nyk3\nd2X1UE0iT5YqWrvHZyX1VqtoY6ha/53LT15EU8zqNSC+swNqSEGWig9sU57M\n8NSCOrAmaVMEqEJ2Ik6oHOmnfMczpqA2vkz9AL9QjgGjrHCgRpyxpI0h45jK\nhiQFHtWwK1byFUASxfmmD4qF7tR1IcALoUIo3vDSrBcKt5NegNmIQT9n0UdV\nYbM9n2IE6PAQs8IJTFBkaqec2RyN/hvfeaHZYqAZNU3cVOWa//BYJqq4Mfgi\nNEK2/W7mPtTnDiT7fotuwzja24Ruz149B7gX1q2e4nfLoQS4q5B28G89L+WI\nEobe1H7bOYM5obbjCHDaUR2VesPKMC/dqDNJruri0CC0bXy1hFYQjkolDFuG\nLmKTPsseqELcCQ0sujd01rZPIRx4u5i0S5Xx/WsHiofJNtHQyimTLXn3TtO5\nWy7/\r\n=CS5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","readme":"# undo-redo-vuex\n\nA Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).\n\n## Installation\n\n```js\nyarn add undo-redo-vuex\n```\n\n### Browser\n\n```html\n<script type=\"text/javascript\" src=\"node_modules/undo-redo-vuex/dist/undo-redo-vuex.min.js\"></script>\n```\n\n### Module\n\n```js\nimport undoRedo from 'undo-redo-vuex';\n```\n\n## Usage\n\nAs a standard [plugin for Vuex](https://vuex.vuejs.org/guide/plugins.html), `undo-redo-vuex` can be used with the following setup:\n\n### Named or basic store module\n\nThe `scaffoldStore` helper function will bootstrap a vuex store to setup the `state`, `actions` and `mutations` to work with the plugin.\n\n```js\nimport { scaffoldStore } from 'undo-redo-vuex';\n\nconst state = {\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  // Define vuex mutations as normal\n}\n\nexport default scaffoldStore({\n  state,\n  actions,\n  mutations,\n  namespaced: true // NB: do not include this is non-namespaced stores\n});\n```\n\nAlternatively, the `scaffoldState`, `scaffoldActions`, and `scaffoldMutations` helper functions can be individually required to bootstrap the vuex store. This will expose `canUndo` and `canRedo` as vuex state properties which can be used to enable/disable UI controls (e.g. undo/redo buttons).\n\n```js\nimport {\n  scaffoldState,\n  scaffoldActions,\n  scaffoldMutations,\n} from 'undo-redo-vuex';\n\nconst state = {\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  // Define vuex mutations as normal\n}\n\nexport default {\n  // Use the respective helper function to scaffold state, actions and mutations\n  state: scaffoldState(state),\n  actions: scaffoldActions(actions),\n  mutations: scaffoldMutations(mutations),\n  namespaced: true // NB: do not include this is non-namespaced stores\n}\n```\n\n### store/index.js\n\n- Namespaced modules\n\n```js\nimport Vuex from 'vuex';\nimport undoRedo from 'undo-redo-vuex';\n\n// NB: The following config is used for namespaced store modules.\n// Please see below for configuring a non-namespaced (basic) vuex store\nexport default new Vuex.Store({\n  plugins: [\n    undoRedo({\n      // The config object for each store module is defined in the 'paths' array\n      paths: [\n        {\n          namespace: 'list',\n          // Any mutations that you want the undo/redo mechanism to ignore\n          ignoreMutations: ['addShadow', 'removeShadow'],\n        },\n      ],\n    }),\n  ],\n  /*\n  * For non-namespaced stores:\n  * state,\n  * actions,\n  * mutations,\n  */\n  // Modules for namespaced stores:\n  modules: {\n    list,\n  }\n});\n```\n\n- Non-namespaced (basic) vuex store\n\n```js\nimport Vuex from 'vuex';\nimport undoRedo from 'undo-redo-vuex';\n\nexport default new Vuex.Store({\n  state,\n  getters,\n  actions,\n  mutations,\n  plugins: [\n    undoRedo({\n      // NB: Include 'ignoreMutations' at root level, and do not provide the list of 'paths'.\n      ignoreMutations: ['addShadow', 'removeShadow'],\n    }),\n  ],\n});\n```\n\n### Accessing `canUndo` and `canRedo` properties\n\n- Vue SFC (.vue)\n\n```js\nimport { mapState } from 'vuex';\n\nconst MyComponent = {\n  computed: {\n    ...mapState({\n      undoButtonEnabled: 'canUndo',\n      redoButtonEnabled: 'canRedo',\n    }),\n  }\n}\n```\n\n## Testing and test scenarios\n\nDevelopment tests are run using the [Ava](https://github.com/avajs/ava) test runner. The `./test/store` directory contains a basic Vuex store with a namespaced `list` module.\n\nThe tests in `./test/test.js` are executed serially to track the change in store state over time.\n\n```js\nyarn test\n```\n\n## API documentation and reference\n\n### Functions\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo\">store/plugins/undoRedo(options)</a> ⇒ <code>function</code></dt>\n<dd><p>The Undo-Redo plugin module</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_pipeActions\">store/plugins/undoRedo:pipeActions(actions)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_getConfig\">store/plugins/undoRedo:getConfig(namespace)</a> ⇒ <code>Object</code></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_setConfig\">store/plugins/undoRedo:setConfig(namespace, config)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_redo\">store/plugins/undoRedo:redo()</a></dt>\n<dd><p>The Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_undo\">store/plugins/undoRedo:undo()</a></dt>\n<dd><p>The Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and &#39;replays&#39; all mutations in the done stack</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo\"></a>\n\n### store/plugins/undoRedo(options) ⇒ <code>function</code>\nThe Undo-Redo plugin module\n\n**Returns**: <code>function</code> - plugin - the plugin function which accepts the store parameter  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | <code>Object</code> |  |\n| options.namespace | <code>String</code> | The named vuex store module |\n| options.ignoreMutations | <code>Array.&lt;String&gt;</code> | The list of store mutations (belonging to the module) to be ignored |\n\n<a name=\"store/plugins/undoRedo_pipeActions\"></a>\n\n### store/plugins/undoRedo:pipeActions(actions)\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| actions | <code>Array.&lt;Object&gt;</code> | The array of objects containing the each action's name and payload |\n\n<a name=\"store/plugins/undoRedo_getConfig\"></a>\n\n### store/plugins/undoRedo:getConfig(namespace) ⇒ <code>Object</code>\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n**Returns**: <code>Object</code> - config - The object containing the undo/redo stacks of the store module  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| namespace | <code>String</code> | The name of the store module |\n\n<a name=\"store/plugins/undoRedo_setConfig\"></a>\n\n### store/plugins/undoRedo:setConfig(namespace, config)\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| namespace | <code>String</code> | The name of the store module |\n| config | <code>String</code> | The object containing the updated undo/redo stacks of the store module |\n\n<a name=\"store/plugins/undoRedo_redo\"></a>\n\n### store/plugins/undoRedo:redo()\nThe Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack\n\n<a name=\"store/plugins/undoRedo_undo\"></a>\n\n### store/plugins/undoRedo:undo()\nThe Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and 'replays' all mutations in the done stack\n","gitHead":"bf5e38a92c0b2bd5fa6764a05a7adafefd93f95d","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","serve":"vue-cli-service serve","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"gitHooks":{"pre-commit":"lint-staged"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.4.0","description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"_nodeVersion":"8.12.0","dependencies":{"vue":"^2.5.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vuex":"^3.0.1","ts-jest":"^23.0.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.1.4","lint-staged":"^7.2.2","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.6_1549557306590_0.9403557401543983","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"undo-redo-vuex","version":"1.1.7","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.7","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"dist":{"shasum":"1fb4a0f4a9335eeb411577944d6cb3acb825f4fe","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.7.tgz","fileCount":80,"integrity":"sha512-KcU3zqfYt2bwe2SaV4opcF5WxzAJKiWax5S5EPwXSg4g7YAUBAFMTvRrz9obLSBE0ec3Fq7LaQ7t247UAbaDBA==","signatures":[{"sig":"MEQCIBvtbh5iBRsiSMJ2seBh/DSBnOR0ffWDSGlEkp7LxJ8wAiAOslZ1cNO6+6KzsDwcXnJfsIKnTOny9OtrBo6wox7tEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1528206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXGF/CRA9TVsSAnZWagAAsj4P/Rkp4M7NTpTwYMGFD5Gr\nx/xNLl5HS1TyMYzIsBQnsEXQRJKn7yG1SIgkToqaDIyWwBFx+wbbv6J6CU20\nJP42OqQ7Y/9PiTrGnvxxIlgYivP4mbTF9QNYnQwFSfiiMF01XYT7ty2Q0Eri\n5QAfBzy0go4MGtOynQpMohgQK6Pux3B23FLObMMKWozAWuMliiYPJir2Ageh\nu+FAZKqdXn0ux1gpJ/R2F9MvYC/N/9XCb8ffKmoFCDoJ9gXqOqPws2isllVr\nmZGK9t/T1zobv9w07hcK7AB5iDg6spE9MCDsr0OgHBF+Jdt8BB2OUaFkT47S\nCfnKBprDAA3Vi58VxHr2BoPO4UC1FByL+nZM6oXCaLvUXgK18woPi/NJydRJ\njndB9VMh94LdTCfKL7pLoqHHWJCM65OuYxd0nAah7SaHbxBEYmzkRu8+bH/7\nZEmzNGr6hLbG3rkBQv32C9HgVT7Tenm5Usuprd0N6yQyJhQMAAdFvy48+4Wv\nF/Z9OlvcUrxymWDHhoDz3kstSXZIOwMWFvS7uz2e1t90QQBP7p+IguFq1/1l\nwN/33CUBrb+HFvbcCiSZPhhFbUKYX3TJrsX7894KwrrIGUG7aoxK+6uWq26i\n9iljkK7L/TG6emK6ttaa+vHEwkJmRJRU74kL+drj1KnvzVZO1xXCs8wu4vNL\nRtKu\r\n=aF+T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","readme":"# undo-redo-vuex\n\nA Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).\n\n## Installation\n\n```js\nyarn add undo-redo-vuex\n```\n\n### Browser\n\n```html\n<script type=\"text/javascript\" src=\"node_modules/undo-redo-vuex/dist/undo-redo-vuex.min.js\"></script>\n```\n\n### Module\n\n```js\nimport undoRedo from 'undo-redo-vuex';\n```\n\n## Usage\n\nAs a standard [plugin for Vuex](https://vuex.vuejs.org/guide/plugins.html), `undo-redo-vuex` can be used with the following setup:\n\n### Named or basic store module\n\nThe `scaffoldStore` helper function will bootstrap a vuex store to setup the `state`, `actions` and `mutations` to work with the plugin.\n\n```js\nimport { scaffoldStore } from 'undo-redo-vuex';\n\nconst state = {\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  // Define vuex mutations as normal\n}\n\nexport default scaffoldStore({\n  state,\n  actions,\n  mutations,\n  namespaced: true // NB: do not include this is non-namespaced stores\n});\n```\n\nAlternatively, the `scaffoldState`, `scaffoldActions`, and `scaffoldMutations` helper functions can be individually required to bootstrap the vuex store. This will expose `canUndo` and `canRedo` as vuex state properties which can be used to enable/disable UI controls (e.g. undo/redo buttons).\n\n```js\nimport {\n  scaffoldState,\n  scaffoldActions,\n  scaffoldMutations,\n} from 'undo-redo-vuex';\n\nconst state = {\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  // Define vuex mutations as normal\n}\n\nexport default {\n  // Use the respective helper function to scaffold state, actions and mutations\n  state: scaffoldState(state),\n  actions: scaffoldActions(actions),\n  mutations: scaffoldMutations(mutations),\n  namespaced: true // NB: do not include this is non-namespaced stores\n}\n```\n\n### store/index.js\n\n- Namespaced modules\n\n```js\nimport Vuex from 'vuex';\nimport undoRedo from 'undo-redo-vuex';\n\n// NB: The following config is used for namespaced store modules.\n// Please see below for configuring a non-namespaced (basic) vuex store\nexport default new Vuex.Store({\n  plugins: [\n    undoRedo({\n      // The config object for each store module is defined in the 'paths' array\n      paths: [\n        {\n          namespace: 'list',\n          // Any mutations that you want the undo/redo mechanism to ignore\n          ignoreMutations: ['addShadow', 'removeShadow'],\n        },\n      ],\n    }),\n  ],\n  /*\n  * For non-namespaced stores:\n  * state,\n  * actions,\n  * mutations,\n  */\n  // Modules for namespaced stores:\n  modules: {\n    list,\n  }\n});\n```\n\n- Non-namespaced (basic) vuex store\n\n```js\nimport Vuex from 'vuex';\nimport undoRedo from 'undo-redo-vuex';\n\nexport default new Vuex.Store({\n  state,\n  getters,\n  actions,\n  mutations,\n  plugins: [\n    undoRedo({\n      // NB: Include 'ignoreMutations' at root level, and do not provide the list of 'paths'.\n      ignoreMutations: ['addShadow', 'removeShadow'],\n    }),\n  ],\n});\n```\n\n### Accessing `canUndo` and `canRedo` properties\n\n- Vue SFC (.vue)\n\n```js\nimport { mapState } from 'vuex';\n\nconst MyComponent = {\n  computed: {\n    ...mapState({\n      undoButtonEnabled: 'canUndo',\n      redoButtonEnabled: 'canRedo',\n    }),\n  }\n}\n```\n\n## Testing and test scenarios\n\nDevelopment tests are run using the [Ava](https://github.com/avajs/ava) test runner. The `./test/store` directory contains a basic Vuex store with a namespaced `list` module.\n\nThe tests in `./test/test.js` are executed serially to track the change in store state over time.\n\n```js\nyarn test\n```\n\n## API documentation and reference\n\n### Functions\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo\">store/plugins/undoRedo(options)</a> ⇒ <code>function</code></dt>\n<dd><p>The Undo-Redo plugin module</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_pipeActions\">store/plugins/undoRedo:pipeActions(actions)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_getConfig\">store/plugins/undoRedo:getConfig(namespace)</a> ⇒ <code>Object</code></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_setConfig\">store/plugins/undoRedo:setConfig(namespace, config)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_redo\">store/plugins/undoRedo:redo()</a></dt>\n<dd><p>The Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_undo\">store/plugins/undoRedo:undo()</a></dt>\n<dd><p>The Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and &#39;replays&#39; all mutations in the done stack</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo\"></a>\n\n### store/plugins/undoRedo(options) ⇒ <code>function</code>\nThe Undo-Redo plugin module\n\n**Returns**: <code>function</code> - plugin - the plugin function which accepts the store parameter  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | <code>Object</code> |  |\n| options.namespace | <code>String</code> | The named vuex store module |\n| options.ignoreMutations | <code>Array.&lt;String&gt;</code> | The list of store mutations (belonging to the module) to be ignored |\n\n<a name=\"store/plugins/undoRedo_pipeActions\"></a>\n\n### store/plugins/undoRedo:pipeActions(actions)\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| actions | <code>Array.&lt;Object&gt;</code> | The array of objects containing the each action's name and payload |\n\n<a name=\"store/plugins/undoRedo_getConfig\"></a>\n\n### store/plugins/undoRedo:getConfig(namespace) ⇒ <code>Object</code>\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n**Returns**: <code>Object</code> - config - The object containing the undo/redo stacks of the store module  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| namespace | <code>String</code> | The name of the store module |\n\n<a name=\"store/plugins/undoRedo_setConfig\"></a>\n\n### store/plugins/undoRedo:setConfig(namespace, config)\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| namespace | <code>String</code> | The name of the store module |\n| config | <code>String</code> | The object containing the updated undo/redo stacks of the store module |\n\n<a name=\"store/plugins/undoRedo_redo\"></a>\n\n### store/plugins/undoRedo:redo()\nThe Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack\n\n<a name=\"store/plugins/undoRedo_undo\"></a>\n\n### store/plugins/undoRedo:undo()\nThe Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and 'replays' all mutations in the done stack\n","gitHead":"cebdc944c30f6e13c168d8e0c6d53b2017eb0c4a","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","serve":"vue-cli-service serve","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"gitHooks":{"pre-commit":"lint-staged"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.4.0","description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"_nodeVersion":"8.12.0","dependencies":{"vue":"^2.5.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vuex":"^3.0.1","ts-jest":"^23.0.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.1.4","lint-staged":"^7.2.2","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.7_1549558143025_0.29727930697756055","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"undo-redo-vuex","version":"1.1.8","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.8","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"d26d8204f476a551561d373838982b9a6057dbe4","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.8.tgz","fileCount":115,"integrity":"sha512-g8MAkbXVJ7n2HCi2Pa6GnBw/DF2jK/Zty8JHEhBFatN7GZKrQGZMvOopkkRvWXuxdTLiuYkjZhmclWEjCG8urg==","signatures":[{"sig":"MEQCIE1m0fnHFt78Ls/6BpvFJydngl4DfTle+/jVtEpUAUaFAiAm3eeWFUnNm2WdDvWVVt/2X4V5dyFHxT5P1NfV3OqijA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":831590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOxW0CRA9TVsSAnZWagAA5jsQAIaq6T4gbPhLmfvV7EM7\nWG6dqqTfZtPgsqCqcrUflQUGR8tut4e2xdzi71YQ5xxl4LhSIpqqA9hCvyKl\ny3LfTYscIyec6CabBEORwqV4u7zS2aYTkAEGeTfwV7GrHjzWppwmMecmaoNQ\nHjii2OoOjb6+EWCVg0YljDdT54AoF2SD7uXTCRTpY2sOxNvELkh35uLQteaE\na9QSlQAtIj8XqyREQ5kxnvl+ZczhktchOyK2KY3FpvscdurueHzxbNQBf7B4\n3VNjiXizAJtlpHmW9Ty3gH0jKETOrZnmHaYe8JB0DJZYsugubJyxjPBxLosX\nZCebYTLzMeBmUN923+to28KX09fcuarMo3QyVn4kiRYE8vW7EnLATHTWlmZn\npIV5gVLREgWDAPlz1v1AizdreueJ5r4Lc7kkevs9V7+EXr4aIiiSfBKGLDaI\nH+uBGo4kjDnnASpMyRGyRYpMUSDNhS7hZAjDKxu+oYaJta1M+TfzSPuRk4NU\nSojlTJqdobpX05nRTK9KKgjlRU+CZnXTSqocFKOWUx8rq+0uvk9DA7fqFI63\nLHS33CHYuUumpkgkcJpLQDZYaX4IKRYRe5hY1J5JjCsNGtyN88Fgb9Fw5PJx\nack3DRyq9v4P5QSf3YKD5GCdHSjlJw2qCXa78FaoDoRpVSXuXeK9Kpm3hC2i\nKuMG\r\n=rFqZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","serve":"vue-cli-service serve","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.1.4","lint-staged":"^7.2.2","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.8_1564153268198_0.3135430594276374","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"undo-redo-vuex","version":"1.1.9","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.9","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"d2124cf454062598b290d7ba35b3a5cc50d59468","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.9.tgz","fileCount":110,"integrity":"sha512-lLR3Svy1tnV7JWZROe7m8VU8owjt32kEqrzxbQYrDpSzJ92BlwBsTb+mj9I/zIR9D6UJ8dMUbxgEPvnjGFHxXw==","signatures":[{"sig":"MEQCIDUBSoJkMOkvRJn3K/RvOLcOd10aKoDYcIKhGPd0UZfkAiATFliR9MzAihZWqKIhtKg0OY3RDfgUk/tTxXrer2CyRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdR+NzCRA9TVsSAnZWagAAvCEP/38yGQBIAQBDmlgPwAGV\nn0WeEPSICiyt+LjjNrhMBPC2tS0fEc6hCOUt3SRY2ILt+EDX7JshZTTxx6wb\nydE4VuQAWgNK0hN3XBoDQjodUXSlqOIz/Ga/HFZ9Kg1uD4TkExA963qPRpZL\nz2eBMrj8C8kK47kHEvic61W9pCDOWwu0nnDop8v0eXxHyh48G+FPjHZlUyeG\ncOJbRX3iVgB7/RQ+RsC1MgKXWF7n1tY7eOmoYEbF7OjGZKvIbsdNHHjxZNEl\nHb6GTrg3hCRyW9QagUWmN1Lz9CqMBKxA1215foi4aFd93bTt8yn1QusiJ9MP\nPb9n6mkqEyKvUALPZ01NinI+2dKvg+V9PJBq1TX3IpIQzWJmGmrEjJepPyfv\nIoPWSEEN1k1G+wD1DHMcRCJsLSQCfxvsvj0hbgcovN22yL6Hr/y4FENiUJzL\nbPNntQnizeEZ8R+4JWiXMeHAvLNVW+pB5N9W6KlhhppaXPCKZQ9J8LsqD43Z\n7AVzHUEN4X7hGy3V1WcISaAk3mWrDxLPjpsV3LKwJCmAaYSds92Z6GENtOSv\n/6tloL1R9W57lZdFQX5xGwoBWGArlcn0Edq+YTqtPAhWjfMwE3TjpS5SV8d8\nfPfYmngMhXj7HQ32vj/qdTAej/4ACgo28j/P13TMsJ5GnY3xZ2o5fNFM+vRJ\nx4/E\r\n=EWj4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","serve":"vue-cli-service serve","test:unit":"vue-cli-service test:unit","build:webpack":"webpack --config build.config.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"deprecated":"Error in build file format: plaease upgrade to @latest","repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.9_1564992370271_0.17889638711056355","host":"s3://npm-registry-packages"}},"1.1.10":{"name":"undo-redo-vuex","version":"1.1.10","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.10","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"72bd52da2729affd57ff06b4dea28b665b9cb6d1","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.10.tgz","fileCount":110,"integrity":"sha512-4PtPaK8U3pJiPVT9ZtXKJVQSqJimlM7dE8Urt1lQPOPuk9WPFmUPVWdMNr2FtHRRQavTmWaKmH+iB5pKCVRQ5A==","signatures":[{"sig":"MEYCIQDRcRLbUYoT4PSJJaYU3DGJXycJtl23UXb7eb90wrOhTQIhAMPHMqg9VN/beiQPHgdN/Ywkvi32uFyFpU3Q6o7GP4dt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":160194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdR+r8CRA9TVsSAnZWagAAltMP/0IOgK2S+itjO3CRlbwh\ni6h0925W8q6vfg8wk82ahIUk7gA9DYYw83IBq5ss99xIZck7oqBgncFFrH/a\nZcwjeG9wO39YWgzVNuQfkRQQjM18/LZJcqeNMKRcNp2pPNG/k1UPtwa1++rb\nPrwWPngR5X5ldvVIVdxmKZBWoMzXOsmJfjZWOG3kgAPadJPM+kULBoss6Lfc\nRv/cyZEJH5wZVZqwZRjw/UKwOn4Xt9X/zcTjJVmCjVKLauDvcaJvEsN2303T\nL8l3f6j9yE40MS2i/dh26WcPB0Q+WkZ4XtQm4EkXmU/zjFBGHn+pObfDu3cQ\nK3IaY1HEcvB58Umn5D9Wl79VKXpKFf6awINrpBK1ZZ/kA2XJPwdnj6nlXIZS\nXtK8vXJQ8Iy7zwU9nKQMtTq30UdoXwTwxdVfWFFYTG5dugqB9U+U8dNMtAkV\nezd+W0tX/ICvysTiFzQ36pDJXSXyC9wHZhlntdwEnYsWErfKtD/j6TwPgIor\n1KDeyALIylaFVvooNsWH+Q4ULp6gr3A6iZA8sSpFpufCxqBllLuCL1AgXf1S\nke5MMxXmrRLOfrcmrasgRN6hL4NRaARGxaiJqWhzzzvx2kzeuM/7cjQvuav/\nai4y4rw5QigciSOrYvQuTeDI5LqfAt29O/+1Ai8a+hwU3953WxGRLt58zUvw\nKR7F\r\n=vImz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","scripts":{"lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","serve":"vue-cli-service serve","test:unit":"vue-cli-service test:unit","build:webpack":"webpack --config build.config.js"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.10_1564994299432_0.9840885373125003","host":"s3://npm-registry-packages"}},"1.1.11":{"name":"undo-redo-vuex","version":"1.1.11","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.11","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"3e517605c5375f8039b8456e23b52157e8e2a91b","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.11.tgz","fileCount":156,"integrity":"sha512-OAM+e6uiX+kudlnYn3wJEztFAI7jb7uAMVu91BXtk43BhjqIIT1Pb3frPF0paYOieXXDSMm6/LelpIIHzqGktw==","signatures":[{"sig":"MEUCIQDhOTeHCbJuBBYmp2AUpgMRQCM07XzATLcRKdgPw7doXQIgWDSDwCwjwbB49LvNRB+qtRgxM1G1NSnEA36toftWsvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVXsnCRA9TVsSAnZWagAA58IQAJ5WQDJSazD50VklJQBj\naoGMETvETjvmhhBp1iKPV5ZMC8yB7FKRVY49DNx21lzByksMQB0ViP12OnOz\nLLRE9u5MHgfBpBHh9z40aC2kbFNXQDQPM05G7wJ3QUB+P9FI16y+/9+6ncvq\nADcahJBm9KvXeKlBWe8HC9wPMW5SR2WTojhPE36Cc0T/SsdbtMGIIuDuqQlo\nJlkxav7bDv+C/k3dn5dii+OgUT94aNRoU09Xw7dYMvoUMYhuEWuOa8uhUxU6\nAWbezYtaPfUWOq0aAFYGBKd4KIqYfo7qjv88qAkTDigk9cR5tDQjjQR3S6Jz\ngjAx001grIpm8M5ZGXFeSPj+HL4Za1c0eLhdEI4hZBINANqX+at3xuzugUif\n7fDHoEl0JiBBU85U8kl0UCZda2Ubw3buvkZVZK0gnQugCvZrzQ6TKcEkKJ+F\n4zJThPHzfsVzFHmsPuqxYm9Azu3BKVjO4C5gvQCybpq8xdXkdSgMimlR1LIZ\n4aBDU9LrQYoWHXLq5Mkuj2XytZ2gwKhhLvhOTpbadTwjjCs78nMgBh/Akc4P\nHWBBDwskjBFAwZUc8oyySDeKlIwbfb5JUofMAFYVGfm8mmWSejeva9xCCM3t\nHyFT1BIeyhYSWOQKVbn1KDqS8kZ+pxJeMgGWX3w+P6h41sSTt9od89llhd+P\nrRaz\r\n=DiSe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.min.js","scripts":{"build":"webpack --config build.config.js","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.11_1565883174264_0.6909273344705444","host":"s3://npm-registry-packages"}},"1.1.12":{"name":"undo-redo-vuex","version":"1.1.12","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.12","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"8205b3104084a0821ffb0cef1ea83c829f92f7b6","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.12.tgz","fileCount":161,"integrity":"sha512-UxB0NWp0evpHSfCwBY3cf7DLeGsgTAji9+NwrsF57SHenTv+8FdGnlVPN+SqAFgsfbK8Qc+iGk29MlZQa7suQA==","signatures":[{"sig":"MEYCIQDx1IkyzkMZ4OMHII2ReAGMr3cNTka+UUbCkrlQn6mWWwIhALe0yhvQ5Zk7bqudqPK+SZdaU3ye/4esxn7ff+zEgvjC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1613634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVYwaCRA9TVsSAnZWagAAj3gQAIH3V9TvXntHPcRDud/y\ngBGmsZB7ZoL3Vw2F2wUTaKIZqd9YxUhJZ/AkrjQZ78UgPnDGTq6vg3vEJtrj\naWvypViIqYBJIH9kmhOOKQ2d4o/lrkfhmC6TbvO1feWFtBmgD+0I6IfL012t\nPhRCqJG031aUXWEqiY1P6GvygwqN3qBY4j7xtKCbE+zK8esX13Db33qd4azU\niVoitZOaEB47FmhnztsHMs47Cd2+9hTi6/68QGnDWG0OM+ik04SAZCRNW+wu\ntZyTyUVG/TH1NvYQs3VFKJStTvN5EBNMq3S204tQRM/1crGuM8MYOclg4zks\nyoBNQdudQRq9HaEOZNxEgzBlrYCuQ+7LdU+TWDpc9Cj3E8l9NqBXzbSeWVSm\nYdFDTH4HVNORqN6WDJUYrONqToohFPLcIJVUbemb5bQb2jqGJQWkrws/Q5ov\nJFyAMmwZbC9UpWTNXSL5RBxOTA/alsxSeIbvrQqFCw26d2tipHef+wma/qWi\n2GR5+aGwotJeI8nKknJ9j2SoieIl+mqcEMPxk+GJeLL4Jg5cPUW4qI9vBoxf\nIY90J2MKuAXTULd+3hgFW5k2/f+EdflmvRfTUQhhByu0XojXJqQrxd21AX0D\nvktKgDbwwBT/asFylQ1/NeHOvQPVnoNWMURLzgl/Y0AQ955MJFE7/DIbbM7R\nX2dq\r\n=D7Ge\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","scripts":{"build":"vue-cli-service build --target lib --name undo-redo-vuex src/undoRedo.ts","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.12_1565887513496_0.5293832450708345","host":"s3://npm-registry-packages"}},"1.1.13":{"name":"undo-redo-vuex","version":"1.1.13","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.13","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"6c4d1d326160d55c8eb904fe969bb681f06e1107","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.13.tgz","fileCount":148,"integrity":"sha512-/zGfyOSy8TMDtmKP4GNvzXC0tK82PBPx2xE5pF4ZMzSKnu/kf9vGQatmnzEFXTr0UAwsYUm8ly+LA4qbUhuktA==","signatures":[{"sig":"MEUCIQCAjuT8LZ2OrUX5Tnab8zUR2x75Oy997IQ8M+uGCy3i7gIgK8oKh8mYb3wHwe5gJVIBA3OOiTplfbX4DVPFeGu1gxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdViTGCRA9TVsSAnZWagAA4awP/1Wm4h56W45oWayglSdc\nXGDr6Cv9GSQP4LXIQ0+8mXcxnzknUdLkQpv5SpMeM4Mrkr1kIgYfGttVEhFN\nMV4fRFbFf+qHPuME9Wlh+2p8hxG83ZKxArtCBEbuMMjqj1OoCoc8Q1HqvASM\nnZ4XGWvyLsnmFEtTzdP038VjFAabxYaJosJtpzjdKzQX3fmh/FG3yovC/bqy\nhOD+h6VFMscnv3UbcdYSIU4fVnayO3pQnMK+yNP0OagQ4tArFaGz/CxpU3/y\nmpfyD6WCzY34FRkRhxQBJwdO6jAEGEdkWBEBb7cLNXi0l2PL9G/jkbUT9ldy\nY0DgNlvrS4dzJLt2u2CdE1C2P9V/Nbf1xhmOI/pdaJCUhbOglZOmB3ZxQnGF\nDTBJ/2zkQEfOFZPM0y2L6JoPmBNE0KHZdA5PZvwmei0uCy+RD/Cik2ivZDbS\nNTBRpDq+Y3NGTkckjVY5TUgsW4aIswgNxclVqsXyn0XeHhSsoPyc5hAc/H8+\nJ5ZVxnVSHTNlyuVijebSKAsoM1ptHzEhivUA7LV+k4SVSHVG0SGphSsdG6H/\n4sap27A3zBpNl1Ynt5RMrYMJ7smiJFYFlErHmeXlPce/Hq7YfCzpng7ZinZc\nLk289tX26Z5zTOQUr7h/dZIflNnwCDQJK4gFRoQSEgS+vkwmnYzhnoxfllXz\nQg9c\r\n=Sh3i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","module":"./dist/undo-redo-vuex.esm.min.js","scripts":{"build":"rollup --compact -c","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"deprecated":"Babel built-ins NOT included in bundle: plaease upgrade to @latest","repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@babel/preset-typescript":"^7.3.3","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.13_1565926597786_0.09988251056138586","host":"s3://npm-registry-packages"}},"1.1.14":{"name":"undo-redo-vuex","version":"1.1.14","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.14","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"a29d32b61fcce7bb53be176e0fc9c115249a8483","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.14.tgz","fileCount":148,"integrity":"sha512-UUKR41ejl8W+Juds5ARYBPBbn35zS36UAPbw+XoLhygfjUrJGRkGv52cS0n3wp8yhV7ZvDq1SLd3xW+VMw2w+A==","signatures":[{"sig":"MEYCIQCqrqWCxpX+TBaVU2bgOwVGYvfDJYfQlKq4vkeK/zd7/QIhAKRadtzu2NcprXD9eoEvye++4XCqDYTd+GQ0WRy+5Qsn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVnwPCRA9TVsSAnZWagAA9vsQAJ09FgRdswhW+UKPX8sz\nw/KbktHir4VuTOOvuDZ66fAkN7Nd+9RySE5jou+Phw3cA9eNBw99vYUQCI6V\nUvmaVu5LDB0+XmTCsTokM/Gkt8TF3Y5HcIdNwfhDXlHH9mSvmKBijZLBABYV\nVxT9+vPs2JI1mabLb8KjiTr/qHE9JAJSuz0F0nEwZ028LN9wbQJWFBVigonU\nOYiXMgkHeUhD4LVi+15CF7+75jADz8eUZKzbgV0MiUr6fzMzZ2Kc5dIS4gHB\nlwGy6j+mWdxT9XP7n+Phb0U+uXuA1uZVE9rtsnKGhQh94voTca/Ug8tekox8\nmcbOzRo7g3xHviThgDvf7aDiJN+zOY1HM6/jh3Ls15wnQzAqKIB30B1Qtzqz\nk0dsCht2J7gcqKKLlxrsq1P7pdP4Ysj4K+W6r2PZQmrsInSSqfJ76cVkJhEJ\nODzjbBjtfHl5771Q+PL6o8f1BWODC0W1JrU2lmdQdHxE5ZPfqTUPpwCUTvju\nEGe3bPTH+HF0yGjjnnRjlgLofdb6LR2V/EjE0Nh5GVv9i2eWjBBqROO88pfK\nWLREuQL3XeZ2Q+Y4f8ZS4oqmKzDIgM3S3JTT0MYoeQcCgFlpPZdVxsyoi6d1\n5J0WUlsDcvdFn40e+b4DvHiznuGXG/EROr9GR4o6TPKQUh3zEDhR2c210h/v\nLAu+\r\n=WvJ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/undo-redo-vuex.umd.min.js","module":"./dist/undo-redo-vuex.esm.min.js","scripts":{"build":"rollup --compact -c","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"deprecated":"Error in build file format: plaease upgrade to @latest","repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","@babel/preset-typescript":"^7.3.3","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.14_1565948942691_0.6920678013313868","host":"s3://npm-registry-packages"}},"1.1.15":{"name":"undo-redo-vuex","version":"1.1.15","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.15","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"095bcc1add31ed143a3bef34b0d9e7f1a53b5ad8","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.15.tgz","fileCount":148,"integrity":"sha512-lWeoeRVFPUcdm7qTfTUyMibhK4WZM4wHnveNAAuOc1RquF/IHhMQ9spIyEXZ6805xIJbxd3iyivKb/GumDuJBA==","signatures":[{"sig":"MEUCIEEkT1dPKCdoeIgs+jBRIXKbDOx+Qj971z/+lYj+1Ta4AiEAlyV+fORX0g3qEr7Ogtp6KeRUBq8jznGT5Sef3h6ZwfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVooYCRA9TVsSAnZWagAAZFYQAIPVbgCvUpERAEwRu7fe\n4ZZURFpWu7Eb5DoRaJdMCZoCq3YC2QjpP8RnTqyTusqR2JtgO4J5kH3zVDP9\n6M2fwgYAIPYl29SRHDjgKgE/xPVhkUWqF9sGPfBccCWaYj04KjTVPsjyerjW\nBa5TXerci26ecDRlaqMwxEPxpZxOHfk1XFufrp/5kcQTrxb8qlz2Yy5BMRHo\n2CvfH05bF/O5xgM5Z3nbEka8eTMydjhxzQzg1ZNaQXc5kD+MTivBra20yiWZ\nRxdbJTVWGTfd1jj4+YUMEUyjbhI4QM6JqwodTdO9jN6gTIlMUCRUwLW9Vlkl\n7mPyZQf76cBT3IedZtnqv5iq8yDJmiZAyJn6R2fb1gM0FXl6yyZLpoSHDArh\nr9fo9ZUAu784iWH81gml7XrAkswsylqbOWK6ls+490KPa9W+Z4ljX6pxRRyt\nlKeWFh5ZweKjVsOMK/zQQGMfxTPT8d+gl9xmRFqFvqDTAATYdn/Z4ccjanG2\nRC4IF+mVfQYpKNGoK4Lb2L6AOZEoBuPqTD4qcCyy/OzHOwQmak+WNqYRpPWp\nrGFIRGiOQjn+GUAslBVIZUXQA6p5ha6asNIQ/sbWM4eDs+vyfoIn3Xok6Ep2\nlFRn1j9fx2VcQozqFat83G7mzG8yI/kBZiBVBfLlhXIlhOk/nsnC+AlBfjsb\nx2wx\r\n=222H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","module":"dist/undo-redo-vuex.esm.min.js","scripts":{"build":"rollup --compact -c","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.15_1565952535672_0.04782001079393927","host":"s3://npm-registry-packages"}},"1.1.16":{"name":"undo-redo-vuex","version":"1.1.16","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.1.16","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"77845ffac1651d7d3d1c7aa1910736662d9ea5c0","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.1.16.tgz","fileCount":150,"integrity":"sha512-en0roJ887AmGx1n7vqc8SBtqhaBjZS+iAkfCzlS7TUYxi3kkmU0y49Z3FEi/5jA2nxt1WyOvarbE8+6g9/y8hg==","signatures":[{"sig":"MEQCID0R0CDnbLq9Oo101DBv0q5vEaW0ZNpO/U1t2POz0KGNAiADsNrZpwQ5neCX20DHOwGt/AYwj43KeQR8resuXzJ5cA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":642124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWlCbCRA9TVsSAnZWagAAauQQAJggk37VUArYOwfLHvpn\nln7/t7o9Ass8cVtWTs53mkI1ncM0sCKdhYrsRHwwErt8nzeXBS7hVTtgRZ2V\nN8mma1QO80vQOnqO+vOn6jAk+zSw339a0ZM7wcKHnkdNOHst3PbHfZDrEKPb\nWdgsMJUqmRWwCBfscRoQKtSEj1i6zEhdPnOxTK4SR5iAMdhsI315J+t0vmDm\nBZL/f2Ph1bHKlJ5LPKQyzJ0BDK+vRwJQYCogsdV6OLjtE31Xa/F2BKqPFlTq\nvmrwau56cGCitmu8JJJliGX7i/AJ3aOGQN9/QS4hxORPWguuXCgrcewI9qTj\nzbSW05E9j7r5jL2ARPihX4xPQvDbT/Ndpawpn63/irkX3TRLa9IHcloo7eAz\nl9kFUqd1Tk/CpEa01OHFslFeCpFP9O1yPhHNSDiB7wVVsIsJMUEehplvbmNV\nxruV8ygsc02ftSMF2oOa/wWb+pivsWNv6/AkhJqdK6Xx29r611gQz3iRe82l\n/HgCH8EtfYjzqMRhVoj9oZ2fSxCkh0XcDD44ViEKEl5sWaUPsIzv2+WLryNw\nSwFUA1hF1xtK4dyYoGTW2oBCtvuJDJcqHH8pfgV1bGsH42XzboU8dFpXv22i\n1ihEE1Q8fcU/RObPfDu+v7Sta2xYwZ0Al2+TZbHtiEK7jNhR7G7cr5jYJR27\nFzG5\r\n=IMVF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","module":"dist/undo-redo-vuex.esm.min.js","scripts":{"build":"rollup --compact -c","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","rollup-plugin-terser":"^5.1.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.1.16_1566199962913_0.287504578168176","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"undo-redo-vuex","version":"1.2.0","keywords":["vuex","vue","undo/redo"],"license":"MIT","_id":"undo-redo-vuex@1.2.0","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"dist":{"shasum":"325b13663ca5c46b16103cac64353ba65d435e04","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.2.0.tgz","fileCount":152,"integrity":"sha512-Fg0xsZavP5y7wNbft7B1aRKQqGNX7fktzjlDLL7VEn/Rot/p0H4/1zr5vc1SKGd93xENMeOcK/aLWQl3IJ9/nA==","signatures":[{"sig":"MEUCIQCUCy0vSf2BwwngtInaG0EblzTE2w31boMau7tcK0bVXQIgXNKeQGRWyj7WTY1agLhwTnoqNsAEk4GfOH8UkT+EHrk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":655505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbj19CRA9TVsSAnZWagAAAd8P/3OiOeag99cNIZfpic2/\ni4FVA8aZMwhyWSUiZXwxRP4MdzO8v0sceUTeKVBhrXeSoZDlhefFfE2cB1TI\nLZ8lqn6HTACI1FS8+rpfNHOsFSavWgr9/Q5YM/fJA1HgG8SRw4fI5G/gMQsm\n9Sqq/BvWRPzJ3i/RB+aZaofX28mTbpbKx7cWUUv5QJ+CLHTzvV2IzAqw5+MV\nxRjhI55XjcEDDZ7LW/uq3DHXnIqtKBF/Igi25ZVEijvf4UZF/eDEB4jnsTPr\nJDvD/JzSsbKrU8ZNPBNXaXVHOxlmV4BZj7ZvlOdjhv9H3dvIyY5jZIair724\nBH3bIgJWdEekgsrKT/56Fgu+r/+3mBg4kJxo4KUtGDRnyUefCZC8LB3Yrkge\nazqjLd7GTgWrkSXzf3HFJpM1494dJzJ9bx4LAI2mAUuAy8OiiQUZJb6pO7ev\n6ubNrfrdQOSRp+AOb1tFpnTcpYQRm5FEjsILTPD75/S7tecVVDr4p0aJAcyE\ndzT3DL9sm2Llwic/4xaPbeyD2x4RsvaTB5mcMk1EOdPU4gkbBNr3mG0nDxvi\nO+koweH6YgB+FQa6wsDzFXw2ystvenizjHGafx9S4PvKJcrqYsE89a2SFuLo\nmZ0KbC1JPS1LMHDyE7kF5HdFBMnLlBjbGRzWO+mTMqSVkeNj4rKru0Md663S\nmta9\r\n=NpvC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","module":"dist/undo-redo-vuex.esm.min.js","scripts":{"build":"rollup --compact -c","test:unit":"vue-cli-service test:unit"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Factorial GmbH\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","lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","rollup-plugin-terser":"^5.1.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.2.0_1567505788796_0.15135186289265778","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"undo-redo-vuex","version":"1.2.1","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.2.1","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"dist":{"shasum":"e8e555b1aa1993d512e5cd5f610e63071ba5f9b3","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.2.1.tgz","fileCount":82,"integrity":"sha512-37YI3yG0LBRkSXqZRzj09JTFUlM8F4w0XCAIKRiTbXXrXlNXQi8lYRAfBd1+ZhYAUI2NzHVTMX2wiwcDSDeNKA==","signatures":[{"sig":"MEQCIEXsfJlO2dMuwmyroiz8osIjjyWXR3MPKcO3aAc4FsmPAiAnNDdIXkVLMR/X06ex1Rd8jK259qstHRxvX/1Smrf9lA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":930082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesjWQCRA9TVsSAnZWagAANRYP/jF0kZWJxv4TafQel7jv\n8rAnskPtalGwIC+0P3YHws+uThv9XmcCxcLxs0sahMM/iPQBEOm9RWJB0szJ\naRrmoK8jzQhijcZJXryBAdE9J9L9qpidrnD/4fvQWYR+LHGNa+bCcUxKjN9E\nrzBo3vJc6NjvkMPfUc2Rb8bl0JaUx591ticOUixb357qWC1yEHFhWYgPmC/H\nCMdLVwOLA0yjda+xvMoui6u+ASfRNcwe25VPCDPuMT74l+iA+ioVNzJtNpaN\navM+rjiKLnOMeqfkZxxX7fe2M5UWM8uUxNPE6WgfChxethYI/b6bXY3VUK5L\nbL6AjrFQ+nxjYGRHZ44+t0g3gZQFubR9go5JM5z3s5ZIVsZlTVcPFfJSUj3x\nsW7TUZkhkxg8f3zt/XhtmB1VrcqTVllmnNJgpaPCd86c6FSdjH/IeNV4YaQt\nzWJoH/buAACbAKkg3C4v7fGQ5G5CINqQ/hA69YNQh4muCuarkoD6kX1TDES0\nxsX0KRCC3Zo5JFg4EX9xmVySwBhQS0sdiE1F+EpogSadqeRirCO9ZxwZioz5\nPALmb2Yc2r0GmWj6UfNkw7NGMTc2vCvyl1fglCk+KuMy7z82ZL0pVXwPOBBP\nuFyOEH++lus7cdOagulntkoAZ630yMYF5zxg052Q+fZ3NRQj86WpjKapQmNR\nLrgu\r\n=occt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","module":"dist/undo-redo-vuex.esm.min.js","gitHead":"71aa79f97168466e7bf83dfaa9951f6f3f11c0a6","scripts":{"build":"rollup --compact -c","docs:dev":"vuepress dev docs","test:unit":"vue-cli-service test:unit","docs:build":"vuepress build docs"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.14.4","description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"_nodeVersion":"12.16.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","rollup":"^1.19.4","ts-jest":"^23.0.0","vuepress":"^1.3.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","rollup-plugin-terser":"^5.1.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@factorial/vuepress-theme":"^1.0.0-alpha.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.2.1_1588737424104_0.1471800348183716","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"undo-redo-vuex","version":"1.3.0","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.3.0","maintainers":[{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"krisimmig","email":"kris@factorial.io"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"dist":{"shasum":"55ddb1eb5afe911863745eecb59a0a369e2d5e3c","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.3.0.tgz","fileCount":84,"integrity":"sha512-Y+DWB9pgz9ukDqv45GTdm25PB+ScuvuoEps1iWWvLnYsTQJRPiajQUwfumOzRiZ22l8swHG/jeZUZM/kvq/fnQ==","signatures":[{"sig":"MEUCIHYN0cVcOJSUcQvfSN2H/uBsNIe60mv0A2dA7sWyjNSuAiEAvdKfbO9TUpi1L+zMX4xiUvqhImDnkKoz2s3+srqmb5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBXRtCRA9TVsSAnZWagAAsQwP/jJkxJFMRuoVwb0eANbH\njRL1A6S7oxcsChJlxQLbujUkR98fbY77BSyLtk/kclEYXzN/yXfs44Sqw1b5\nZOHSWCRkl8EsgvXcBRbVcPDDe1DVT35NTXVYAclehG2tlZXoY3+XXXsnEyMY\n9V31UR5IagHuEi1atLyT399f4/RV/Dn4TrK0YxTxeXnl1eKQXgkyu80GAMx5\nCLKcneoSK+SezdyisHaQrMf6lPuEokXfMMBxaZ9A7nM7djdczFKytIV+/k58\nTnU+7eo1Jq44skkX3RLTW7rChDQzbPVQn9PvRCz6CyPN0ixMqbthXqjIFjto\nnbalCNBpQd/OdeJG9W1NQMdeOu3QGkTgCf2FJ/FBlv5Lm6/XaREQbh6S9Sx4\nVWyxVhX9HpW+2x8MxlWllEYo7Hap9A4keAFOW5y4zjzUdXzCXRT8zNh3aNir\n9LipSqnQmQfe7Ha7oVPmgMLySPdrySaii+b/rzZ5PRK+QcMv88S1YM41Php4\nCbZW30yO2RIzB8YU9FkiUqE/U3oI0fvjVyX0IsTR/KmgpKF5o5Heo1Pw+c+g\nhP0870QIN+JyQpg/oelOGFugR0yMPHYMDKX2RLJBnXNi0U3rcTHHuK/AD9/I\nzutnMThMloEkmxRvsB7g16mDu/2pqDiYXVynvyKpELV/X0yRs/WhrG06z+gY\nt4Je\r\n=0E2U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","husky":{"hooks":{"pre-push":"yarn run lint && yarn test:unit","pre-commit":"yarn run lint"}},"module":"dist/undo-redo-vuex.esm.min.js","readme":"# undo-redo-vuex\n\nA Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).\n\n## Installation\n\n```js\nyarn add undo-redo-vuex\n```\n\n### Browser\n\n```html\n<script\n  type=\"text/javascript\"\n  src=\"node_modules/undo-redo-vuex/dist/undo-redo-vuex.min.js\"\n></script>\n```\n\n### Module\n\n```js\nimport undoRedo from \"undo-redo-vuex\";\n```\n\n## Usage\n\nAs a standard [plugin for Vuex](https://vuex.vuejs.org/guide/plugins.html), `undo-redo-vuex` can be used with the following setup:\n\n### How to use it in your store module\n\nThe `scaffoldStore` helper function will bootstrap a vuex store to setup the `state`, `actions` and `mutations` to work with the plugin.\n\n```js\nimport { scaffoldStore } from \"undo-redo-vuex\";\n\nconst state = {\n  list: [],\n  /**\n   * 'resetList' is a placeholder (initially the same as 'list') to \n   * fast-forward 'list' during a 'reset()'\n   */\n  resetList: [],\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  /*\n   * NB: The emptyState mutation HAS to be implemented.\n   * This mutation resets the state props to a \"base\" state,\n   * on top of which subsequent mutations are \"replayed\"\n   * whenever undo/redo is dispatched.\n   */\n  emptyState: state => {\n    // Sets some state prop to the 'reset placeholder' value\n    state.list = [...state.resetList];\n  },\n\n  resetState: state => {\n    // Sets the 'reset placeholder' (see state.resetList) prop to the current state\n    state.resetList = [...state.list];\n  },\n\n  // Define vuex mutations as normal\n};\n\nexport default scaffoldStore({\n  state,\n  actions,\n  mutations,\n  namespaced: true, // NB: do not include this is non-namespaced stores\n});\n```\n\n### Setting up `emptyState` and `resetState` mutations\n\nThe undo and redo functionality requires the `emptyState` mutation (in the example above) to be defined by the developer. This mutation (which is not tracked in the undo and redo stacks) allows state to be 'replayed' in the chronological order mutations are executed. The `clear()` action also commits `emptyState` to re-initialize the store to its original state. The `reset()` action additionally requires the `resetState` mutation to be defined, allowing the state to 'fast-forward' to its point when `reset()` was called before other mutations are 'replayed'.\n\nAlternatively, the `scaffoldState`, `scaffoldActions`, and `scaffoldMutations` helper functions can be individually required to bootstrap the vuex store. This will expose `canUndo` and `canRedo` as vuex state properties which can be used to enable/disable UI controls (e.g. undo/redo buttons).\n\n```js\nimport {\n  scaffoldState,\n  scaffoldActions,\n  scaffoldMutations,\n} from \"undo-redo-vuex\";\n\nconst state = {\n  list: [],\n  resetList: [],\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  emptyState: state => {\n    state.list = [...(state.resetList || [])];\n  },\n  resetState: state => {\n    // Sets the 'reset placeholder' (see state.resetList) prop to the current state\n    state.resetList = [...state.list];\n  },\n  // Define vuex mutations as normal\n};\n\nexport default {\n  // Use the respective helper function to scaffold state, actions and mutations\n  state: scaffoldState(state),\n  actions: scaffoldActions(actions),\n  mutations: scaffoldMutations(mutations),\n  namespaced: true, // NB: do not include this is non-namespaced stores\n};\n```\n\n### Setup the store plugin\n\n- Namespaced modules\n\n```js\nimport Vuex from \"vuex\";\nimport undoRedo from \"undo-redo-vuex\";\n\n// NB: The following config is used for namespaced store modules.\n// Please see below for configuring a non-namespaced (basic) vuex store\nexport default new Vuex.Store({\n  plugins: [\n    undoRedo({\n      // The config object for each store module is defined in the 'paths' array\n      paths: [\n        {\n          namespace: \"list\",\n          // Any mutations that you want the undo/redo mechanism to ignore\n          ignoreMutations: [\"addShadow\", \"removeShadow\"],\n        },\n      ],\n    }),\n  ],\n  /*\n   * For non-namespaced stores:\n   * state,\n   * actions,\n   * mutations,\n   */\n  // Modules for namespaced stores:\n  modules: {\n    list,\n  },\n});\n```\n\n- Non-namespaced (basic) vuex store\n\n```js\nimport Vuex from \"vuex\";\nimport undoRedo from \"undo-redo-vuex\";\n\nexport default new Vuex.Store({\n  state,\n  getters,\n  actions,\n  mutations,\n  plugins: [\n    undoRedo({\n      // NB: Include 'ignoreMutations' at root level, and do not provide the list of 'paths'.\n      ignoreMutations: [\"addShadow\", \"removeShadow\"],\n    }),\n  ],\n});\n```\n\n### Accessing `canUndo` and `canRedo` properties\n\n- Vue SFC (.vue)\n\n```js\nimport { mapState } from \"vuex\";\n\nconst MyComponent = {\n  computed: {\n    ...mapState({\n      undoButtonEnabled: \"canUndo\",\n      redoButtonEnabled: \"canRedo\",\n    }),\n  },\n};\n```\n\n### Undoing actions with `actionGroups`\n\nIn certain scenarios, undo/redo is required on store actions which may consist of one or more mutations. This feature is accessible by including a `actionGroup` property in the `payload` object of the associated vuex action. Please refer to `test/test-action-group-undo.js` for more comprehensive scenarios.\n\n- vuex module\n\n```js\nconst actions = {\n  myAction({ commit }, payload) {\n    // An arbitrary label to identify the group of mutations to undo/redo\n    const actionGroup = \"myAction\";\n\n    // All mutation payloads should contain the actionGroup property\n    commit(\"mutationA\", {\n      ...payload,\n      actionGroup,\n    });\n    commit(\"mutationB\", {\n      someProp: true,\n      actionGroup,\n    });\n  },\n};\n```\n\n- Undo/redo stack illustration\n\n```js\n// After dispatching 'myAction' once\ndone = [\n  { type: \"mutationA\", payload: { ...payload, actionGroup: \"myAction\" } },\n  { type: \"mutationB\", payload: { someProp: true, actionGroup: \"myAction\" } },\n];\nundone = [];\n\n// After dispatching 'undo'\ndone = [];\nundone = [\n  { type: \"mutationA\", payload: { ...payload, actionGroup: \"myAction\" } },\n  { type: \"mutationB\", payload: { someProp: true, actionGroup: \"myAction\" } },\n];\n```\n\n### Working with undo/redo on mutations produced by side effects (i.e. API/database calls)\n\nIn Vue.js apps, Vuex mutations are often committed inside actions that contain asynchronous calls to an API/database service:\nFor instance, `commit(\"list/addItem\", item)` could be called after an axios request to `PUT https://<your-rest-api>/v1/list`.\nWhen undoing the `commit(\"list/addItem\", item)` mutation, an appropriate API call is required to `DELETE` this item. The inverse also applies if the first API call is the `DELETE` method (`PUT` would have to be called when the `commit(\"list/removeItem\", item)` is undone).\nView the unit test for this feature [here](https://github.com/factorial-io/undo-redo-vuex/blob/b2a61ae92aad8c76ed9328021d2c6fc62ccc0774/tests/unit/test.basic.spec.ts#L66).\n\nThis scenario can be implemented by providing the respective action names as the `undoCallback` and `redoCallback` fields in the mutation payload (NB: the payload object should be parameterized as an object literal):\n\n```js\nconst actions = {\n  saveItem: async (({ commit }), item) => {\n    await axios.put(PUT_ITEM, item);\n    commit(\"addItem\", {\n      item,\n      // dispatch(\"deleteItem\", { item }) on undo()\n      undoCallback: \"deleteItem\",\n      // dispatch(\"saveItem\", { item }) on redo()\n      redoCallback: \"saveItem\"\n    });\n  },\n  deleteItem: async (({ commit }), item) => {\n    await axios.delete(DELETE_ITEM, item);\n    commit(\"removeItem\", {\n      item,\n      // dispatch(\"saveItem\", { item }) on undo()\n      undoCallback: \"saveItem\",\n      // dispatch(\"deleteItem\", { item }) on redo()\n      redoCallback: \"deleteItem\"\n    });\n  }\n};\n\nconst mutations = {\n  // NB: payload parameters as object literal props\n  addItem: (state, { item }) => {\n    // adds the item to the list\n  },\n  removeItem: (state, { item }) => {\n    // removes the item from the list\n  }\n};\n```\n\n### Clearing the undo/redo stacks with the `clear` action\n\nThe internal `done` and `undone` stacks used to track mutations in the vuex store/modules can be cleared (i.e. emptied) with the `clear` action. This action is scaffolded when using `scaffoldActions(actions)` of `scaffoldStore(store)`. This enhancement is described further in [issue #7](https://github.com/factorial-io/undo-redo-vuex/issues/7#issuecomment-490073843), with accompanying [unit tests](https://github.com/factorial-io/undo-redo-vuex/commit/566a13214d0804ab09f63fcccf502cb854327f8e).\n\n```js\n/**\n * Current done stack: [mutationA, mutation B]\n * Current undone stack: [mutationC]\n **/\nthis.$store.dispatch(\"list/clear\");\n\nawait this.$nextTick();\n/**\n * Current done stack: []\n * Current undone stack: []\n **/\n```\n\n### Resetting the current state with the `reset` action\n\nUnlike the `clear` action, `reset` empties the `done` and `undone` stacks, but maintains the state of the store up to this particular point. This action is scaffolded when using `scaffoldActions(actions)` of `scaffoldStore(store)`. This enhancement is described further in [issue #13](https://github.com/factorial-io/undo-redo-vuex/issues/13), with accompanying [unit tests](https://github.com/factorial-io/undo-redo-vuex/tree/master/tests/unit/test.reset.spec.ts).\n\n```js\n/**\n * Current done stack: [mutationA, mutation B]\n * Current undone stack: [mutationC]\n **/\nthis.$store.dispatch(\"list/reset\");\n\nawait this.$nextTick();\n/**\n * Current done stack: []\n * Current undone stack: []\n * state: resetState (i.e. initial state + mutationA + mutationB)\n **/\n```\n\n## Testing and test scenarios\n\nDevelopment tests are run using the [Jest](https://jestjs.io/) test runner. The `./tests/store` directory contains a basic Vuex store with a namespaced `list` module.\n\nThe test blocks (each `it()` declaration) in `./tests/unit` directory are grouped to mimic certain user interactions with the store, making it possible to track the change in state over time.\n\n```js\nyarn test\n```\n\n## Demo Vue.js app in `tests/vue-undo-redo-demo`\n\nA demo Vue.js TODO application featuring this plugin is included in the `tests/vue-undo-redo-demo` directory. Example test specs for Vue.js unit testing with Jest, and E2E testing with Cypress are also provided.\n\n## API documentation and reference\n\n### Public API\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo\">store/plugins/undoRedo(options)</a> ⇒ <code>function</code></dt>\n<dd><p>The Undo-Redo plugin module</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_redo\">store/plugins/undoRedo:redo()</a></dt>\n<dd><p>The Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_undo\">store/plugins/undoRedo:undo()</a></dt>\n<dd><p>The Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and &#39;replays&#39; all mutations in the done stack</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo\"></a>\n\n### store/plugins/undoRedo(options) ⇒ <code>function</code>\n\nThe Undo-Redo plugin module\n\n**Returns**: <code>function</code> - plugin - the plugin function which accepts the store parameter\n\n| Param                   | Type                              | Description                                                         |\n| ----------------------- | --------------------------------- | ------------------------------------------------------------------- |\n| options                 | <code>Object</code>               |                                                                     |\n| options.namespace       | <code>String</code>               | The named vuex store module                                         |\n| options.ignoreMutations | <code>Array.&lt;String&gt;</code> | The list of store mutations (belonging to the module) to be ignored |\n\n<a name=\"store/plugins/undoRedo_redo\"></a>\n\n### store/plugins/undoRedo:redo()\n\nThe Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack\n\n<a name=\"store/plugins/undoRedo_undo\"></a>\n\n### store/plugins/undoRedo:undo()\n\nThe Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and 'replays' all mutations in the done stack\n\n### Internal functions (reference only)\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo_pipeActions\">store/plugins/undoRedo:pipeActions(actions)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_getConfig\">store/plugins/undoRedo:getConfig(namespace)</a> ⇒ <code>Object</code></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_setConfig\">store/plugins/undoRedo:setConfig(namespace, config)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo_pipeActions\"></a>\n\n### store/plugins/undoRedo:pipeActions(actions)\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n| Param   | Type                              | Description                                                        |\n| ------- | --------------------------------- | ------------------------------------------------------------------ |\n| actions | <code>Array.&lt;Object&gt;</code> | The array of objects containing the each action's name and payload |\n\n<a name=\"store/plugins/undoRedo_getConfig\"></a>\n\n### store/plugins/undoRedo:getConfig(namespace) ⇒ <code>Object</code>\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n**Returns**: <code>Object</code> - config - The object containing the undo/redo stacks of the store module\n\n| Param     | Type                | Description                  |\n| --------- | ------------------- | ---------------------------- |\n| namespace | <code>String</code> | The name of the store module |\n\n<a name=\"store/plugins/undoRedo_setConfig\"></a>\n\n### store/plugins/undoRedo:setConfig(namespace, config)\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n| Param     | Type                | Description                                                            |\n| --------- | ------------------- | ---------------------------------------------------------------------- |\n| namespace | <code>String</code> | The name of the store module                                           |\n| config    | <code>String</code> | The object containing the updated undo/redo stacks of the store module |\n","gitHead":"e066fbb5e2dbbcd5be8fcc3cfe7efdbac6256baa","scripts":{"lint":"vue-cli-service lint","build":"rollup --compact -c","docs:dev":"vuepress dev docs","test:unit":"vue-cli-service test:unit","docs:build":"vuepress build docs"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.14.4","description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"_nodeVersion":"12.16.3","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","husky":"^4.2.5","rollup":"^1.19.4","ts-jest":"^23.0.0","vuepress":"^1.3.0","node-sass":"^4.12.0","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","rollup-plugin-terser":"^5.1.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@factorial/vuepress-theme":"^1.0.0-alpha.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.3.0_1594193005370_0.21097219365363062","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"undo-redo-vuex","version":"1.4.0","keywords":["vuex","vue","undo/redo"],"_id":"undo-redo-vuex@1.4.0","maintainers":[{"name":"krisimmig","email":"kris@factorial.io"},{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},{"name":"mgrsskls","email":"mail@mgrossklaus.de"},{"name":"mlnmln","email":"milan@factorial.io"},{"name":"mmatull","email":"hello@factorial.io"}],"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"dist":{"shasum":"2a9e8811897329cc37423e2a3fa67fac11a54bc9","tarball":"https://registry.npmjs.org/undo-redo-vuex/-/undo-redo-vuex-1.4.0.tgz","fileCount":85,"integrity":"sha512-iG73PXFU2ap0STCtodafWyFrrQujQhBvPDReDdtpTCWH3ZG4Tret/J3WZbUREyPEmQxomFAp630tBH3i6QMQFg==","signatures":[{"sig":"MEYCIQDZH+vfZGkgidDeJ1gFrewIZ86r5jPmkIzXzF7jIWODIQIhALR4ICZnzElrbS/GEQ7t/znl7heAMvCnEkE/aUpp4nyl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":960535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdTYQCRA9TVsSAnZWagAAatUP/j61cQVSlKUzuos4cw5X\nKUMF1ucKgPuIK5zCbUBaEJdKs/KaL6/PuNrsQ09ybbYXIrZ2a1nkwQcjs0KZ\necj3LXLz7JE4Ksg26C7H265ejvZX/PSP7tIhXdq8uKE4MFDKVX3Y+ac3sYMm\nq3rspNQBasyOHGIAsS3zBopqs5yOEFWcdl4ngVc5e+Qm3Dj0vzH8c+T7mF4j\nq2NrXfvPi0J5I97Bz3IiklGqU74WwD0N55ry3S/zIaswti/7cQD2V/hi553M\n84/H3pIM5Cr4/VLjUuXg7cJOGGJ+7H3FLtirrDwxPLPgcpZzEgWNFGFQlb0Z\nrpTEVDqnk0ysXeD1mHW43vVJKnTtidVEawbA8z+FdFaFLI9YO7rsefeK6fcG\neC4CJb2PnLBmXbwP1/F84s+ouhEkU5jhioXxf95ceCWI0We1+st6Z8KMmFAC\nq548BwyLEyo960KM+NwiYRRu04yEvTzNHekxZ5AmG1+S0aksENcCzJSL5yIH\nPgp40m4fzzYFzhXjOUva0vsjTMAiOz7UAz0/7nk8rexIJFHvCmGrEpV20+/j\nGEh5/LPrj3NVr70ucI1CgdfbuyHBjB4xxlm9PbboUTWPGcfALtvKwvNstrIn\n3kMNT3ddy+3gIG+H7BxGVpb861/ttczIsG1F6Sqo/mh44/xh1EcPDMgXu8W/\n2F+e\r\n=TLhg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/undo-redo-vuex.umd.min.js","husky":{"hooks":{"pre-push":"yarn run lint && yarn test:unit","pre-commit":"yarn run lint"}},"module":"dist/undo-redo-vuex.esm.min.js","readme":"# undo-redo-vuex\n\nA Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).\n\n## Installation\n\n```js\nyarn add undo-redo-vuex\n```\n\n### Browser\n\n```html\n<script\n  type=\"text/javascript\"\n  src=\"node_modules/undo-redo-vuex/dist/undo-redo-vuex.min.js\"\n></script>\n```\n\n### Module\n\n```js\nimport undoRedo from \"undo-redo-vuex\";\n```\n\n## Usage\n\nAs a standard [plugin for Vuex](https://vuex.vuejs.org/guide/plugins.html), `undo-redo-vuex` can be used with the following setup:\n\n### How to use it in your store module\n\nThe `scaffoldStore` helper function will bootstrap a vuex store to setup the `state`, `actions` and `mutations` to work with the plugin.\n\n```js\nimport { scaffoldStore } from \"undo-redo-vuex\";\n\nconst state = {\n  list: [],\n  /**\n   * 'resetList' is a placeholder (initially the same as 'list') to \n   * fast-forward 'list' during a 'reset()'\n   */\n  resetList: [],\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  /*\n   * NB: The emptyState mutation HAS to be implemented.\n   * This mutation resets the state props to a \"base\" state,\n   * on top of which subsequent mutations are \"replayed\"\n   * whenever undo/redo is dispatched.\n   */\n  emptyState: state => {\n    // Sets some state prop to the 'reset placeholder' value\n    state.list = [...state.resetList];\n  },\n\n  resetState: state => {\n    // Sets the 'reset placeholder' (see state.resetList) prop to the current state\n    state.resetList = [...state.list];\n  },\n\n  // Define vuex mutations as normal\n};\n\nexport default scaffoldStore({\n  state,\n  actions,\n  mutations,\n  namespaced: true, // NB: do not include this is non-namespaced stores\n});\n```\n\n### Setting up `emptyState` and `resetState` mutations\n\nThe undo and redo functionality requires the `emptyState` mutation (in the example above) to be defined by the developer. This mutation (which is not tracked in the undo and redo stacks) allows state to be 'replayed' in the chronological order mutations are executed. The `clear()` action also commits `emptyState` to re-initialize the store to its original state. The `reset()` action additionally requires the `resetState` mutation to be defined, allowing the state to 'fast-forward' to its point when `reset()` was called before other mutations are 'replayed'.\n\nAlternatively, the `scaffoldState`, `scaffoldActions`, and `scaffoldMutations` helper functions can be individually required to bootstrap the vuex store. This will expose `canUndo` and `canRedo` as vuex state properties which can be used to enable/disable UI controls (e.g. undo/redo buttons).\n\n```js\nimport {\n  scaffoldState,\n  scaffoldActions,\n  scaffoldMutations,\n} from \"undo-redo-vuex\";\n\nconst state = {\n  list: [],\n  resetList: [],\n  // Define vuex state properties as normal\n};\nconst actions = {\n  // Define vuex actions as normal\n};\nconst mutations = {\n  emptyState: state => {\n    state.list = [...(state.resetList || [])];\n  },\n  resetState: state => {\n    // Sets the 'reset placeholder' (see state.resetList) prop to the current state\n    state.resetList = [...state.list];\n  },\n  // Define vuex mutations as normal\n};\n\nexport default {\n  // Use the respective helper function to scaffold state, actions and mutations\n  state: scaffoldState(state),\n  actions: scaffoldActions(actions),\n  mutations: scaffoldMutations(mutations),\n  namespaced: true, // NB: do not include this is non-namespaced stores\n};\n```\n\n### Setup the store plugin\n\n- Namespaced modules\n\n```js\nimport Vuex from \"vuex\";\nimport undoRedo from \"undo-redo-vuex\";\n\n// NB: The following config is used for namespaced store modules.\n// Please see below for configuring a non-namespaced (basic) vuex store\nexport default new Vuex.Store({\n  plugins: [\n    undoRedo({\n      // The config object for each store module is defined in the 'paths' array\n      paths: [\n        {\n          namespace: \"list\",\n          // Any mutations that you want the undo/redo mechanism to ignore\n          ignoreMutations: [\"addShadow\", \"removeShadow\"],\n        },\n      ],\n    }),\n  ],\n  /*\n   * For non-namespaced stores:\n   * state,\n   * actions,\n   * mutations,\n   */\n  // Modules for namespaced stores:\n  modules: {\n    list,\n  },\n});\n```\n\n- Non-namespaced (basic) vuex store\n\n```js\nimport Vuex from \"vuex\";\nimport undoRedo from \"undo-redo-vuex\";\n\nexport default new Vuex.Store({\n  state,\n  getters,\n  actions,\n  mutations,\n  plugins: [\n    undoRedo({\n      // NB: Include 'ignoreMutations' at root level, and do not provide the list of 'paths'.\n      ignoreMutations: [\"addShadow\", \"removeShadow\"],\n    }),\n  ],\n});\n```\n\n### Accessing `canUndo` and `canRedo` properties\n\n- Vue SFC (.vue)\n\n```js\nimport { mapState } from \"vuex\";\n\nconst MyComponent = {\n  computed: {\n    ...mapState({\n      undoButtonEnabled: \"canUndo\",\n      redoButtonEnabled: \"canRedo\",\n    }),\n  },\n};\n```\n\n### Undoing actions with `actionGroups`\n\nIn certain scenarios, undo/redo is required on store actions which may consist of one or more mutations. This feature is accessible by including a `actionGroup` property in the `payload` object of the associated vuex action. Please refer to `test/test-action-group-undo.js` for more comprehensive scenarios.\n\n- vuex module\n\n```js\nconst actions = {\n  myAction({ commit }, payload) {\n    // An arbitrary label to identify the group of mutations to undo/redo\n    const actionGroup = \"myAction\";\n\n    // All mutation payloads should contain the actionGroup property\n    commit(\"mutationA\", {\n      ...payload,\n      actionGroup,\n    });\n    commit(\"mutationB\", {\n      someProp: true,\n      actionGroup,\n    });\n  },\n};\n```\n\n- Undo/redo stack illustration\n\n```js\n// After dispatching 'myAction' once\ndone = [\n  { type: \"mutationA\", payload: { ...payload, actionGroup: \"myAction\" } },\n  { type: \"mutationB\", payload: { someProp: true, actionGroup: \"myAction\" } },\n];\nundone = [];\n\n// After dispatching 'undo'\ndone = [];\nundone = [\n  { type: \"mutationA\", payload: { ...payload, actionGroup: \"myAction\" } },\n  { type: \"mutationB\", payload: { someProp: true, actionGroup: \"myAction\" } },\n];\n```\n\n### Working with undo/redo on mutations produced by side effects (i.e. API/database calls)\n\nIn Vue.js apps, Vuex mutations are often committed inside actions that contain asynchronous calls to an API/database service:\nFor instance, `commit(\"list/addItem\", item)` could be called after an axios request to `PUT https://<your-rest-api>/v1/list`.\nWhen undoing the `commit(\"list/addItem\", item)` mutation, an appropriate API call is required to `DELETE` this item. The inverse also applies if the first API call is the `DELETE` method (`PUT` would have to be called when the `commit(\"list/removeItem\", item)` is undone).\nView the unit test for this feature [here](https://github.com/factorial-io/undo-redo-vuex/blob/b2a61ae92aad8c76ed9328021d2c6fc62ccc0774/tests/unit/test.basic.spec.ts#L66).\n\nThis scenario can be implemented by providing the respective action names as the `undoCallback` and `redoCallback` fields in the mutation payload (NB: the payload object should be parameterized as an object literal):\n\n```js\nconst actions = {\n  saveItem: async (({ commit }), item) => {\n    await axios.put(PUT_ITEM, item);\n    commit(\"addItem\", {\n      item,\n      // dispatch(\"deleteItem\", { item }) on undo()\n      undoCallback: \"deleteItem\",\n      // dispatch(\"saveItem\", { item }) on redo()\n      redoCallback: \"saveItem\"\n    });\n  },\n  deleteItem: async (({ commit }), item) => {\n    await axios.delete(DELETE_ITEM, item);\n    commit(\"removeItem\", {\n      item,\n      // dispatch(\"saveItem\", { item }) on undo()\n      undoCallback: \"saveItem\",\n      // dispatch(\"deleteItem\", { item }) on redo()\n      redoCallback: \"deleteItem\"\n    });\n  }\n};\n\nconst mutations = {\n  // NB: payload parameters as object literal props\n  addItem: (state, { item }) => {\n    // adds the item to the list\n  },\n  removeItem: (state, { item }) => {\n    // removes the item from the list\n  }\n};\n```\n\n### Clearing the undo/redo stacks with the `clear` action\n\nThe internal `done` and `undone` stacks used to track mutations in the vuex store/modules can be cleared (i.e. emptied) with the `clear` action. This action is scaffolded when using `scaffoldActions(actions)` of `scaffoldStore(store)`. This enhancement is described further in [issue #7](https://github.com/factorial-io/undo-redo-vuex/issues/7#issuecomment-490073843), with accompanying [unit tests](https://github.com/factorial-io/undo-redo-vuex/commit/566a13214d0804ab09f63fcccf502cb854327f8e).\n\n```js\n/**\n * Current done stack: [mutationA, mutation B]\n * Current undone stack: [mutationC]\n **/\nthis.$store.dispatch(\"list/clear\");\n\nawait this.$nextTick();\n/**\n * Current done stack: []\n * Current undone stack: []\n **/\n```\n\n### Resetting the current state with the `reset` action\n\nUnlike the `clear` action, `reset` empties the `done` and `undone` stacks, but maintains the state of the store up to this particular point. This action is scaffolded when using `scaffoldActions(actions)` of `scaffoldStore(store)`. This enhancement is described further in [issue #13](https://github.com/factorial-io/undo-redo-vuex/issues/13), with accompanying [unit tests](https://github.com/factorial-io/undo-redo-vuex/tree/master/tests/unit/test.reset.spec.ts).\n\n```js\n/**\n * Current done stack: [mutationA, mutation B]\n * Current undone stack: [mutationC]\n **/\nthis.$store.dispatch(\"list/reset\");\n\nawait this.$nextTick();\n/**\n * Current done stack: []\n * Current undone stack: []\n * state: resetState (i.e. initial state + mutationA + mutationB)\n **/\n```\n\n### Inspecting `done` and `undone` mutations\n\nSome vuex powered applications may require knowledge of the `done` and `undone` stacks, e.g. to preserve undo/redo functionality between page loads. The following configuration exposes the stacks by scaffoling a `undoRedoConfig` object in the store or module which uses the plugin:\n\n```js\nimport Vuex from \"vuex\";\nimport undoRedo, { scaffoldStore } from \"undo-redo-vuex\";\n\n// state, getters, actions & mutations ...\n\n// boolean flag to expose done and undone stacks\nconst exposeUndoRedoConfig = true;\n\nconst storeConfig = scaffoldStore({\n  state,\n  actions,\n  mutations\n}, exposeUndoRedoConfig); // boolean flag as the second optional param\n\n/**\n * NB: When configuring state, actions or mutations with scaffoldState,\n * scaffoldActions or scaffoldMutations, the exposeUndoRedoConfig = true\n * flag should be passed as the second param.\n */ \n\nconst store = new Vuex.Store({\n  ...storeConfig,\n  plugins: [\n    // Pass boolean flag as an named option\n    undoRedo({ exposeUndoRedoConfig })\n  ]\n});\n```\n\nTo access the exposed `done` and `undone` stacks, e.g. in a component:\n\n```js\nconst { done, undone } = this.$store.state;\n```\n\nThis enhancement is described further in [issue #45](https://github.com/factorial-io/undo-redo-vuex/issues/45), with accompanying [unit tests](https://github.com/factorial-io/undo-redo-vuex/tree/master/tests/unit/test.expose-undo-redo-stacks.spec.ts).\n\n## Testing and test scenarios\n\nDevelopment tests are run using the [Jest](https://jestjs.io/) test runner. The `./tests/store` directory contains a basic Vuex store with a namespaced `list` module.\n\nThe test blocks (each `it()` declaration) in `./tests/unit` directory are grouped to mimic certain user interactions with the store, making it possible to track the change in state over time.\n\n```js\nyarn test\n```\n\n## Demo Vue.js app in `tests/vue-undo-redo-demo`\n\nA demo Vue.js TODO application featuring this plugin is included in the `tests/vue-undo-redo-demo` directory. Example test specs for Vue.js unit testing with Jest, and E2E testing with Cypress are also provided.\n\n## API documentation and reference\n\n### Public API\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo\">store/plugins/undoRedo(options)</a> ⇒ <code>function</code></dt>\n<dd><p>The Undo-Redo plugin module</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_redo\">store/plugins/undoRedo:redo()</a></dt>\n<dd><p>The Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_undo\">store/plugins/undoRedo:undo()</a></dt>\n<dd><p>The Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and &#39;replays&#39; all mutations in the done stack</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo\"></a>\n\n### store/plugins/undoRedo(options) ⇒ <code>function</code>\n\nThe Undo-Redo plugin module\n\n**Returns**: <code>function</code> - plugin - the plugin function which accepts the store parameter\n\n| Param                   | Type                              | Description                                                         |\n| ----------------------- | --------------------------------- | ------------------------------------------------------------------- |\n| options                 | <code>Object</code>               |                                                                     |\n| options.namespace       | <code>String</code>               | The named vuex store module                                         |\n| options.ignoreMutations | <code>Array.&lt;String&gt;</code> | The list of store mutations (belonging to the module) to be ignored |\n\n<a name=\"store/plugins/undoRedo_redo\"></a>\n\n### store/plugins/undoRedo:redo()\n\nThe Redo function - commits the latest undone mutation to the store,\nand pushes it to the done stack\n\n<a name=\"store/plugins/undoRedo_undo\"></a>\n\n### store/plugins/undoRedo:undo()\n\nThe Undo function - pushes the latest done mutation to the top of the undone\nstack by popping the done stack and 'replays' all mutations in the done stack\n\n### Internal functions (reference only)\n\n<dl>\n<dt><a href=\"#store/plugins/undoRedo_pipeActions\">store/plugins/undoRedo:pipeActions(actions)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_getConfig\">store/plugins/undoRedo:getConfig(namespace)</a> ⇒ <code>Object</code></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n<dt><a href=\"#store/plugins/undoRedo_setConfig\">store/plugins/undoRedo:setConfig(namespace, config)</a></dt>\n<dd><p>Piping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise</p>\n</dd>\n</dl>\n\n<a name=\"store/plugins/undoRedo_pipeActions\"></a>\n\n### store/plugins/undoRedo:pipeActions(actions)\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n| Param   | Type                              | Description                                                        |\n| ------- | --------------------------------- | ------------------------------------------------------------------ |\n| actions | <code>Array.&lt;Object&gt;</code> | The array of objects containing the each action's name and payload |\n\n<a name=\"store/plugins/undoRedo_getConfig\"></a>\n\n### store/plugins/undoRedo:getConfig(namespace) ⇒ <code>Object</code>\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n**Returns**: <code>Object</code> - config - The object containing the undo/redo stacks of the store module\n\n| Param     | Type                | Description                  |\n| --------- | ------------------- | ---------------------------- |\n| namespace | <code>String</code> | The name of the store module |\n\n<a name=\"store/plugins/undoRedo_setConfig\"></a>\n\n### store/plugins/undoRedo:setConfig(namespace, config)\n\nPiping async action calls sequentially using Array.prototype.reduce\nto chain and initial, empty promise\n\n| Param     | Type                | Description                                                            |\n| --------- | ------------------- | ---------------------------------------------------------------------- |\n| namespace | <code>String</code> | The name of the store module                                           |\n| config    | <code>String</code> | The object containing the updated undo/redo stacks of the store module |\n","gitHead":"e7efa50afdc121913c83d6ca5cb3b615dbcd214b","scripts":{"lint":"vue-cli-service lint","build":"rollup --compact -c","docs:dev":"vuepress dev docs","test:unit":"vue-cli-service test:unit","docs:build":"vuepress build docs"},"_npmUser":{"name":"andrewbeng89","email":"andrewbeng89@gmail.com"},"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"_npmVersion":"6.14.6","description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","directories":{},"lint-staged":{"*.js":["vue-cli-service lint","git add"],"*.vue":["vue-cli-service lint","git add"]},"_nodeVersion":"12.18.4","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vue":"^2.6.10","vuex":"^3.1.1","husky":"^4.2.5","rollup":"^1.19.4","ts-jest":"^23.0.0","vuepress":"^1.3.0","node-sass":"^4.13.1","babel-core":"7.0.0-bridge.0","typescript":"^3.0.0","@types/jest":"^23.3.14","lint-staged":"^7.2.2","webpack-cli":"^3.3.6","@vue/test-utils":"^1.0.0-beta.20","@vue/cli-service":"^3.0.1","babel-preset-minify":"^0.5.0","rollup-plugin-babel":"^4.3.3","clean-webpack-plugin":"^3.0.0","rollup-plugin-terser":"^5.1.1","@vue/cli-plugin-babel":"^3.0.1","vue-template-compiler":"^2.5.17","@vue/cli-plugin-eslint":"^3.0.1","rollup-plugin-commonjs":"^10.0.2","@babel/preset-typescript":"^7.3.3","@factorial/vuepress-theme":"^1.0.0-alpha.1","@vue/cli-plugin-unit-jest":"^3.0.1","@vue/cli-plugin-typescript":"^3.0.1","rollup-plugin-node-resolve":"^5.2.0","@vue/eslint-config-prettier":"^3.0.3","@vue/eslint-config-typescript":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/undo-redo-vuex_1.4.0_1601517071522_0.05186845919988792","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-05-31T09:49:51.743Z","modified":"2026-07-21T17:06:16.544Z","0.1.1":"2018-05-31T09:49:51.807Z","0.1.2":"2018-06-22T08:45:28.185Z","0.1.3":"2018-06-22T12:57:42.077Z","0.1.4":"2018-06-22T13:00:50.123Z","1.0.0":"2018-06-28T13:32:27.842Z","1.1.0":"2018-06-30T05:00:59.958Z","1.1.1":"2018-07-05T12:32:10.935Z","1.1.2":"2018-07-16T15:04:43.612Z","1.1.3":"2018-07-17T07:16:00.549Z","1.1.5":"2018-07-19T15:26:12.510Z","1.1.6":"2019-02-07T16:35:06.797Z","1.1.7":"2019-02-07T16:49:03.189Z","1.1.8":"2019-07-26T15:01:08.415Z","1.1.9":"2019-08-05T08:06:10.392Z","1.1.10":"2019-08-05T08:38:19.565Z","1.1.11":"2019-08-15T15:32:54.460Z","1.1.12":"2019-08-15T16:45:13.706Z","1.1.13":"2019-08-16T03:36:38.047Z","1.1.14":"2019-08-16T09:49:02.903Z","1.1.15":"2019-08-16T10:48:55.822Z","1.1.16":"2019-08-19T07:32:43.094Z","1.2.0":"2019-09-03T10:16:28.920Z","1.2.1":"2020-05-06T03:57:04.254Z","1.3.0":"2020-07-08T07:23:25.598Z","1.4.0":"2020-10-01T01:51:11.723Z"},"bugs":{"url":"https://github.com/andrewbeng89/undo-redo-vuex/issues"},"homepage":"https://github.com/andrewbeng89/undo-redo-vuex#readme","keywords":["vuex","vue","undo/redo"],"repository":{"url":"git+https://github.com/andrewbeng89/undo-redo-vuex.git","type":"git"},"description":"A Vuex plugin for module namespaced undo and redo functionality. This plugin takes inspiration from and extends the work of [vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo).","maintainers":[{"email":"hello@factorial.io","name":"mmatull"},{"email":"andrewbeng89@gmail.com","name":"andrewbeng89"},{"email":"post@fynn.be","name":"mvsde"},{"email":"stephan@factorial.io","name":"stmh"}],"readme":"","readmeFilename":""}