import * as tg from "generic-type-guard"; import { Subject } from "rxjs"; import { subMenusStore } from "../../../Stores/MenuStore"; export const isMenuItemRegisterEvent = new tg.IsInterface() .withProperties({ menutItem: tg.isString, }) .get(); /** * A message sent from the iFrame to the game to add a new menu item. */ export type MenuItemRegisterEvent = tg.GuardedType; export const isMenuItemRegisterIframeEvent = new tg.IsInterface() .withProperties({ type: tg.isSingletonString("registerMenuCommand"), data: isMenuItemRegisterEvent, }) .get(); export function handleMenuItemRegistrationEvent(event: MenuItemRegisterEvent) { subMenusStore.addMenu(event.menutItem); }