@ghostry/finity-solidjs
Version:
Finite state management with exhaustiveness and transition enforcement for TypeScript.
1 lines • 484 B
JavaScript
import{ExhaustiveSwitchInstance as e}from"@ghostry/finity-core";import{createEffect as t}from"solid-js";class s extends e{constructor(...e){var s;super(...e),s=()=>{t(()=>{let e=this.state(),t=this.cases.find(t=>{let[s,i]=t;return s.includes(e.kind)});if(t){let[s,i]=t;i(e)}else throw Error("[finity] Invalid state switch!")})},"use"in this?Object.defineProperty(this,"use",{value:s,enumerable:!0,configurable:!0,writable:!0}):this.use=s}}let i=e=>e=>new s(e,[]);export{i as default};