{"_id":"fsm-base","_rev":"267151","name":"fsm-base","description":"Finite state machine base class","dist-tags":{"latest":"0.8.0"},"maintainers":[{"name":"75lb","email":""}],"time":{"modified":"2023-03-27T19:08:09.000Z","created":"2015-10-25T19:50:58.439Z","0.8.0":"2023-03-11T11:20:17.872Z","0.7.0":"2021-07-04T09:45:12.478Z","0.6.0":"2020-05-30T21:21:17.588Z","0.5.2":"2019-11-17T00:30:00.022Z","0.5.1":"2019-11-15T10:40:13.241Z","0.5.0":"2019-11-04T13:19:08.129Z","0.4.4":"2019-03-03T22:08:23.219Z","0.4.3":"2018-12-30T23:48:43.996Z","0.4.2":"2018-12-28T22:41:30.834Z","0.4.1":"2018-12-25T23:54:49.629Z","0.4.0":"2018-12-24T19:12:36.991Z","0.3.0":"2018-12-22T21:18:45.923Z","0.2.1":"2018-02-16T21:21:44.808Z","0.2.0":"2017-02-15T22:25:05.611Z","0.1.0":"2015-10-25T19:50:58.439Z"},"users":{},"author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"versions":{"0.8.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.8.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","type":"module","exports":{"import":"./index.js","require":"./dist/index.cjs"},"keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=14"},"scripts":{"test":"npm run dist && npm run test:ci","test:ci":"test-runner test.js","docs":"jsdoc2md -t README.hbs index.js > README.md","dist":"rollup -c"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","jsdoc-to-markdown":"^8.0.0","rollup":"^3.19.1","test-runner":"^0.10.1"},"dependencies":{"array-back":"^6.2.2"},"standard":{"ignore":["dist"]},"gitHead":"feb64059eb6b166598a25ba72abe0f8587541a98","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.8.0","_nodeVersion":"19.7.0","_npmVersion":"9.6.0","dist":{"shasum":"3d3ed06711dddfc294efafe6a6e0c62f293cb614","size":3955,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.8.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.8.0.tgz"},"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"maintainers":[{"name":"75lb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.8.0_1678533617771_0.5401513796339152"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-11T11:20:17.872Z","publish_time":1678533617872,"_cnpm_publish_time":1678533617872},"0.7.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.7.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","exports":{"import":"./index.mjs","require":"./dist/index.cjs"},"keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=14"},"scripts":{"test":"npm run dist && test-runner test.mjs","docs":"jsdoc2md -c jsdoc.conf -t README.hbs index.mjs > README.md","dist":"rollup -c"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","jsdoc-to-markdown":"^7.0.1","rollup":"^2.52.7","test-runner":"^0.9.5"},"dependencies":{"array-back":"^6.1.1","obso":"^0.7.0"},"standard":{"ignore":["dist"]},"gitHead":"dd82f06fb642a84e721a4862f2adc3625e1c4c93","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.7.0","_nodeVersion":"16.4.1","_npmVersion":"7.19.1","dist":{"shasum":"30c8c2a3e76ad52e1235db7ea37b17a007c3baf7","size":4711,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.7.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.7.0.tgz"},"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"maintainers":[{"name":"75lb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.7.0_1625391912341_0.3500260279586809"},"_hasShrinkwrap":false,"publish_time":1625391912478,"_cnpm_publish_time":1625391912478,"_cnpmcore_publish_time":"2021-12-14T07:00:26.559Z"},"0.6.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.6.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","module":"index.mjs","keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=10"},"scripts":{"test":"npm run dist && esm-runner test.mjs","docs":"jsdoc2md -c jsdoc.conf -t README.hbs index.mjs > README.md","dist":"rollup -c"},"devDependencies":{"esm-runner":"^0.3.4","jsdoc-to-markdown":"^5.0.3","rollup":"^2.11.2","rollup-plugin-node-resolve":"^5.2.0","test-runner":"^0.8.13"},"dependencies":{"array-back":"^4.0.1","obso":"^0.6.0","reduce-flatten":"^3.0.0"},"standard":{"ignore":["dist"]},"gitHead":"37440dce5faf6846304e6fc85f1363526e66d6c4","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.6.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"shasum":"096437d63fe5a9cbfbda30e39ee8bb4f5523c192","size":5671,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.6.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.6.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.6.0_1590873677324_0.7793012978895015"},"_hasShrinkwrap":false,"publish_time":1590873677588,"_cnpm_publish_time":1590873677588},"0.5.2":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.5.2","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","module":"index.mjs","keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=8"},"scripts":{"test":"npm run dist && test-runner test.js","docs":"jsdoc2md -c jsdoc.conf -t README.hbs index.mjs > README.md","dist":"rollup -c"},"devDependencies":{"jsdoc-to-markdown":"^5.0.2","rollup":"^1.27.0","rollup-plugin-node-resolve":"^5.2.0","test-runner":"^0.7.6"},"dependencies":{"array-back":"^4.0.1","obso":"^0.5.1","reduce-flatten":"^3.0.0"},"standard":{"ignore":["dist"]},"gitHead":"adc4f50637f3a81698894810e5cf1f4abc42ff80","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.5.2","_nodeVersion":"12.12.0","_npmVersion":"6.13.0","dist":{"shasum":"cedc0907d70aee0fc501fdce628c7e8874deff3b","size":5615,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.5.2.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.5.2.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.5.2_1573950599877_0.18553367146840283"},"_hasShrinkwrap":false,"publish_time":1573950600022,"_cnpm_publish_time":1573950600022},"0.5.1":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.5.1","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","module":"dist/index.mjs","keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=8"},"scripts":{"test":"npm run dist && test-runner test.js","docs":"jsdoc2md -c jsdoc.conf -t README.hbs index.mjs > README.md","dist":"rollup -c"},"devDependencies":{"jsdoc-to-markdown":"^5.0.2","rollup":"^1.27.0","test-runner":"^0.7.6"},"dependencies":{"array-back":"^4.0.1","obso":"^0.5.1","reduce-flatten":"^3.0.0"},"standard":{"ignore":["dist"]},"gitHead":"10334b1a08e45922382918e2cceaca046cff1a44","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.5.1","_nodeVersion":"12.12.0","_npmVersion":"6.13.0","dist":{"shasum":"a81c51721e80aca12e65915047f3f8a3141d4a57","size":5614,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.5.1.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.5.1.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.5.1_1573814413056_0.840372434891953"},"_hasShrinkwrap":false,"publish_time":1573814413241,"_cnpm_publish_time":1573814413241},"0.5.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.5.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","module":"dist/index.mjs","keywords":["finite","state","machine","base","class","isomorphic","load-anywhere"],"engines":{"node":">=8"},"scripts":{"test":"npm run dist && test-runner test.js","docs":"jsdoc2md -c jsdoc.conf -t README.hbs index.mjs > README.md","dist":"rollup -c"},"devDependencies":{"jsdoc-to-markdown":"^5.0.2","rollup":"^1.26.3","test-runner":"^0.6.2"},"dependencies":{"array-back":"^4.0.0","obso":"^0.5.0","reduce-flatten":"^3.0.0"},"standard":{"ignore":["dist"]},"gitHead":"2e39520c9014ea0e43378f93e0bf51b4d23d907e","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.5.0","_nodeVersion":"12.12.0","_npmVersion":"6.12.1","dist":{"shasum":"4f2e825edf6696f66deb5975fd14759b1e1e20d9","size":5613,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.5.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.5.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.5.0_1572873548008_0.915169055890511"},"_hasShrinkwrap":false,"publish_time":1572873548129,"_cnpm_publish_time":1572873548129},"0.4.4":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.4.4","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -c build/jsdoc.conf -t README.hbs index.mjs > README.md; echo","dist":"rollup -c build/index.config.js && rollup -c build/index-esm.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^1.4.0","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.4.3"},"gitHead":"6778f4b57dc44b5ba5fbc3f60dabebabbe532d25","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.4.4","_nodeVersion":"11.10.0","_npmVersion":"6.8.0","dist":{"shasum":"61e5e858595da58a4a23e070de920c65bbc50342","size":5366,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.4.4.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.4.4.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.4.4_1551650903107_0.7325727351355871"},"_hasShrinkwrap":false,"publish_time":1551650903219,"_cnpm_publish_time":1551650903219},"0.4.3":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.4.3","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -c dist/jsdoc.conf -t README.hbs index.mjs > README.md; echo","dist":"rollup -c dist/index.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.4.2"},"gitHead":"02d3ba8727c975c678b5fc909a8201ec45ad8d7d","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.4.3","_npmVersion":"6.5.0","_nodeVersion":"11.6.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"191635af0673b753bc4581a9903b8aa85f40d059","size":4613,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.4.3.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.4.3.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.4.3_1546213723888_0.864989643180029"},"_hasShrinkwrap":false,"publish_time":1546213723996,"_cnpm_publish_time":1546213723996},"0.4.2":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.4.2","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -c dist/jsdoc.conf -t README.hbs index.mjs > README.md; echo","dist":"rollup -c dist/index.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^0.68.1","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.4.0"},"gitHead":"740aa151adce7016efb24bcd3ba4f0dbcc324ba8","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.4.2","_npmVersion":"6.5.0","_nodeVersion":"11.6.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"71ee5a1bc67275eeeada99edfbb42dd0eb4f4d28","size":4615,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.4.2.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.4.2.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.4.2_1546036890730_0.607500524211162"},"_hasShrinkwrap":false,"publish_time":1546036890834,"_cnpm_publish_time":1546036890834},"0.4.1":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.4.1","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -c dist/jsdoc.conf -t README.hbs index.mjs > README.md; echo","dist":"rollup -c dist/index.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^0.68.1","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.4.0"},"gitHead":"b593d884eaf66e2d7717e7ecf155d089481956d4","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.4.1","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"9f934a38d5a94e9b80ca72f443fa4f688283059b","size":4598,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.4.1.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.4.1.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.4.1_1545782089539_0.18497958731915287"},"_hasShrinkwrap":false,"publish_time":1545782089629,"_cnpm_publish_time":1545782089629},"0.4.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.4.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -t README.hbs index.js > README.md; echo","dist":"rollup -c dist/index.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^0.68.1","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.4.0"},"gitHead":"6ae7bc802fffe2d3cb70f7bcba0a72591092808f","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.4.0","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"a9d3d904f28afcb298ca0c8493bc9a1a03d908ca","size":4600,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.4.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.4.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.4.0_1545678756866_0.9266600720033566"},"_hasShrinkwrap":false,"publish_time":1545678756991,"_cnpm_publish_time":1545678756991},"0.3.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.3.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","main":"dist/index.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=6"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md -t README.hbs index.js > README.md; echo","dist":"rollup -c dist/index.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^0.68.1","test-runner":"^0.5.1"},"dependencies":{"array-back":"^3.0.1","obso":"^0.3.0"},"gitHead":"a9b201fee0c5658da23567107564e6648165540b","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"02fa3ee75905b3650af1c5112b5d07d1a2f3549f","size":4468,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.3.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.3.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.3.0_1545513525763_0.852048111505322"},"_hasShrinkwrap":false,"publish_time":1545513525923,"_cnpm_publish_time":1545513525923},"0.2.1":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.1","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"license":"MIT","keywords":["finite","state","machine","base","class"],"engines":{"node":">=4"},"scripts":{"test":"test-runner test.js","docs":"jsdoc2md index.js > README.md; echo","dist":"rollup -c dist/es.config.js"},"devDependencies":{"jsdoc-to-markdown":"^4.0.1","rollup":"^0.56.1","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.3","test-runner":"^0.5.0"},"dependencies":{"array-back":"^2.0.0","array-flatten":"^2.1.1"},"gitHead":"549f358407476b6f9ecdb9af76ffe3b19c9df1df","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"b8d81633dd508891026361abfba17e7ac01a53ef","size":8406,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.2.1.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.2.1.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm-base_0.2.1_1518816104711_0.41913673264721374"},"_hasShrinkwrap":false,"publish_time":1518816104808,"_cnpm_publish_time":1518816104808},"0.2.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"main":"./lib/fsm-base.js","license":"MIT","keywords":["finite","state","machine","base","class"],"engines":{"node":">=0.10.0"},"scripts":{"test":"test-runner test/*.js","docs":"jsdoc2md lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^3.0.0","test-runner":"^0.3.0"},"dependencies":{"array-back":"^1.0.4","array-flatten":"^2.1.1"},"gitHead":"6ed068352307b88732a8f010bfc34c1a0b1c0357","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.2.0","_shasum":"74ad2c6f1745cbeb4f97430d5bb41fbf62e5e454","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"74ad2c6f1745cbeb4f97430d5bb41fbf62e5e454","size":2977,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.2.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.2.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/fsm-base-0.2.0.tgz_1487197504917_0.3115978231653571"},"directories":{},"publish_time":1487197505611,"_cnpm_publish_time":1487197505611,"_hasShrinkwrap":false},"0.1.0":{"name":"fsm-base","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.1.0","description":"Finite state machine base class","repository":{"type":"git","url":"git+https://github.com/75lb/fsm-base.git"},"main":"./lib/fsm-base.js","keywords":["finite","state","machine","base","class"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md lib/*.js -l js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.0.3","tape":"^4.0.0"},"dependencies":{"array-back":"^1.0.2","array-flatten":"^1.1.1"},"gitHead":"ce226cdce62d2bfcb044982950837549f55cfbd1","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"homepage":"https://github.com/75lb/fsm-base#readme","_id":"fsm-base@0.1.0","_shasum":"6d57898798dc1a083559c789932a1bffb224ebe5","_from":".","_npmVersion":"3.3.10","_nodeVersion":"4.2.1","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"6d57898798dc1a083559c789932a1bffb224ebe5","size":2446,"noattachment":false,"key":"/fsm-base/-/fsm-base-0.1.0.tgz","tarball":"http://name.csiicloud.com:7001/fsm-base/download/fsm-base-0.1.0.tgz"},"maintainers":[{"name":"75lb","email":""}],"directories":{},"publish_time":1445802658439,"_cnpm_publish_time":1445802658439,"_hasShrinkwrap":false}},"readme":"[![view on npm](https://badgen.net/npm/v/fsm-base)](https://www.npmjs.org/package/fsm-base)\n[![npm module downloads](https://badgen.net/npm/dt/fsm-base)](https://www.npmjs.org/package/fsm-base)\n[![Gihub repo dependents](https://badgen.net/github/dependents-repo/75lb/fsm-base)](https://github.com/75lb/fsm-base/network/dependents?dependent_type=REPOSITORY)\n[![Gihub package dependents](https://badgen.net/github/dependents-pkg/75lb/fsm-base)](https://github.com/75lb/fsm-base/network/dependents?dependent_type=PACKAGE)\n[![Node.js CI](https://github.com/75lb/fsm-base/actions/workflows/node.js.yml/badge.svg)](https://github.com/75lb/fsm-base/actions/workflows/node.js.yml)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard)\n\n# fsm-base\n\nFinite state machine.\n\nEither mix it into an existing object:\n\n```js\nimport StateMachine from 'fsm-base'\n\nconst exampleClient = {}\n\nStateMachine.mixInto(exampleClient, 'offline', [\n  { from: 'offline', to: 'connecting' },\n  { from: 'connecting', to: 'online' },\n  { from: ['connecting', 'online'], to: 'offline' }\n])\n\nexampleClient._onStateChange = function (state, prevState) {\n  console.log(`Moved to ${state} from ${prevState}`)\n}\n\nconsole.log(exampleClient.state) // Prints 'offline' - the defined initial state\nexampleClient.state = 'connecting' // valid move\nexampleClient.state = 'online' // valid move\nexampleClient.state = 'offline' // valid move\nexampleClient.state = 'something unspecified' // invalid move, throws an exception.\n```\n\n..or define a class which extends it:\n\n```js\nclass AnotherClient extends StateMachine {}\n\nconst anotherClient = new AnotherClient()\nanotherClient._initStateMachine('offline', [\n  { from: 'offline', to: 'connecting' },\n  { from: 'connecting', to: 'online' },\n  { from: ['connecting', 'online'], to: 'offline' }\n])\n\nanotherClient.state = 'connecting'\n// etc\n```\n\n\n\n<a name=\"module_fsm-base\"></a>\n\n## fsm-base\n\n* [fsm-base](#module_fsm-base)\n    * [StateMachine](#exp_module_fsm-base--StateMachine) ⏏\n        * _instance_\n            * [.state](#module_fsm-base--StateMachine+state) : <code>string</code>\n            * [._initStateMachine(initialState, validMoves)](#module_fsm-base--StateMachine+_initStateMachine)\n            * [._onStateChange(state, prevState)](#module_fsm-base--StateMachine+_onStateChange)\n            * [.resetState()](#module_fsm-base--StateMachine+resetState)\n        * _static_\n            * [.mixInto(target, initialState, validMoves)](#module_fsm-base--StateMachine.mixInto)\n\n<a name=\"exp_module_fsm-base--StateMachine\"></a>\n\n### StateMachine ⏏\n**Kind**: Exported class  \n<a name=\"module_fsm-base--StateMachine+state\"></a>\n\n#### stateMachine.state : <code>string</code>\nThe current state\n\n**Kind**: instance property of [<code>StateMachine</code>](#exp_module_fsm-base--StateMachine)  \n**Throws**:\n\n- `INVALID_MOVE` if an invalid move made\n\n<a name=\"module_fsm-base--StateMachine+_initStateMachine\"></a>\n\n#### stateMachine.\\_initStateMachine(initialState, validMoves)\n**Kind**: instance method of [<code>StateMachine</code>](#exp_module_fsm-base--StateMachine)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| initialState | <code>string</code> | Initial state, e.g. 'pending'. |\n| validMoves | <code>Array.&lt;object&gt;</code> | Array of valid move rules. |\n\n<a name=\"module_fsm-base--StateMachine+_onStateChange\"></a>\n\n#### stateMachine.\\_onStateChange(state, prevState)\nInvoked on every state change\n\n**Kind**: instance method of [<code>StateMachine</code>](#exp_module_fsm-base--StateMachine)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| state | <code>string</code> | the new state |\n| prevState | <code>string</code> | the previous state |\n\n<a name=\"module_fsm-base--StateMachine+resetState\"></a>\n\n#### stateMachine.resetState()\nReset to initial state.\n\n**Kind**: instance method of [<code>StateMachine</code>](#exp_module_fsm-base--StateMachine)  \n<a name=\"module_fsm-base--StateMachine.mixInto\"></a>\n\n#### StateMachine.mixInto(target, initialState, validMoves)\n**Kind**: static method of [<code>StateMachine</code>](#exp_module_fsm-base--StateMachine)  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| target | <code>object</code> | The target to receive the state machine behaviour. |\n| initialState | <code>string</code> | Initial state, e.g. 'pending'. |\n| validMoves | <code>Array.&lt;object&gt;</code> | Array of valid move rules. |\n\n\n* * *\n\n&copy; 2015-23 Lloyd Brookes \\<75pound@gmail.com\\>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown).\n","_attachments":{},"homepage":"https://github.com/75lb/fsm-base#readme","bugs":{"url":"https://github.com/75lb/fsm-base/issues"},"license":"MIT"}