import { Component } from '../components/component'; import { SettingsPanel } from '../components/settingspanel'; import { Container } from '../components/container'; import { ListBox } from '../components/listbox'; import { Action, Direction } from './types'; export function isSettingsPanel(component: Component): component is SettingsPanel { return component instanceof SettingsPanel; } export function isComponent(obj: unknown): obj is Component { return obj !== null && obj !== undefined && obj instanceof Component; } export function isContainer(obj: unknown): obj is Container { return obj !== null && obj !== undefined && obj instanceof Container; } export function isListBox(obj: unknown): obj is ListBox { return obj instanceof ListBox; } export function isDirection(direction: unknown): direction is Direction { return typeof direction === 'string' && Object.values(Direction).includes(direction); } export function isAction(action: unknown): action is Action { return typeof action === 'string' && Object.values(Action).includes(action); }