package dev.inmo.postssystem.client.fsm.ui import dev.inmo.postssystem.client.ui.fsm.UIFSMHandler import dev.inmo.postssystem.client.ui.fsm.UIFSMState import dev.inmo.micro_utils.fsm.common.StatesMachine import kotlinx.browser.document import org.w3c.dom.HTMLElement abstract class JSView : UIFSMHandler { open suspend fun StatesMachine.safeHandleState( htmlElement: HTMLElement, state: T ): UIFSMState? = null override suspend fun StatesMachine.safeHandleState(state: T): UIFSMState? { return safeHandleState(document.getElementById(state.context) as? HTMLElement ?: return null, state) } }