UNPKG

@ghostry/finity-reactjs

Version:

Finite state management with exhaustiveness and transition enforcement for TypeScript.

1 lines 480 B
import{ExhaustiveSwitchInstance as e}from"@ghostry/finity-core";import{useMemo as t}from"react";class r extends e{constructor(...e){var r;super(...e),r=()=>{let e=this.state(),r=t(()=>this.cases.find(t=>{let[r,s]=t;return r.includes(e.kind)}),[e]);if(r){let[t,s]=r;return s(e)}throw Error("[finity] Invalid state switch!")},"use"in this?Object.defineProperty(this,"use",{value:r,enumerable:!0,configurable:!0,writable:!0}):this.use=r}}let s=e=>e=>new r(e,[]);export{s as default};