//### Module ###// import {Manager as _Manager} from "State/Manager" //### NPM ###// import {interpret} from "xstate" //####################################################################################################################// //##> Setup ##// //####################################################################################################################// let singleton: ReturnType //####################################################################################################################// //##> Exports ##// //####################################################################################################################// export function Manager(){ singleton ??= initialize_Manager() return singleton } //####################################################################################################################// //##> Core ##// //####################################################################################################################// function initialize_Manager(){ const manager = interpret(_Manager.machine) manager.start() return { send: (manager.send.bind(manager) as typeof manager.send), } }