{"_id":"@browndragon/sm","_rev":"17-9ec2d15ff026ff69216bf832a19d0426","name":"@browndragon/sm","dist-tags":{"latest":"0.0.24"},"versions":{"0.0.8":{"name":"@browndragon/sm","version":"0.0.8","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"7922305e681fc50e23edac76ca3db03bb635e727","_id":"@browndragon/sm@0.0.8","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-MywiAR1ESomTj4RulXNCqazlzMwRK8ppDvrM6beR4HlEoEplHQMPIVuOAes+dwWa51RrVo2Pc7mqWt58xUVqXw==","shasum":"9934b509cdb31a197b09ccb8e0cd79036bcdb759","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.8.tgz","fileCount":5,"unpackedSize":11573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff09gCRA9TVsSAnZWagAA4+IQAKQChnxzC3YoeM1OhNI8\nLhP55b7clQascA6WpiVF/AnwscBdmMi4EFiyN2u0sB3FOhM7iUg4HGm9UG+a\nXqjTu4wP0Bg79xWl+H+Hsb3VHjpMrDXw0QR/aZMCgl5c9/Fq5KXga3C4YOQM\nNKKSOt14DAVMnJIHjGT0BDxpi5lE1y6Xvi4m9yqVRaANNm7D0zd7BDY3Kq5Y\nwfJ/LI4sVEoukVnEHw8M/1ridwp4S3bwwiwi3V9AptKvwrq8eHpZ8jIGH7JS\nrucwugbpDRCWmHV9J7l0x4zVX6ypZgy4MXF6U8T+kONDsJtwiHll/Hc7b4Lq\nPrcTnBNpiL3lt9V9WRKCMWUdLCJxA+kBZAgPhoj+AUhSZwBRCGLdq+5UCKpF\nHISVTuZFjTmlXp8CByi4YAmEaTYWJQHYGHLfeU9fTyYKpLT6qUo1hhnLZuRo\nNg9U7m5xyT3sowCMk1zEz9B06xhuQj2ipAqYEERcLi3MLc3Bnr6qrtqqzWun\nUQDoFGSYKyt/kPGzx8SbiUhBu4QNyD/T20M7Sijmrgqt/zeddh3izoHHw8+H\nDmXURatLnzLbRpwbFpfrU7HS0uzm6JRrfacTW0a5ONOpC6F0cpIWsj4puje2\nzrKUitCh7Lq5AEvEIOJUFJZ1SxfTYwf52oT8OIKPGA4AJqE1G4G92+qgoJRu\nk0EI\r\n=UrVc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBi4HkUF10T4QCjew7yFWMjT5EGaHgqRTw54A/LcAei2AiEAtt1Herk+JdEYWfG03wO98S/gvD87WCH86mE9HDWW+uw="}]},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.8_1602178912455_0.08498956721438478"},"_hasShrinkwrap":false},"0.0.9":{"name":"@browndragon/sm","version":"0.0.9","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"7816a2c0c5b874e666cb0318fe902228cbdae19d","_id":"@browndragon/sm@0.0.9","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-X4ItCBDmJB6My5Pxg48dKOWijnWJ3FjAXnncXVTWE6nYnW/rh7qe6aXkJ15S/vbfuOaWqJxThCLMJukaxaTqFQ==","shasum":"e39a148b438f856aafcd901c13ac5af4e130ea71","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.9.tgz","fileCount":5,"unpackedSize":11573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff2riCRA9TVsSAnZWagAADPYQAJR1VROmk5ht0eJGfE8c\nA8O1I/bx2UgQCMeu1CJgvsWBgDmXwY0ZTHWa5tLn9xCFDiwJujLeJlHxjfcz\nCPRiRYyqGHwMPK07Ual34BzGxuqVu178P2ywhmpA8jfOP2/t9bFEZUNsvrta\n2wrXNt17TNErEBpmhLmFjGMCAGcYTcN234CvOPvpn1m5ZppUDTwia58zlCfp\noGWbWbi/egDgLjZRmenGdSrjArn+I6vIzbWa0wLtBWlYTmBn14ZtwXODgqnE\nOPgm7xIniHr5J6JqWxP9+fEXbdaHjIwi4hH+z1PvGdm7kL0r8OBvmd4MB3fW\n/B/OmJxIBGLR7ez+r2QOpQTo+urxxoavv4yQrovPdUOJus8JerDf9acgp7bS\n/S+WgPpelcd+GRIdGQDZS2oj3WZweVvw+lyW/I3luDURSF/98MeO/VBCI1Xv\n02WOyEeF1c9zr45lSyQXCVZF0cYqRqplvvq77alOOr/2jXM38sSRJ7IwLXpG\n3u68hpCYlhIeIp7TltjnTBAHOtKdw9TGfpD1GuqSuKW8IaleUSDEyozKLTt5\n0ZnfchwlHZUMiK1Oa2HLMxcRqH9+ljCsk6xrsxxVdyeWME9ccOiKMoWHnbwQ\nvhsQWBJYsKg/EQhjjJGQ+3SMedcKUSwqiV34bCOXAjMd6dzROdmTZTOynJP+\nJoV1\r\n=WslL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChXtW9OKV32J93FcO7d4bb8YPhSBNa0bCS0JmVTewfgQIhAI8yTvqi2XE5tH5l0uQYa+d4MDndkK8wp7WOBQyMz5Y4"}]},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.9_1602185953605_0.2890311495304174"},"_hasShrinkwrap":false},"0.0.10":{"name":"@browndragon/sm","version":"0.0.10","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"3158843b7eebca13e54c041bc4291688ace94f27","_id":"@browndragon/sm@0.0.10","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-N4yymAM+nZPBTQUYeAT/cQG0ULGo8qNXArSjzAfT8xZsw2BjYqMUq6Ki0puumJ3X71yt6aHq+awneXdx5LUTMA==","shasum":"ec3e0a8eb0f94e5bad7092c03619e7bf068c06a7","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.10.tgz","fileCount":5,"unpackedSize":11757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjyGlCRA9TVsSAnZWagAAvOAP/jp6nNacHf29o7MvDmIF\nzEUcQaIerE/iw0oMA7azhavkCE96q8yMmC0sdUQBd4NBN5VR6FfvsHkrWMG3\nW3SJzRkVNeOs86QOzN5YyneoZfytLf8atF1RHn53bwUFXlOkd8k4GmsyvBdx\nZgzGAoVkvxK8k0VL4jiv2AFenTncoK/ehtLtH+oy0b13IznXUSmU1/GWZrbJ\nXoC6zpZwRfu5BjagPhuALR1YYpH5IBCL/6tNlsQ7hRSFrvU9eqZJkhP0lDeS\niVeGlSDCHGLwFyAogQizS3BFUVNWPFjDazxC+ptTOfBX22qOkWJDnoiI25aW\nYCx2gL1Sf4q3THHoiUL5YVtDaJ34RV0IzVaarOXqbehetJorzuOITXltZXTw\nT+bTKmRSg7neGTFGI/GHNQt7Zm37AHHOT7RcAbeW4RnbxyKmeNaPRWC6Y2yY\nGU520yLN10bElbFAr7UkUwtEeSg9neL2q++ZVoY7deIlP/ReNKwU8OoenLlf\nrberMwd2GQMhZswEXW33OdJuwhNn+2jM+K/OVlrkO7mqhrwN/6BRchOGly6S\nA/2ma0maKByw7e0k3OkBa3DTEIe8aQEIvqrCZMrm5mDKrKEWnieObd1w1XO9\nVLXvkREbQSsTRsP5jMqKRLeo3PU7HnSlHO+PUxS2IcXYEcx6BM0uhuuw+scB\n2IXo\r\n=G34O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5cbsFRdZ7LYUKOV4ChQYmWIzTj/Sj13OxonGqcVj/bgIhAIcDoSFE91NpwmiKqMYYArsSmqdv9nKp1tbyJDXQ865v"}]},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.10_1603215780929_0.9704543486752366"},"_hasShrinkwrap":false},"0.0.11":{"name":"@browndragon/sm","version":"0.0.11","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"263620dc09db23c0729e6eb216af03912ef05545","_id":"@browndragon/sm@0.0.11","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-FcsvFLxn40wgOpH9TYB0RHIUQf8oim776NeV1YRSlbA31ABgQT9IGdA7V5WbMga1OJLogB0Ia9i0WqfVWufMbQ==","shasum":"f020d3b20bac28c682f69d51058ac17145ebfea1","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.11.tgz","fileCount":5,"unpackedSize":11757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjy7ECRA9TVsSAnZWagAAmvwQAJann+QMwHPWdTc7p6a2\nOrVrt0ky19VFDhZZTEV3E/GvpESDsuCRBecdvyDaQrFMCIN/hZcfX58goNkt\n/rXrghfRUUC2CSBfztryfeHvt016FHQclzwDzDo6SrX46cld/0Xvt2CYWZiE\nYMJ0GlN139SDXihO1qKQ6N21wq4LT0sS9lURWxnxWBbEnhgWF+YIpS+EoQPS\n1T1Wfb1w9T9vxV5sfTu1AswQkdlebO+ltlzp9P7VlKEFZia4h+Ijy1pE5FgL\n1rJyfoamxkIcOsibSlngzIIdCI362EZYu1PCdF5BdjdIzDiTZ0S3Bk9pmWV7\ntPnCsFC5LBqxZMvEnOE5wGff5mO5k+kn9SBahE1KtfX0gCDg7uLz/WFpoc9d\nhccJYyiVC4ic6JsxI/uo4StNbPLseG5buKjwGIXzM6nG3AWlFxanLSZrRFNj\nkvh/UOXQco2EW7a6poIqgTODDtKE01gZpt5pEkAqkT77RjVInUHNHoT2s0Mq\n7g8fUOTgulN7CaP4KxhVy1fAy9L5KuVpZ2/uoivUD1aJxJslIcOYLaKtQN24\nDdOKSOyGCc2ugHolaHn2udxUuM9pRXiXPvHh/7WYTPxoTZ0yDobvegtBncKl\njDiBeKZLUp+8CXA7zZ9NX/S3VZRAhhM8zyh7OhscF/RRbqBDqTZcqD2LQP1M\nZ8Wp\r\n=I7D5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw/OHxlj+YJjUrg+3aYS1WXRBbKls/TcrD/ts7M0NWjgIgbqu3qWbXCUGSHEykuMJAP4dugoyhtcslRCibsK2wtw0="}]},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.11_1603219140460_0.1659435364389077"},"_hasShrinkwrap":false},"0.0.12":{"name":"@browndragon/sm","version":"0.0.12","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"b8dc78ede5384fd355ac3fd560c54fcfa366d902","_id":"@browndragon/sm@0.0.12","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-UZoo3Njf0HewEAG2HhAixBWY7p38Soq3BlPyxFuPmG0lLUvC/tJyhk6Xz8A7sxsVIBpQtGj4M6rQAqVo8lpqNw==","shasum":"e4644f254dc6d15ba6b88031d0c5e5f674b95b75","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.12.tgz","fileCount":5,"unpackedSize":11757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD3pVCRA9TVsSAnZWagAAQAsP/jBCSKYaui8I7dd7/1Ar\nPlenly9nyGUIvWukgYLCq7RzS3k5RR4jN9RvazAIaC5LdS0L4KhtvdICa0Hb\nhvX1EIQZJmozUUwiG/V37KeCim20sKExj3i3biOVW5pAjEq63mu+vYDjospp\n0o1YIC1spBSs3EbZm+7tle+7Fxx3xIWsx1Z/WO3xuWq+wzECijkZc5bzKH73\nyuVtZNNklYTLvXqt8x17d10GPNbOUYkg70b2WBooLcYYQqRqmAfZwM4n8e94\n1ZdNNBf3GSWWgCKeXZ+Alv3KrxZQB+wsTfbggyiZpMyrIgKB0bEvQvfE4DN8\nQX3mqKpnIPS+astFcHLomexARBbknOSzsJxnPqFemfvfhG68zkSYeKAb0svW\nb4FnO8XpnCOJmaNuvHsdmo6++MtbvZxoUCr7QP9AVtSL3mB8KQpvwtOSyEex\nwtAXAUgKXoctS8hchQxTmRiJXimP/VjLGNImvy5J+ysgCUsDAoUFUQovxtbV\nHmp4RZ9qchkQ+lpwPO4XidFsTTWLhvGSLKe3GkjNZD+n4Sa2VHwUeFXliXBZ\nr5f6BQHvd4uzrmH6W6UPqXcMVndtieexu5HURRsspjlvsZagtXdnBtDL+56M\nJCgqTCfA6t6yJUYI8EaQpqVERznsxMJqdXWuFN+Vi+MEk6v4h/GhzY68jUk6\nyuZf\r\n=7Ok7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtgET0rxgPycSobwLxl4mE8Zw5xehTA8FIol8StAtEbgIgel/PlqGnYdXSq9QAMJpUFfmZu2TpOznIRFFjt3FjZqs="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.12_1611627093475_0.7050426116357611"},"_hasShrinkwrap":false},"0.0.13":{"name":"@browndragon/sm","version":"0.0.13","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"afd8869c326ac4627b8482777bcec511cecd9d6c","_id":"@browndragon/sm@0.0.13","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-fTkuWuGE9gRiYlktB1rrUtboAL0wftsIayIAvBA4j07ZNt0Cv7uqMlc3ZYVL7WtkubXFUGvEuNOdNCL7OVdYkQ==","shasum":"4d8c1d356931f9b0b5dc63f6197527851cd2540a","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.13.tgz","fileCount":5,"unpackedSize":11757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEFV3CRA9TVsSAnZWagAAe+EP/0UmG9WaVNuy+YevNWER\nZsFdRTVHY4rfoGRTTsKYO2UW9BFmDbvwVuESRchSE6r3vfV2BRp32BlOdeeP\nxJFWl63hOOEodQTae9AVgFJvPqy6K8Djy8YVbZL3F0HzPvvD6p6GLYMBUAbZ\n6t3zPcNG+U23VOISPsgVl3GWDQ3p3xYsxz1nVteucKvhFQe9UNGufDHIUrtt\nyY9oZouadrGpke6ODgz6G1xpqaGoSIOaAPuS+SOY+EKSnBxnDzmGJZfdnkKe\n4uiufJX7nNhxlhELgbczfX1ZXF3ahCzSnb3v/ib5BxjXLkR1ar6WY6IzmxB2\nBHqGSw/6TH9J8xd5IIZEzNdRFbQuNCxRH7017gNpKGs6L7XNleVjFxUOl/h8\nBvj20o0vOl/loFKp3JSGo2MV9odA0QsGhWydvuFqad4Eh/ISKUxRBBSTN80Q\nHRssYGwgRZObGwG5kpUexnFuxCAqsOKxZIxakkTzK3oumktaCYAff4lhHoUL\ngiHS4fy3FZxzxLEUHJzI1ib1PFAH/PUu/9i9b4TxO1XhZ83dA1EprhC/9Wfv\nOlzNajBsAivpci1ZDDBfZ8zmC9R4VhyyCQt0oBFA9BJEx17X+FbKEZFjt+7D\nd+UzdhqJFUU+j5i5MnUk0Q/mJW2t7EsX3wO1MrIVPMFyoNc8nECMvnj1PvGi\nYRhl\r\n=pBUy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtiWQ19XDuPxeeGViVl42tRgWUUzpPPI7GFijOiJRTuAIhAPOgGcDIVXbJ74u7stCGVsc/m+bNIPIKVAKTFiIwNI9Z"}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.13_1611683190592_0.825875083014072"},"_hasShrinkwrap":false},"0.0.14":{"name":"@browndragon/sm","version":"0.0.14","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"1b3d47b781bfb02c92501b8fa0a8670bf7e8a4a2","_id":"@browndragon/sm@0.0.14","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-Q2kxb7yYjGfQaPLe7P/Iy5SDAE4nMRPgsyqFpsvaM5khDEXDsSag1ahUxR+qb1G7AqYq/gPd258pQVK5L0p2PQ==","shasum":"cb833cfe3bb63f461830a139abc67181aac10f85","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.14.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUOPyCRA9TVsSAnZWagAA6eMP/1vgQyxE2HRlCZAcI4Xj\nbp5+7fapSywCnpT/PRtxPenF0+lchXq7VBcwcrU2AT/RcoQe2WEBaDMSUUqY\nlbIi+GCcHbLEqDYthT4QE+xtOJfECeTRLZByLnkVjYm44/sfRQ9T2vRkFpGx\nZmPdPlh2zr/6GAYr5MvYz+xCv8S6Nr6PwP0QPUxbNJQIqHVmLlHjPPqgzjxU\nfs9Bvxw4uwXDtVIxrMYVYBPtDZUveKEQIz+yCR4/6B32zFuJqqprPOIrA7eZ\nmYQsLD82Qjb2PDmu14c0S+V+5pOP15L4NLi81FbCVJcyzWQv7H3EXyUHYFTn\nu4xU9dXLgP6FcshoR7+Rs2SOQTpnXG9lzgx9mjM/Z6jVB89Hix6RXiURpAGz\nBxWXALysVzhPAAugu7KIACvelfbXD8V2UsItP9d1QrrdmAPD3Ra7mt0rcff5\nmsLBxXxzDV52f8CYqlvfiZGjKJU83+/p083AXqeK3aiN124y5OnRVP3Mi115\np9RLHieHvBBs+l12//9jx9kvHurcUe0DQKA/mSumXFSbpurEXZ1EtFtJjL3m\niD5R6Euuv6iJ578uhbC2jP6vGOmvSLaT+vwUL+1hduXJtU6wBCkE9Dnj0buO\neU64doZcLWJAPNH4geD6fq7PJphdiXAvDNXpwjyHhR3YE9JpbaybdsrvjAyP\nCYWX\r\n=YU70\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE457XbYy1i7zhm0ZDiNtH00nwYm82ajcoq1YzI2Ui7gIhAOonSBf+KwOj9b5OqFQuNxI6PMNHe8S75P7FZwxB7Gxt"}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.14_1615913970213_0.1775077319023335"},"_hasShrinkwrap":false},"0.0.15":{"name":"@browndragon/sm","version":"0.0.15","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"bb05232c2f9838554b797e4373a50d28c0bbee73","_id":"@browndragon/sm@0.0.15","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-6KbtzzsA3OPoU12PRMxaBs0xQ2Fy/+16mgZk6cFIxRLKYQHyfo1hinCu1L3P+Qp85YPhP5zLVUBIepd0CoakWg==","shasum":"dc3e200fc18f19d671f59f44b3d1695ce32e5064","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.15.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU9PtCRA9TVsSAnZWagAAsNkP/1IeRMcM6wmBEUOsYkuY\nh8RJ7ThrWZsIAqEG5dCHJswPgmCvdRc289TRWXpUCudZaIM7oOxSBi2EReBj\nngvzRuRB7Or3oCLaz5o2ZM3j5jynb9h0ybd31RtdiNLx7DCVEif/U3VfEqDQ\nTiR6hyA56nYgCHN5R+ImyottR6dOf8QKAd3wBL3RJkcsoj79bZlyOevuJ/8k\nZPGUfYkLcyJr1YkGDBDf33hFst2joqurpUzIBXcVR0tHkoBNfsZkvi91jZKp\nGYcnkB84SnWHhlaYut1jTj95MZZNMGdqqh9TWhb6UUErKbNEnFR6TTpTp+Ps\nLSl6quUOV5P3KZsPwQYMWK4moLE67O/Kv3aSvg4kSV7D19oM+PI7iBvE5wSx\nJu8LtOPAMH3v39sOREV06aqQ2iJQEu4tcCK4AEPyR7IFrXbj7191qvraE5bP\nBJp2xctaJ1a/1SooVTPdhWz5OF1/Nxswr/g9WUdWX2CLc0dWP1Tl261JP4DZ\n0jXmCXY7E876tzA6HxyGQZ9HwSzylgsqrKlaexYnZl75/XpSK+pjRLhAZeQE\nNlvaKQSzDZQq5pBiV6taXJHNREXysqI99HiqZMAYba6IqeWgFwKsD0YdRkUi\nQNnrykbFu2CXwWLtglqHy/XxMIBkNHPwnmWWVFLMlqOrqm0+kdbRWDPmVzNZ\nTUTR\r\n=9lGM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEc382fVVpUMyllu5I4UZI9MK5q5lbaFHh/3YvBlsfxPAiB6wlygYPXix+H4Ymna64HP2e7yWSCydo5ag7TLZLn+rw=="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.15_1616106477021_0.34655032788930096"},"_hasShrinkwrap":false},"0.0.16":{"name":"@browndragon/sm","version":"0.0.16","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"7d5e31beda2651f57be3ae4b573a794d1ae006a6","_id":"@browndragon/sm@0.0.16","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-toOqv3xMdWAiofzfwlxEUiiUSjl0Y5Y6787SPB2rTA8vmO6e8Z1q55gDsHAZZF5W+SrIvHk0FOrUEFSTGjzx4A==","shasum":"d9b739a80d2d8d3af156281fa3157b6882718572","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.16.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW1l2CRA9TVsSAnZWagAAaTsP/iG833aQgm2Bq/QhGONk\nNowBtaiMXxn1MApq6hDxeffxLZ11uzlr5+pqb0kV0EgFF6oM0rZm79hqpHmx\n0yixde1cAMq3HJenoMZyOeTUwLilMtFdDkRh+IuMeCnpMIuWuqYoJo6oZNZm\nNFxnArNpYNxFavLLcm04iIreN/mho0PQOuPsxO0GyaFrzb+r/JgOV+NMzuRy\n0jcWpGNas21mPBiOrq4scHpZgT0roXaXLAe10DjdvHuInfyzhplpAvc3Q94W\nYfGQN+neJy2E0rS6Ts/QbY035KGbMBcbiYyHLMbW9y/F2yyXm4vCao/zRZ1s\ngz9QjfheaJdXb/JvlSP1AVsu6Y7r/s+BSWaV1YQzPFUxWFeXpUTAm8MrTViK\nBlJYKfFrItT5fAt6GF62dxy6jceGbkpO4rYUuPJS0U4e/F8eC52ikfYiT66F\nlhALr7yafVFK2v0SAKozmA36oyVT81Hm+JDjVwPmdPmMZCFK/Lnjy15OYevp\nLV2OqWdgeZ2oT6oi8WcWHRpZsLCaEiqrxayMyGQgEkdkMBkJME0TCV6KJkyM\nkDTnTIJ28aH/FMeCDDTJFaHV7eOvEiMPkZ+U4N3pYlPG0JRbQK6mSpEVoAJj\nIZV7eGvSlPdWRpkF5GR1Qkh1VoHPbRCkrt0OpD+t4DcCqGDGCcuorCiAvzta\nFy9K\r\n=7jLw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtsHz6fba406n9zCfywxSyOqXQHLxC4HUI5n7iOmMbvQIhAOgMsTVBcpNdkOiwImrlhljvWDz73F6DJ2hVPcSH5BcV"}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.16_1616599414380_0.8950387171417062"},"_hasShrinkwrap":false},"0.0.17":{"name":"@browndragon/sm","version":"0.0.17","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"5c4d57c2751a8d2704a4e9eae3c06861044fb989","_id":"@browndragon/sm@0.0.17","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-Ek0yQaByR88QpL0ohml0P77jacuPLCjpEvmwyaGg3AMy0POYzsEkJPvkoWLXu8qEbttyjPTpIghmeR/IlZ3pgA==","shasum":"86c7d17e2fbe6a0e7f6ea3ac05adab794cf180d7","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.17.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZL5lCRA9TVsSAnZWagAAqi4QAJaeWsnchf2hWJoKH5UV\nuesNN9Vx4RuWMK3hqCDtlNqljA7mgLlJ8qC68XHYLtNsrDy6sUGfYQAQTfZc\n2kmWtfLlmHycLlayxYAdSZ6b11EDtKqCxp4ATvJ+wVskxjAJ2CchnO0XUmxO\n+FSSYk4b0HvU5vgK0SXvzsA9NZeeOgRMgjZPrzSnFtG1DrHZ7zTGkyGQtz8b\nmawn8xVt33X+fWrgMZsYR9jTskfH7lKUcmPn/6loq0kkztKPxCd1dZGYL+X8\nfdsc+KWGUEtWLzZjeggFeKEJtIjE56Jlge58Fx8edN/1GdWgZr3S2BJhXltR\nhhOen8Q7IDgF3gsepU05xxpD/ySw2bx4YqPqnHasJfATz2klHk1Iwf0G+SpC\nfIMJIZYwVJ6qTYgCa9/LbEOUa1FoLCins5HDRPbBmd4dNF7GjXR8FkIusYve\nZtiLo1Py+vb+z/B4aNVNb+kZ9D18bX3Ha4k4lZNcZU2DzaT1Hw41DmZa7qvv\nnxSaoAlMGVoUup90Mp4PvXGhpR9/MpP/lxokNVwfON4IOwh+YHHhTvJwQtq1\nyEWlIPDKjuPdSiCUhFKfhcs8dVxwnJnh9pmhMYU0d7i0fHA8iZ5PHE7kEYkC\n+XyZA4PIb0mz1bVUaTUIs3d0k/HbnvNPDNbfEW0kx+x2BaPTXlMwq4DDOMwa\nsA91\r\n=n3CM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQtlfIzOI4+0TQr1QyIFHR9o/Sw5xs+AIbRk4+PZ9qlwIhALvbvsVZN5o9162diGdA2eI17LXh5L/0G7fSeDG+l3ec"}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.17_1617215077191_0.7137104638802749"},"_hasShrinkwrap":false},"0.0.18":{"name":"@browndragon/sm","version":"0.0.18","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"9137d61f9a3d2e507a5a79c388367a6c912e268e","_id":"@browndragon/sm@0.0.18","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-//FcuLJpWXPekZEqIhdGLpChsWlD6xmeso82xN7ZTSFfyKp/q03QcujoQXgNeaXVOA6PUoDqUbFx3SYv5gsKxQ==","shasum":"d52163997af2b6f57df030c6e3bb5b38471ab19f","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.18.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZi0pCRA9TVsSAnZWagAATw0P/AzV7afJncc4viz7RkZn\niukwJJlICSVqVkl32lfhrDmjNdcuWAD8QW6ZDWhvN04T4XTP3n7GBT7IIGwD\n65cRiLXeb32WkClvXXt6OQNC6cp6cuV54Ai4XEEcyAdHl0GLn/s3vCVhbUkA\n8JoFZfwbRxDHhXpJ4w9Em73bNfScUWibsL7cF0wpecKg3wMQXQaXpVCH8unv\nAc53dt1QE/PaXCWLCZ6qdoA2fMLO1PcDr3LSqu/RZlw5oDHygPqWGx524cft\nl1H3V2ynKlLd3+RAYduSh+tlgHgcgncnIX8TFoSgmoTDwyKpOTB742jFlShe\ntS3rSWb+/3C8cKChcq9xWWuDF7WaZ1IopqsLKKVuPkuNAHBPs8LB9sc+eNG4\nvkLSZKWmv6wx0QttPo45iYRixjtPjXJy5bFjTuUvlXE+XgX6EQSETEIrt+Ot\nUB/c50dDJ8R1RaKkfNK4MhgSBcvI033ekfuRcXhz6oICVhL1hz8+71RaDvsj\njgFdRa2bj0lWCCF8Pj6HbbCGpVpRV1CC09FJj5nOGrwcex0Eq+oEEAh2mx0Q\ngZ/72keS4bmFjFJrkvNCHI45xI7DVUS5sDO7xlRi5nFp65z1F8CvQfDjxnEe\nNb5x7INuSi9Lft8rAzpfkbP+BLebCG5UBdgkTLJ/lqkPKZ1mZ+x3C2zfSdEb\n4wfL\r\n=M2hy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZKKaNwS7EVDxEVxQcQLChm87N/VmOxuSLI+yRevFwHAiABAL+cC9yQE5hiNT0d9SsgTyx+YnnmgDOqPheCgpSWnw=="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.18_1617308968652_0.49024660553808164"},"_hasShrinkwrap":false},"0.0.19":{"name":"@browndragon/sm","version":"0.0.19","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"f545e19869dbdff79dc571976ca5320fb84b0b6e","_id":"@browndragon/sm@0.0.19","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-N76AdswyKZBMrJmYEvxSk5aIN7RRHveyCIbVDEwL9pkutg75VSv7ROe0WVHIjA8QWI4mHRw0KpGhAlx6yH8d2A==","shasum":"9c8f481f607cca1a363881224c584ee8b6f4f5e7","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.19.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga4F0CRA9TVsSAnZWagAAJBoP/0MtWRpA/52nMVGfm6XA\n95cAzXRBy48eEQfSvKG724wrWWhMjAsqV5qi8p7qAKTK3Ftbas4P3n8QguT1\nqWaF/Gjrlr0eBgkoTRtVeAmvkAn1gXYu11UuO0d5yxzKxj2wwWRWCsJSmwXC\n7D2kn9icNLoAxy1gEUeQAeCwiOBBL25XpPzoeitegwjnH5HxSR/6GHtCWIgX\nnj9PvagOtmgERK3Qwdm9r9B4pQRA9ZSFbBZ5oBH9nS5OrXoqDT7quxImxP6O\nClVUAIN/5y5MZvBninFx9qrE/EATQJL9n90GYSo2dHXHmGnrtPnwSklxhWgc\nNQUNX878O7pOTe8Efc0s+xBkrA0Q11PizKQSbS/FRJlWv+4p4r12cORJJJNg\n5eAxRM1hni8EFp8esnj+PzQtdv1P+jw98kVu4TGaE03ZWCJqzRrI/hhvbHuo\nnhYkbZFXfagRLZN+tAHqGQWlwe1NigDIEBxQte8oIXEOrlF+enWpxUsRAO36\n1awTNHHvJP2XqBJgQ5SYF2h1OwaV+78sHjhMPUP6IGoAW/ZbEoohPxuJGzQl\nBGjgtKFichKVvyPlK/fZMx3vVg/3XfQW7mIbKzb8lYHrSspe86gUv7SCenr1\nGFuK4G1sKq2DduHLYK01nXFhD0dtJip2H/9Y/KrXDZapiq1FlOCqeG2mRZ0Y\n4tQW\r\n=5X+2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB567KBD+cspM1hK9MtYVzvJDZYxQ0WqwThaGqdls/jkAiB9bctI/pcpYqAgxt58hjuqlxveMffCp4tEDPK5FuYCtw=="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.19_1617658227802_0.9895695291285067"},"_hasShrinkwrap":false},"0.0.20":{"name":"@browndragon/sm","version":"0.0.20","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"632cf36d2e10081551ad3bd1c462f89547011487","_id":"@browndragon/sm@0.0.20","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-mBXotZd7YWOP9w2SlHeh7gHOd4I375xFEZKPtEzd3HTe6SXl8cGfq2TQVnnrTaj0SY811/i+6PCvnKLjay6BDA==","shasum":"43e1fc858196614f56addee116bf2d0cf1c10728","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.20.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdyxQCRA9TVsSAnZWagAAF1oP/Rd6BIbZWoKzBXK7/7Fw\nq7NQNt/eL+LVyN+azTmbr38auA10iGdlb6ehtvUidCX143eqFCE04nWQTk8V\n3sppMq0z4doQ5iIbUBzs/VtyVDDgODKv74jfk95GyszgokQen857oIcrpdwW\ngFJp3KWvzx+Dv3zkOyss00BHTAyY+ScGcjCZZd+aBD4wGBtSjL4SwjXsg3lU\nO7VgGxkOgmRXwWvGO95IsoQgAjjhUOOZ3pDw+EYR2QrY/hALtbWvxUtbj1iZ\n4bx4v+S8ThuRLMv+7YPf2b1IGegoEbUHjA+ODf2S3h/LQcFhhzssP+W386lO\nDINYBMCXd05C2/6aDnjdqyF7dfFQkqFUbvE5x1IdBKKN2BVCZzR1c9suPtYo\nsb1ugndXgGRjcLevn5OIKZm8bKWRf3ckY81f7GGNoheZJhVgO1bKoU+U+BgD\n6nmS1ejV2W8ZHP2uYyW+GAXSkCpAzdnygCld5z30PlC38rk9HM6jDMyghIzc\n1LRTbj/kEZ6JCuHJumQQ+hpkSQJFNnF4krd8tggvrLWrTKGstS5WqPCRnUvA\nu/cSXl+GGw6smyBt3qhQ6dp3XMHC1QDNHtpnLZUb/5VPOWKJ6+98Uajqxg4N\njQ6DnRvz4bpYT+6lcAq6gtpNFrb848qqvx/71cRss6MhqK2c+6mzEs3IsWCN\nhYQE\r\n=YajC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFaHDqJk+JwqkWE+sml+wrFdAlCG1yXITbrp0rlV4dWeAiEAtEg8sNSouJyoMifFmrANPzr7FFFdxCutX32Ss1Q0W2U="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.20_1618422864229_0.801937930131178"},"_hasShrinkwrap":false},"0.0.21":{"name":"@browndragon/sm","version":"0.0.21","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"bc0a13b85c2ff581ad0331f3194b9ceb851943d5","_id":"@browndragon/sm@0.0.21","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-kME5BNtpATk5xjLIc+frh5ux9PBwtILkkFZAJK5zx0nuugmVBE9cXSHBaxpzc8YF//8GVGrcgtO4w082AKZ0xA==","shasum":"dbd061d295c1cb107f73a72257eb7b6eab536a33","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.21.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeKYpCRA9TVsSAnZWagAApAgP/1m3UzKWCE0YkKg7Qw3w\nonBvbNwSlLhDf46xfWgHJzqYvejDV3CYRoemUzw8VECqKt1JYbU4Wu9mh1sm\n/9sC6zkId5VVxwH5/Jyp7Qx2AmsOnR5l6YRMAl6T9s1iawGuTmHJK9OAhEtp\nh8WIZqORaLt4RHNgRQK7RQStPTh3swZigAJUonXf5PIJpC60BuYXrh4oYYZc\nu3XVYunzCT76BoC8OF0vtD+UjVbMZDzPIvbfMI6BUa9r/Du1Q+rYk8SDyjPF\njifq8RSfPZgHlYpkfCCLJH/W9JeI16WZKT/8LKTxNKIay6Keg/zJwTYAPRaM\n+3oVRohb+8OQOygLxwvjV3lti8I9ScEsRpC61FDjzPpvS7Iy9LObgw02LU/Q\nF+enwaXos1f+VG+yKHgToRStiq3RDSb7zCNdUjBPuk+hazC3Nu7Pu6wyWFGB\nPbqSL/CEbnSnKcZuBbr2BgM6cvEtHi39ghPspHf3hAhBibfJXmWX4AgX4RpO\n0smIzBp93OpfgT8m3sIRtdBhoWZhKdBQVV+N0eCdrZ0ZFYtaYG2LyMMt/p9K\nvo0Dl6fxWT5AIl2FJgVgF6tdDPc1L3N89WB7edkUyRtiP3LQsgSpjWDY8unT\n0UYKGfzORsu/ieJrxiCrolVtFgV/h040JG14Ymdgr+Z3p6NgCJSkwWG/o/l8\nMqLZ\r\n=1yG7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFl6d8b3Lnft0QYL7ImYAMRTTQhqehGlDoei/0Ob53zhAiB3DTDJ0jTDcsGoJJVBuktQSqrPHQ6nIefS4szDUclERA=="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.21_1618519592817_0.7098908683377836"},"_hasShrinkwrap":false},"0.0.22":{"name":"@browndragon/sm","version":"0.0.22","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"3476ddc4a84d95aee6ee2d7c6134caf2bd387bd7","_id":"@browndragon/sm@0.0.22","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-dVPtmQybSKAelEFjALhfJkJD9483imCVpvntNjGREZkCxrrfLENe6CnrDMVVRW7G5CUNZlccHMkR1Z7G/Nq6/g==","shasum":"44a1fc77be4a1bc15acad8ec3a8fea9319569974","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.22.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeLt7CRA9TVsSAnZWagAAf0IP+wS8RpyZCZOWQMY1rnU0\nzWxNg4RQmjGUDbL0hdwH+qeTRpRC5/o7kg7JhyqFqCTNNDSufLdM1NaSiYaf\nnGvXwLYE6Y7ZCaDYmG/nqHbK5NlrlV+Dg8DJ9qFbMttXiHfZzg0izPbTgsfg\nS7P1nqAMEkVG02ZvjKicWfo2Xq5TrdQqADFeH4MND/wCBxN43oTsKOcDF+sT\nQ/8rdy+je6Zh/L2Dy1lB5flAN1JpYPw9mQtLg/tAAO6CCRzzCoYrgpuKgi+d\nYtzLLiPNN+Ez/BCp7nPjFZaJOhGzLPiFRj0uSgVwY7jAco0qOHYEDz9fnnfP\nK2xGQn9U6+/jPj8bOXXSkXYTNeG02vhN0JUdOfCrGcFEQtDOkyMiIa7RY659\noVEnzR0Wrii+9X5K2gRFLHK/lpRK0vmZeZtjY+vkZxKdDEVj9uCXDhOqW1RJ\n0fRmaD/Tf6cyE32TK61bFi+UW76eCdq1HEw6RPDChH6bMultFIH1Via8nFT9\n5CvM9sRl9wPM/JwctfGLmiFVSKWbPsTlwSB0QLhYA3O3B1/Dv2AEnY+k3uF/\n852QorCA7CZ0D5x1UW+mz3uaPWfeW+cEVp4pw8LaOUO2WZ7/cze3W63Ul5SU\n4HUHhaVBo4sSmIwiM9hTReivgxv1VhfiGpF85O2X6kR8ZVEvLxwlLVLeb6sX\nFKAG\r\n=dL48\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxVdPQr1evO4PxS0uBHNImuIJI7f0CC0k+v04ykdfcbAiEArgb8Wvvyvj92omyY76Jblvr/sXjMfeehaecYvMEUq9Q="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.22_1618525051073_0.8307853241383576"},"_hasShrinkwrap":false},"0.0.23":{"name":"@browndragon/sm","version":"0.0.23","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"3b868a2bf484557e04f03d1e5812c7f36d70bdc7","_id":"@browndragon/sm@0.0.23","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-Yn4BmeeJHsslhj8Q7KNV3Yx4PeDq8f1GcqBNgLUwtbO3+3jxodMo9jjyX1FLTrem2IQFoiRtBkRWwBrGzWv8fg==","shasum":"b832e3168aaedfac06367da8a798d0f7ad0f9f18","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.23.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkvzFCRA9TVsSAnZWagAAxAsP+QElLiV9UICg7GPZsWrr\n8cggQ6tas67LOe+JvYgEk/USRy/pcVSI3PlK6v0fYbWlXuwpw2aAINt2W/xH\n5MYbMG8vk882KmjtmnNMKCZA2Pho7Sz6BUfnAXyIruAqRmvqLrSjZEc79hAO\nS/K9GpwlG8EEHfxvSDq27iONV25EcYY4Xpm+RiDMc+DQ3wtaDPfoS6Qbv7Xv\n1wr5OFQ058gzj1WJMPYjrYX5fq9b4Vfp4lAjpzrZpSYKjw3kVQ2rHNPJEvFi\n9HAY33ux+shvsf7s0NvjJFSp7SseOP53ZeIcO8QWsvwujaib9j65R9zxC1hH\nFeEYbUXuumXqHeSn3kLV9hzV9OXPgBNZUyyvWMMiGcTnEyqu1iaHPKyKaBL5\nyGt5TluGX0n0bqHfuvZjEaco2vJO8wsWWzmYeAZj37V9AmU3LqACjus3dv/m\n0BZMShcopM58GeRRue/AI7MmCY2nQaMa8iQpjKY8KnkJ3pg17/QtWgz2AKTl\nnyssi0vM7ecrPm4Y/3dsSyCoTvi22YNFL1QNW0V+TxNkyJe4tuub57UxL51b\n2/x9JjvdxKA2D9JAAvpZFu7rYC/VWkqF8FxMlqdxilhFpjD9sUzs7THgy1n9\nSrzZHtAsKRZBa0nf3tJiLqGPVrYn1I9Qn2jARfbL6yjYuXDK4764z7FXrLkY\nLhvR\r\n=E60x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1znSecm8Cc/jELNfw+elekEPAJMS22sl6vOo0+4CypwIga4k1gYwqXjx8k3dh5Ym2iqCVPELVkuwOnNfTyoKULUo="}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.23_1620245700883_0.06310577343418466"},"_hasShrinkwrap":false},"0.0.24":{"name":"@browndragon/sm","version":"0.0.24","description":"Tiny little functional intrinsic state machine.","keywords":["statemachine"],"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"homepage":"https://github.com/browndragon/lair#readme","license":"MIT","main":"lib/index.js","module":"src/index.js","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"gitHead":"501543c3c960719d3f960c2c57219608563c7374","_id":"@browndragon/sm@0.0.24","_nodeVersion":"14.4.0","_npmVersion":"lerna/3.22.1/node@v14.4.0+x64 (darwin)","dist":{"integrity":"sha512-Hr4vWb7+Yk1VPHQnYc+njrvaiN9joZQrD9JI3BXU/5lxpJQpBiBuSQkLNxyqgCOqknllYkkVTJ94TZ76MQuVng==","shasum":"a76150ef82c8f17fb55ab62023eff51ed4e267e2","tarball":"https://registry.npmjs.org/@browndragon/sm/-/sm-0.0.24.tgz","fileCount":7,"unpackedSize":23837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpuC6CRA9TVsSAnZWagAAQIUP/R5nkDoU5KKc6ogWjCyB\nAcvDt8Rlm+o289+pI3slkBXJ/Su0mYSDUx4pywCawy+JgkqgaqIUahXV5zWF\nk/9Rk2DmvHdV/Ktej9rnr1DNNAw9J+XYCypvj2ePLgIAICDZnc8hvtsziblP\nFuBDH8V8DXEHUQmYoF2v4gt/4oLsQMOde57sTI5lMeQQEt5osQMyiCgOcRCF\nIytgAMFS9p3wlrab0ELX2/I4OEUD03T4dbCZTzYYJs43qGq10AqZq+yvJJAB\nuQRKT3JoFWysgz8gSzNU6aq3GJGFR27dOD46GEy2R2SJxIM6t+IuAjMMsC13\nkMsCU5QOlka9UVneg4AGEjDj1c8ZpqqczaIKjrmA25koMXtAURb7L9ltIEh6\nrLQwM3/j1nclVYbjRBiZ3Pqjxk4Zbb9516F0t74nmMz9ZbKBELyChEXiHPKE\nyAEf7lJusE7LhxgLTVzp5ipArNMG2Mmqu56Zs28k6JriZVcpWSiLS+hkzw2x\naAtGJOQ/s01SlPCv/SdpXOQnHLzYFQe8KbXoKLd7UXKhjPg5a9SnzFO8ZWwB\nqeGkeakHfWPNgpA8IH03INdzZt8Z+Q0LQUPJHt0BuFJu7vxJmnbLwliXzgPy\nQMLVIjaknhVWnt9K5HsLDHI3BCi8jyAtk7gQEKktXnHbcEDdsnYo/DEwQV8H\nAfSM\r\n=b3ex\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWjmsbOPcLa7TqZgB6HuWnvA2LA4NQN+vKXyZvqTHBWQIhAM4X57MilhgZxl2cQ576mXvHhKd+V1KK+3mfhEVMiOsi"}]},"_npmUser":{"name":"browndragon","email":"browndragon@googlegroups.com"},"directories":{},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sm_0.0.24_1621549242509_0.2805043349831631"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-08T17:41:52.421Z","0.0.8":"2020-10-08T17:41:52.537Z","modified":"2022-04-04T20:46:28.417Z","0.0.9":"2020-10-08T19:39:13.733Z","0.0.10":"2020-10-20T17:43:01.065Z","0.0.11":"2020-10-20T18:39:00.591Z","0.0.12":"2021-01-26T02:11:33.608Z","0.0.13":"2021-01-26T17:46:30.748Z","0.0.14":"2021-03-16T16:59:30.370Z","0.0.15":"2021-03-18T22:27:57.163Z","0.0.16":"2021-03-24T15:23:34.626Z","0.0.17":"2021-03-31T18:24:37.356Z","0.0.18":"2021-04-01T20:29:28.838Z","0.0.19":"2021-04-05T21:30:27.924Z","0.0.20":"2021-04-14T17:54:24.389Z","0.0.21":"2021-04-15T20:46:32.954Z","0.0.22":"2021-04-15T22:17:31.221Z","0.0.23":"2021-05-05T20:15:01.019Z","0.0.24":"2021-05-20T22:20:42.660Z"},"maintainers":[{"name":"browndragon","email":"browndragon@googlegroups.com"}],"description":"Tiny little functional intrinsic state machine.","homepage":"https://github.com/browndragon/lair#readme","keywords":["statemachine"],"repository":{"type":"git","url":"git+https://github.com/browndragon/lair.git"},"author":{"name":"Brown Dragon","email":"browndragon@googlegroups.com"},"bugs":{"url":"https://github.com/browndragon/lair/issues"},"license":"MIT","readme":"# `@browndragon/sm`\n\nA tiny little state machine driver.\n\n## States\n\nA set of states is an object made of methods that expect to be called with `this` being a state machine, and one or more parameters:\n```js\n// src/onoff.test.js#L5-L8\n\nexport const States = {\n    off() { return States.on },\n    on() { return States.off },\n};\n```\n\nYou could also use something like `import * as States from './states'` for a file that had `export function on() {...}` etc.\nEach method is a `state`; a `state` is a function which returns other functions.\n\nFor concenvience, the cursor (and its slightly more souped up cousin Machine) are both javascript iterables and iterators. When viewed this way, their `value` is the method they will next run, and they are `done` when `value` is falsey.\n\n## State machines\n\nThis module provides the State Machine implementation `Machine`.\n\nYour primary interaction with the machine is to feed it an event, which you can do with `next(...params)`, this will automatically call the current state (called `value`) in the context of the machine instance with the indicated params. This returns the next state which will be entered as a consequence of seeing this event.\n\nIts constructor takes only a single parameter: the state to enter on the next call to `next`. You can reset the state so that the next call will enter the state of your choosing with `jump`.\n\nState machines mediate each call to `next` with a call to `this.wrap`. If you define `myStateMachine.wrap`, then that method is responsible for actually invoking \n\n### Machine.value\nA suitable method for the state machine takes any number of arguments (it's often convenient if it takes no arguments!) and returns another suitable method.\nAll state machine methods are invoked in the context of the state machine object itself.\n\n```\nfunction stateA() { console.log('A called!'); return stateB; }\nfunction stateB() { console.log('B called!'); return stateA; }\nconsole.assert((new Cursor(stateA)).next().next().value == stateA);  // A called! // B called! // passes the assert.\n```\n\n#### Machine.done\nSince the machine is defined as an iterator, it's also possible to write:\n```js\n// src/grog.test.js#L4-L25\n\nfunction init() { this.food = 0; this.hungry = 0; this.sleepy = 0; this.happy = 1; }\nfunction decide() { return this.hungry > 0 ? tryEat : this.sleepy ? doSleep : worry }\nfunction tryEat() { return this.food > 0 ? doEat : doHunt }\nfunction doEat() { this.food--; this.hungry--; this.happy++; console.log('Grog eat food!') }\nfunction doHunt() { this.food++; this.sleepy++; this.happy++; console.log('Grog spend day hunting!') }\nfunction doSleep() { this.sleepy--; this.happy++ ; console.log('Grog enjoy nap.') }\nfunction worry() { this.sleepy++; this.hungry++; this.happy-=2; console.log('Grog troubled.') }\n\n\nfunction grogAdventure() {\n    let m = new Cursor(init);\n    m.next();\n    console.log('You are a neanderthal for ten days.');\n    for (let i = 1; i <= 10; ++i) {\n        console.log(`Dawn of the ${nth(i)} day`);\n        m.jump(decide);\n        for (let _ of m) {}\n        const {food, hungry, sleepy, happy} = m;\n        console.log('Grog is: ', {hungry, sleepy, happy}, 'Grog has: ', {food});\n    }\n    function nth(n) { return n == 1 ? `1st` : n == 2 ? `2nd` : n == 3 ? `3rd` : `${n}th` }\n}\n```\nThis is not necessarily useful in the general case (since it forces the operator to frequently use `jump` to restart the state machine), but it's instructive -- that `for(let _ of m){}` line \n\n### `Machine.wrap`\nWrap gives you the ability to specialize & redirect handling by *replacing* the call to `this.value` with a call to `this.wrap`. It is on you to ensure the current `value` is invoked, often via:\n\n```js\nlet x = new Machine(someFunction);\nx.wrap = function wrap(...params) {\n    // ... preprocessing\n    let retval = this.value.apply(this, params);\n    // ... postprocessing\n    return retval;  // this will be the next `value`.    \n};\n```\n\nYour machine will transition to whatever `wrap` returns.\n\n> Note: History is maintained before `wrap` is called. This means that if your `machine.value = A` and you call `machine.next()`, `machine.prevs` *will contain* `A` by the time your `machine.wrap` is called. \n\n### `Machine.prevs`, `.prevCount`, `.prev`\n\n* `prevs` is the set of all states which have previously been started (so the last entry is the currently executed state).\n* `prev` is the state immediately preceding `value`\n* `prevCount` is the map counting the number of times each node appears in `prevs`, so that the first time you enter a node, its value will be 1, and 2 the second time, and so forth.\n\n\n## Example State Machines\n\nThe `Machine.wrap` can be used to handle cross-cutting behaviors:\n```js\n// src/onoff.test.js#L24-L41\n\ntest('OnOffEnterExit', () => {\n    let machine = new Machine(States.off);\n    let log = [];\n    machine.wrap = jest.fn(function(...params) {\n        log.push('before', this.prev, this.value);\n        let state = this.value.apply(this, params);\n        log.push('after', this.value, state);\n        return state;\n    });\n\n    machine.next();\n    expect(machine.wrap).toHaveBeenCalledWith();\n    expect(log).toEqual([\n        'before', undefined, States.off,\n        'after', States.off, States.on,\n    ]);\n    expect(machine.value).toEqual(States.on);\n});\n```\n\nA simple machine that makes choices based on system properties:\n```js\n// src/water.test.js#L5-L12\n\n// Implements triple phase of water WITHOUT sublimation/deposition, so that\n// water goes through liquid on its way from solid to gas.\n// There's intentionally hysteresis: water at 0 is a solid if it was a solid, liquid if it was a liquid.\nexport const Water = {\n    solid(degC) { return degC > 0 ? Water.liquid : this.value },\n    liquid(degC) { return degC > 100 ? Water.gas : degC < 0 ? Water.solid : this.value },\n    gas(degC) { return degC < 100 ? Water.liquid : this.value },\n};\n```\nwhich you can use:\n```js\n// src/water.test.js#L15-L21\n\nlet machine = new Cursor(Water.liquid);\nexpect(machine.value).toEqual(Water.liquid);\n\nmachine.next(0);\nexpect(machine.value).toEqual(Water.liquid);\nmachine.next(-1);\nexpect(machine.value).toEqual(Water.solid);\n```\nor if you want to get fancy and support sublimation *from outside of the states* -- this is generally a bad idea, but it's being included to show off the technique -- you would:\n```js\n// src/water.test.js#L53-L71\n\n// Insert a pre before every call that automatically makes the state phase based on temperature.\n// Note that this skips the proper phase: if it should have sublimated, this doesn't call solid at all, but merely\n// ensures the state execution of gas directly!\nmachine.jump(Water.liquid);\n\nvar log = [];\nmachine.wrap = function wrapped(degC) {\n    let state = (() => {\n        // Patch in support for sublimation\n        if (this.value == Water.solid && degC >= 100) { return Water.gas }\n        if (this.value == Water.gas && degC <= 0) { return Water.solid }\n        return this.value.call(this, degC);\n    })();\n    // Log it.\n    log.push(`${this.value.name}-[${degC}]->${state.name}`);\n    return state;\n};\nmachine.next(101);\nexpect(machine.value).toEqual(Water.gas);\n```\n\nPerhaps you instead need some sort of countdown latch behavior:\n```js\n// src/sozu.test.js#L5-L19\n\nconst SozuState = {  // https://en.wikipedia.org/wiki/Shishi-odoshi\n    dumping() {\n        // This doesn't NEED to be implemented here, but it's a reasonable place to go.\n        this.capacity = 100;\n        this.fullness = 0;\n        return this.inline(SozuState.filling);\n    },\n    filling(amount=0) {\n        this.fullness += amount;\n        return this.fullness >= this.capacity ? this.inline(SozuState.dumping) : this.value;\n    },\n};\nlet machine = new Cursor(SozuState.dumping);\nexpect(machine.value).toEqual(SozuState.dumping);\nexpect(machine.fullness).toEqual(undefined);\n```\nThis example causes the step which overfills the sozu to automatically transition into the `dumping` state (potentially with side effects), which resets the fullness variable and immediately transitions back into the filling state.\n\n## Usage\n`$ npm i @browndragon/sm` and then in your code,\n```\nimport SM from '@browndragon/sm';\n\nconst sm = new SM((() => {\n    const x = {\n        on(){ return x.off },\n        off(){ return x.on },\n    };\n    return x.off;\n})());\nconsole.log(sm.here);  // 'off'\nsm.next();\nconsole.log(sm.here);  // 'on'\nsm.next();\nconsole.log(sm.here);  // 'off'\n```\n","readmeFilename":"README.md"}