{"_id":"@ash.ts/fsm","_rev":"8-a0001da35e2ccc0071eacffb0783959f","name":"@ash.ts/fsm","dist-tags":{"latest":"1.2.5"},"versions":{"1.0.0":{"name":"@ash.ts/fsm","version":"1.0.0","description":"This package contains classes for creating and using finite state machines with Ash. Specifically, it contains classes for creating states based on the components on an entity, and for switching between those states.","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":[],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.0.0"},"gitHead":"0f84e21f41678157866ce14264386c66ef933886","_id":"@ash.ts/fsm@1.0.0","_nodeVersion":"10.15.3","_npmVersion":"lerna/3.15.0/node@v10.15.3+x64 (linux)","dist":{"integrity":"sha512-GLoz+2kyOPFZtTCW44a6SqNGrvF569V0Fiu65927/PvtI7SuyW0BSvQq1TALZx+yuqHqh+VfL0fO8NDq7IDrUQ==","shasum":"3b273820dd389748cdd6ef414257127ee285043d","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.0.0.tgz","fileCount":25,"unpackedSize":101394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDfSLCRA9TVsSAnZWagAAFjEP/0aKmPGJc398DgKJQnUT\nBqNxsSQyjUlxQ2u9KoZpll90bvMUa2GDhDW5btZEmMaojgmeGZJ/utFMrLg6\nbM5bbxapv2IdGKo3WY8MtJTuSpoWiPiyl6Sa2L8L7Exa3QnvKVo4SDsrHecw\nPcaZy9vgJ7WqONLsM6kmmaqUBn20H/OEQeOkxCuqIzr/tYQRtTC5bCSVFONz\nW0HnorCz1O+9nTPp5RJC1Rzg7isjaQeh5zZQToDOV5IFo4cCxTq8jRKjwYMh\nW9rNjopuskW4ApJ4eIrTG2DXlyB5SEplKunATT3PpGYccFJa4b/qGofXUDrA\nFxOaUQS8bI4dQQpCEk2CF0gQooOAM7uXF3grfh3QTssQ3dZkUUW1PUumnnjK\ntrOulfm/EXNZMcrYVA6P6WRb6cwfn0DPj9s4FlNhQvDSGcvrQPAqiExv6mIU\nMR+eZBLbd8k9u0dHHAwz1c1VWOyCfSHR77c8aI0SQLfn/LDVMeP+F/xD3aX7\njw2d5TRwlJV+csKu13CeBE/QYuzMVpbDwScSdYTuxmVtmf7nMeT9ZGuJW2RJ\nCIe7VJt/J7+FpP5Xm3EqBiIU9IM7i+UXpIlkvWb3cuUi6Adh2fj/xtDra6Lq\nkzRA+wt/KJnFbhNqBawQsjsliy71LdVv8CjZYjBBsmSUfsfUXnHUgq1A86d5\nsWz4\r\n=Somq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxEHnflmHN4ss0ADH9sWnafkm694zmYIuUuuwibAFHUwIhAL7jLJS/MXNtqotAqlcNqKGjrEKPwzdWUJ36Xbr5O5or"}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.0.0_1561195658430_0.6888668425695381"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ash.ts/fsm","version":"1.0.1","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.0.1"},"gitHead":"e2bac98347fba2702e98fbbf98b3d2f82406a375","_id":"@ash.ts/fsm@1.0.1","_nodeVersion":"10.16.0","_npmVersion":"lerna/3.15.0/node@v10.16.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-+PxSly0LDrtbMbYpN2p56kRb2oM1J7jxQ45m0Q/PiHXtF8oK3S3FrE6Quch4vbx7HocJv55VaK5ZT5UF7DSBlw==","shasum":"a7de379aa7043cdbe84bdd7849a9b9fe83057c18","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.0.1.tgz","fileCount":8,"unpackedSize":74913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdD/GXCRA9TVsSAnZWagAANRYP/ROOWHfHEb7gg89vcqGO\nb0Sf30MnYo9TdkgEajIMopW8jnMEJvpYr8ja2DsHeuhMpvqlL+veMQxTD0AD\nFB9PiU73ZutdKUIrTqHSaTC9xyEWQYfH8rh9q2xtCE27wUhApYTnP2wid0hr\n2qWL/0xfBR9jBRqBa5QHyMheWsYSeCD9AHWlTcS/wAbdUzknIZX0EM7JwNDQ\nBdCBKdjcpV+BJsJL4inhSt60IUdt4V3/9HiEpQjaCGPe2lplhWjaPxhIfe07\nrWC2cpIOvBgeaqLdnW1DKxsH7mAiVTgXoi3e7RjykbWFC1fh7ZVd614UBKSW\nIay+5Ud24oY81D3R+9U521kREAAEGV6Yvhx3XkT665Ys1Tl7vp6rpGCwxLPW\npKkq7lEr7V/Sl+3upEBndq52PkTLQ7C+e6ibWSnLkTDjwKrZCRzpUTmactQF\nqItQ4c7fWBj5TFK6+Br/gUlDDY7ocUleS0tcbPhF/36rzdXlrK6ZDYfd80sv\nsO3ZuYUXVsmFwB0vAAw2I7Wu9vd560351+dHQIsAclwmnn1/VPLaMx/HDAmY\nX1Kix7BUkM96RHZVG8LU0Sip7nGhxtFlEfQKcQ+OxrW5e9tvvZ0qUDHGCFC1\n/9CCejHllJqV8Tu11rp2gtUUoSWDExxJrlQa0ikVc0IOybudvZGKIEV8QuH7\nTVy1\r\n=1MNR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9ZHh//STvpQzo1BZmzPopItBNHgJw5ahAybAz9RIoDAiEAvmqa9vConPsUEM1vYULiCwGNEVVd3axaCPaxkF7Qb1U="}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.0.1_1561325975120_0.26697427192798084"},"_hasShrinkwrap":false},"1.1.0":{"name":"@ash.ts/fsm","version":"1.1.0","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.0"},"gitHead":"5c77191004aacf602bd568077f34d76505953853","_id":"@ash.ts/fsm@1.1.0","_nodeVersion":"10.16.0","_npmVersion":"lerna/3.15.0/node@v10.16.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-n51GxYJsxsWbfxMoOfVMhd8HWjmpbk5XiBB9WATBe3DSzkCd4/naHDrBB8EeEvGw4QDCXcX7qtFWVHvdxzaHzQ==","shasum":"9b00bb9f0e6f03dd5ca44087331bba2b905a9cf9","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.1.0.tgz","fileCount":8,"unpackedSize":75015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKJ7TCRA9TVsSAnZWagAAY48P/3my8sHQT309xNmHdRBO\nwhjpNb23qJod9FTmrf3TWB91Z/1qIG2Bt4bZjMXWBs+Tl6r/ULhaLdb8/EXY\nJyil0YEgQZsjvLcKIdTRcDUHTZVZOuhqdTbde8a3MISBgzF+2Sei+Myf0sBP\nMDr2n9mYec4yegrFto0o3I8qG3BSsQbdspGBtnRl3ShExbgZpMWovVTRDxVB\nIlvrGYggGSSlZ2Ngpm0L5rQ7m6c/11RdF9611gXHbGHLX5+A8DeJWhEYFWai\nr0DR+4qCA6EeJTdwl06Iq9b0oTs9QcItgZFuGNejYzB5JYsZp1KWIgmRrd/+\n9trFdL2G8YDqFMzBzTn/R1ARMKBkIY0sdZ2qaw3bQi2GEQsRPk57kHL/nek1\nVSQ1poDbWkWM/UNbNY9VbI2PYxUYq7Mub/SPP5A7EiZPcgr8U86tXMy0JqI4\n3bEvvWSqZ9hX54ML9ft6kT5wh/gz11LmWlel3yeqMiPS3gQUeXE/HcQLJXRn\nH0PjbMBdZ36+w8zg32LHGK+3NNX62wWpL1WgWq/HvtgWV3/2vbnYuh7h5kN3\nHpcf+ghkhqQKFil9hrmAl2di3g/5OhyHEDnJX2jKotiveuEmBF3fXiM/jqkg\n7fWVPOZPi4SbD1tgWF8wAh4bA/6qKdZnVHyA9lLTJnQzHhS7A34NOo7HgT+o\n4ezA\r\n=PkOg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWdQJnfsBvKxKomCIGDRjoepAtq4zyBRKG8zZfq4R/AAIhAJlq1RYn6RYVgrQFyywCp9IOTVISX05hxZ/8ZWXolRj/"}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.1.0_1562943186995_0.5219476386169815"},"_hasShrinkwrap":false},"1.2.0":{"name":"@ash.ts/fsm","version":"1.2.0","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.0"},"gitHead":"6796dcbddd70797ab1b0da4d2cf9e565ad4d157d","_id":"@ash.ts/fsm@1.2.0","_nodeVersion":"10.16.0","_npmVersion":"lerna/3.15.0/node@v10.16.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-Qew8Sd5TWs4Oprw6AVYJgNK9+/dQ9kTfnt1VBUc6YHUsu+zodBMxGzISmCWcMUqa3ZD0UGvpcnqDkF7LRfDYDg==","shasum":"86d7120b611d07ccdb4efce03f81f56c3f6228e0","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.2.0.tgz","fileCount":8,"unpackedSize":75136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKyOMCRA9TVsSAnZWagAAEagP/2K/c5aGYq/pWnmeiO7Z\n6uQYMlgMusvjDSKYOXk9fn02puLwPqG2RriNCIPdOe9GuDEd5FNwl2t72TAo\nQIov0AzogGimEPoCgxo7nt5gnWIPyTq9ZPk7JCdGl4MXbefIunV62ABRP5GB\nqbav5Ls49ZDj2jGGRwkgH9YfJU82K5zFcXFEgA3duRPCFy2hUZ6Jc46BpSdD\n/ArE6tIbVGC7Uw13r0XoKW6ju0Qj8YLzN9415uq/K/20Us9S9kDSOwjS8wzN\nwAkdQvAV52bksJ2lEa9mUROrdQjNy92RmET3a6i8fQlD/L56nj8lWFmiP+Oq\nfunTOtLcNJtuexPuL6ve59YNqDBbe4bNmuF4a2k/7mOoI8LS8X2OU1+CNxT/\nIDgQOskL0SRT+o0R7UIkuHskQIDonFa0riy0OEKh1bNjKX1CD9rdmj5SD8Qt\nyWAgir7IqRD9vSPrzJX6wNjoWG926fxYB80HetieADfPdM2zX6V0OhxVY4z2\noPjx2a3gxCTDN7J6XDQp2v2qmY8a8qbDfmUnIrH66Y0evP2YTaiRWtkXU0qH\nsuvZ2N5rsH09gF/UKaQWmhmKF0CJWSF+KtjRK+Zx+R6Yw7LWcqIguBpdSD4b\njX/2i58lBZN0c7d4zvKV6FglyNinJf1vdpxPVjQLIZIES9NhbRiMByw5EGXj\nLw35\r\n=GpkC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWsCSsmQ6UL3zhWexDjfRR91MOyrBsplB6XcU5nnYjJAiEAxAlvcN152WBQ1CAnQQnLeByUd0MadVAeMRTsD0qjHqs="}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.2.0_1563108236003_0.25094865394944255"},"_hasShrinkwrap":false},"1.2.1":{"name":"@ash.ts/fsm","version":"1.2.1","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git","directory":"packages/fsm"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.1"},"gitHead":"6b3f4601514079c663dceb2064b8d255fb4585a2","_id":"@ash.ts/fsm@1.2.1","_nodeVersion":"10.16.0","_npmVersion":"lerna/3.15.0/node@v10.16.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-UPFtuUj8vDtfBmv4yuuQs0dJvM8Hb6+NKaWZlAbCoKqu1ZPM9/ip8OaQl7GddaMToOdGmsr7jyBRXiwL5/GmWA==","shasum":"e80e7d0b9f238a76999dcc2368abfe835313b6d4","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.2.1.tgz","fileCount":8,"unpackedSize":75173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKz18CRA9TVsSAnZWagAAkEYP/0PVaOiUgHOe6qMOmwTn\nahfTwrglj7eAD9GzFR3AznyeFYKBwuHDBQSWLA7HiP43Mz1HFbmcC3kNHfNB\n2qd5LPMMdED9GYOwoK0io32nAT18C9oZ695Fd/+L10zwfXnclfcbW/IZropq\ns7ZMrlfUwhtGt+cJVqj5coIQFU1HLyHjB0+p0CHfutGmHQLS6HLBD0Qz6T4U\nqrXZEyoddPvzflG8LPj1fr6eA+7uKlrszR0oMzAjRaNkZtg3oVZtSax6rJxb\nB07rWTbCn4/bX76XR5223CYNuQ3xhuscbq8NBsrjHEXG7K0O9HoryXQ4aeAG\nP/WWj/+FyPqbuka/fny2pxgYQe2cWPBA8YslQh8lw+m1vb7EYZKVEnDtRBpJ\nBErGt03o1SwucdGHBQOAli4WpaZdy/3OzK3O+wzO6UgE02u5pHZZdsZ0PCIK\nq3I0ECtRC51IkO0SoD41fkV1LBJNflrQ8xLw/Em3zZ60od8FjnhpKkEABkmz\nF0ZQG2czighXpCV+9XWfZs46I8NxoDXfXXRRgaNLAfzkP4AfdGCesBwARwPy\nZPMhIM+GjF0GEVgFktt4Ai95rDDp6hpAueKMAIsaptfTaA4vPZqNgBN71NMI\nA1GNcVQsdFMGNwL5Dbm1O/J3SXicVmmhprCHVMsZzgrHm5929WHy5jZdmaes\nV1GC\r\n=cmLQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfRZwJS3UwVlL+5FadZvU/bYR1OI7pqCbKLXtsbTUTOQIhAKHWHeWK0yScEoR4zD9a3/MzlXo003N+R8lz+LCr5ARd"}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.2.1_1563114875447_0.04601611545012596"},"_hasShrinkwrap":false},"1.2.3":{"name":"@ash.ts/fsm","version":"1.2.3","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git","directory":"packages/fsm"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.3"},"gitHead":"eeb92cd3fc546cda4ce4859f7a8945f5f6f3dfc4","_id":"@ash.ts/fsm@1.2.3","_nodeVersion":"10.18.0","_npmVersion":"lerna/3.16.4/node@v10.18.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-u/zhYGeUhsSY5FkMSydht3qTgNpphgDHpENv/G2aIFRL1rekBwcb1Yj+ODDIB4FTRW8CloOAUUW/Lc6D84/fPQ==","shasum":"86302b6e661c3f57957dee34a85b139ab48dde32","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.2.3.tgz","fileCount":8,"unpackedSize":75175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAe5dCRA9TVsSAnZWagAA90wP/jkxCEO8EMuzSmrHso7k\nXEsXY7Uc+JoGVXIDtz75/Mzixx+AukelByMY58KFkkmzAKpPPqQU04COV2tj\nGV8nnZYiWNThWxnV6emnR2EiqBqYswxDRIcKZYpNF7T/92aDGVJQHRy/InKh\nxh7f5h4Y7I1GxDGe8XOP9I076Uejnn0GSnZp4di+GTFheasJDvrM61+LPaD5\nZ0pF/RJYFrMX1Uz0SHgmb3EJ5XEF/vsoSqQWuzxg58vnknv6OWrSsDAgawQM\nOaq15kiftVoRlkZw2swiot7DLf8AZ0B9ViRd9eixGFa8NGRvY/5JuTXPolgP\nTqjOSVp4y1s5UE9F6Gga59jw1CE3gOsbj8Q5T8yaZ+d1l0hAh4e3Jh/pzPY1\nY7s2hlEJPdafAOYhZt9XynB91YJbQ+apoLHVk0yLiwsNK0236hDulPWDOhWB\nAZy6TtYxMiYnuv2x0D5NImx/6vS3n7thui5pV/QuogtCi303QSyJo5gQCbvW\nQGB1ki1oM+3X0XB7JRAY9O+X4DYSZaBhtP3ZJhe0U33B+pAMJ+Hc84cmJ/e2\ncY9DfuysER3DtSxsMPrEFjyx1czkGRD0v4cmmacoqtPd3dsllDfeHxDokaMY\nr2TuK4oWGjWhJCmGkY2Pea6H6PxYlb01Lh0LQBEvctOmQBX+C/CSf7MS1jog\nKjyZ\r\n=aNTR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6dL3ExAl+ytAxkZZvVkoOpDmKKjN16tKrn4rPMr8OAwIgVU54yPmky8ql/lwlUEBpawojqXJk6K9HzHJQkMyExPg="}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.2.3_1577184861300_0.14021051355629943"},"_hasShrinkwrap":false},"1.2.4":{"name":"@ash.ts/fsm","version":"1.2.4","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git","directory":"packages/fsm"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.4"},"gitHead":"4763e07e92960d118b036b741e2bcccc108796aa","_id":"@ash.ts/fsm@1.2.4","_nodeVersion":"10.19.0","_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-drNn8wrrXV9prT0sMmwP64hgkTs/VAS6uVAyUwinArf/vP/kYLg7ZUjJNtAcREQs/2LwpXffLh0bR7zy1eEsmQ==","shasum":"9a0324aebb0dba20dd7bc25ec13edcb0127d6913","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.2.4.tgz","fileCount":8,"unpackedSize":75236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei3I0CRA9TVsSAnZWagAAya4P/iw4Eot89mlKznj67FP9\ndVhrFuxE786DklG4lpz4FlzS/m6CPJ8jW3+rK5hkRncWWWeXu73wARissbMr\nyTu+RSCp8l+nXU49fNPcoGSUepy5VcqzqnzMkrz+EDXtseJxeecDnrLg0J0m\nS1WUpoJ8Ok1ZGtCpLa8GjH/qdwJYAxCfsnCZBgmG/hG7vWm9ANQBm4sEqkJS\ngPsJIlSXXWA4Aa2IMbdqJUCmhZLsPUBsqXUxtYigJDdhPQaMO/VzShlhZoH4\n+S9AuwxLt1Y8S2L2BTuRHtypQ4Rk6zPNMMgVGxDyj8G+91SY8SALibU29cNZ\n69MdukT5bfAIDh5TzcuzLzp/BSt/VmB4pgWRGYXxij3YJBqqstWKCINBessm\n/xTTIc8K99nOzK4bAQJEVcGr2Mi9ptUsePbvZEE4QoY0M2G8cF79bFzp1GwF\nmCqgf+qmCkoNcZwfc+ZKJNM37oDfjUSlmT7VQe7No97oakRqJgfs2/B/bp8M\n0ToGoRgYn3Nnp5trWspbrJeff4jJN8xImUl+0bwLnESyrzssim+yLyWfeLkw\n0dNNmV6c1Ii7OMOC1JUXF3zqz4VdQKLzSOsJ9BWQ5GMon+CM8V9p+Uo60gan\ntBm5xV5+ho4CEQw/fiOARzX/Ppw+CfZE2p4GcZc+0Rz2nyfTufLe4fP6xRNA\nCefR\r\n=hrhy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEhOksI4x9dlha3rNI8KKf/bhQONURJ0Gat8VL0cwzhzAiEAmE6xRuRBAWS4/mrQxKGWcUFNGZV4nMZRl1nS9AXh6Lk="}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.2.4_1586197044170_0.5010122094467389"},"_hasShrinkwrap":false},"1.2.5":{"name":"@ash.ts/fsm","version":"1.2.5","description":"Finite state machine for Ash.ts - an entity component system framework for game development","main":"dist/fsm.js","browser":"dist/fsm.min.js","module":"dist/fsm.mjs","types":"dist/fsm.d.ts","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git","directory":"packages/fsm"},"bugs":{"url":"https://github.com/icek/ash/issues"},"publishConfig":{"access":"public"},"dependencies":{"@ash.ts/core":"^1.1.5"},"gitHead":"00673c6c69a20a5adfbb2efb06d24a1531d43e4b","_id":"@ash.ts/fsm@1.2.5","_nodeVersion":"12.16.2","_npmVersion":"lerna/3.20.2/node@v12.16.2+x64 (linux)","_npmUser":{"name":"icek","email":"grzegorz@michlicki.pl"},"dist":{"integrity":"sha512-qkYpz95pKKN2PIFsl/Vf0V7uf/qFdnvLpxxA1CewPLrH7V6vsKjlQ8Z8btFJ5y0BYilEpkYdGNrSI+62u/Fy6A==","shasum":"ddc5b64cf040a8df2e8bfb5d24b11c7f06a05c78","tarball":"https://registry.npmjs.org/@ash.ts/fsm/-/fsm-1.2.5.tgz","fileCount":8,"unpackedSize":75236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeopfKCRA9TVsSAnZWagAAvhgP/1++wHatMdUZkqlUHhk5\nVsWGJ2JmIeIiuhf9+6kD6QlwVAdSHJXMY9L9hTxCA+9p65F/OMJiBwgafg0f\nC4XiXXbe4yHDnNMv/FI7BEBayQJImTOLt1phfI/XeFyn5ndQxRQvsMKfNHD7\nJJMcOjM8JRZkYJG9qY4CKPEj9sOyWT+AsPiubewbR6KrEx5ZCkUcQl8YG/7h\no0gRFgQjTmhe0B4LzRsje0XWMgYg6ANFPj8r0uGuvf4JjnQdHYGT9w63IzW+\nfysWFnRYOYwKfQgBYFNiF8Q6zcLeZJ3RJdXA+gB9eav4/D5tzICIX5mLYqgH\nedfBx+quOiuv9BOoHzWfbXtCjW00Es53HhDSvvjThvOLuXRXbFtTbCVhkb/j\ne6IqeAWOu80oc9fIM3+GXydm7kl6dyZWIgZuPuKjasVM9uqKlU6CqYoSZlKy\nzko0wg5UsBaTwseNU2663x8HZJG4PiBneANBNcg0LQDc4psYGzR0uSC1NcZM\nKKDxnJy7Vsbdg5ugyILHMNW8+pM2Ltd5JlbVdWGnniVQjzfuW0I53yWmMV7N\nrc9X4R7VoVTgzgA1AL91aYz9TFUYe5skcKXGEjmgXMscXsfywimGsoUyPT/U\nIxCorkV8QLBGTmQQtx22uEzfsYWe1F/JSRgU1bkTZs1mhtyYntj7wzW6DYMZ\n2Zzk\r\n=lWHz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEL6rqhY/odiNGjdBGvc/EfRDn4n3tTKwbJDQnoHuKz0AiEA4YAgDOJuMgnTbI9Ij0Dz8aK74VqSf5iK3w5Yzdy5mas="}]},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fsm_1.2.5_1587713993994_0.5034543628432657"},"_hasShrinkwrap":false}},"time":{"created":"2019-06-22T09:27:38.242Z","1.0.0":"2019-06-22T09:27:38.575Z","modified":"2022-04-04T15:45:14.016Z","1.0.1":"2019-06-23T21:39:35.256Z","1.1.0":"2019-07-12T14:53:07.111Z","1.2.0":"2019-07-14T12:43:56.185Z","1.2.1":"2019-07-14T14:34:35.578Z","1.2.3":"2019-12-24T10:54:21.382Z","1.2.4":"2020-04-06T18:17:24.310Z","1.2.5":"2020-04-24T07:39:54.180Z"},"maintainers":[{"name":"icek","email":"grzegorz@michlicki.pl"}],"description":"Finite state machine for Ash.ts - an entity component system framework for game development","keywords":["ash","typescript","framework","game","entity","component","system","finite","state","machine"],"author":{"name":"Grzegorz Michlicki","email":"grzegorz@michlicki.pl"},"license":"MIT","readme":"# @ash.ts/fsm\n\nThis package contains classes for creating and using finite state machines with Ash. Specifically, it contains\nclasses for creating states based on the components on an entity, and for switching between those states.\n\n## Instalation\n\nUsing npm:\n\n`npm i @ash.ts/fsm`\n\nUsing yarn:\n \n`yarn add @ash.ts/fsm`\n\n## Documentation\n\nTypeDoc generated [API docs](https://icek.github.io/ash/modules/_ash_ts_fsm.html)\n\n## An example\n```typescript\nimport { EntityStateMachine } from '@ash.ts/fsm';\n\nconst fsm:EntityStateMachine = new EntityStateMachine(entity);\nfsm.createState('guard').add(Patrol).withInstance(new Patrol(guardPath));\nfsm.createState('investigate').add(Investigate);\nfsm.createState('defend').add(Defend);\nfsm.changeState('guard');\n```\n\n## The methods\n\nA finite state machine is an instance of the EntityStateMachine class. You pass it a reference to the entity it will\nmanage when constructing it. You will usually store the state machine in a component on the entity so it can be\nrecovered from within any system that is operating on the entity.\n\nA state machine is configured with states, and the state can be changed by calling the state machine's `changeState()` \nmethod. States are identified by a string, which is assigned when the state is created and used to identify the state \nwhen calling the `changeState()` method.\n\nStates are instances of the EntityState class. They may be added to the EntityStateMachine using the \n`EntityStateMachine.addState()` method, or they may be created and added in one call using the \n`EntityStateMachine.createState()` method.\n\nA state is a set of components that should be added to the entity when that state is entered, and removed when that\nstate exits (unless they are also required for the next state).\n\nStates within the state machine are configured with component providers. A component provider has a method to\nprovide a component to the entity, and a second method to identify if two component providers are equivalent -\ni.e. if they would provide an equivalent component.\n\nA component provider implements the `ComponentProvider` interface.\n\nThe standard method for adding a component provider to a state is\n\n```typescript \nstate.add(componentType:ClassType<any>).withProvider(provider:ComponentProvider);\n```\nThere are shortcuts for using the standard component providers\n\n```typescript \nstate.add(componentType:ClassType<any>).withType(instanceType:Class);\n```\n\nuses the ComponentTypeProvider to provide a new instance of instanceType. instanceType should be the same as or componentType of a type that extends \ncomponentType.\n\n```typescript \nstate.add(componentType:ClassType<any>);\n```\n\nIf instanceType is the same as componentType then it may be omitted.\n\n```typescript \nstate.add(componentType:ClassType<any>).withInstance(component:any);\n```\n\nuses the ComponentInstanceProvider to provide the same instance every time it is called.\n\n```typescript \nstate.add(componentType:Class).withSingleton(instanceType:ClassType<any>);\n```\n\nuses the ComponentSingletonProvider to create a new instance of instanceType and provide that same instance every \ntime it is called. The instance is not created until it is first required.\n\n## Chaining\n\nThe methods can be chained together to create a fluent interface. For example\n\n```typescript \nconst fsm:EntityStateMachine = new EntityStateMachine(entity);\nfsm.createState('playing')\n   .add(Motion).withInstance(new Motion(0, 0, 0, 15))\n   .add(MotionControls).withInstance(new MotionControls(Keyboard.LEFT, Keyboard.RIGHT, Keyboard.UP, 100, 3))\n   .add(Gun).withInstance(new Gun(8, 0, 0.3, 2))\n   .add(GunControls).withInstance(new GunControls(Keyboard.SPACE))\n   .add(Collision).withInstance(new Collision(9))\n   .add(Display).withInstance(new Display(new SpaceshipView()));\n\nfsm.createState('destroyed')\n   .add(DeathThroes).withInstance(new DeathThroes(5))\n   .add(Display).withInstance(new Display(deathView))\n   .add(Animation).withInstance(new Animation(deathView));\n\nfsm.changeState('playing');\n```\n","readmeFilename":"README.md","homepage":"https://icek.github.io/ash","repository":{"type":"git","url":"git+https://github.com/icek/ash.git","directory":"packages/fsm"},"bugs":{"url":"https://github.com/icek/ash/issues"}}