// automatically generated by the FlatBuffers compiler, do not modify /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ import { KeyboardInput } from '../input-event/keyboard-input.js'; import { MouseInput } from '../input-event/mouse-input.js'; import { MouseMovement } from '../input-event/mouse-movement.js'; export enum Input { NONE = 0, Keyboard = 1, MouseMovement = 2, MouseInput = 3 } export function unionToInput( type: Input, accessor: (obj:KeyboardInput|MouseInput|MouseMovement) => KeyboardInput|MouseInput|MouseMovement|null ): KeyboardInput|MouseInput|MouseMovement|null { switch(Input[type]) { case 'NONE': return null; case 'Keyboard': return accessor(new KeyboardInput())! as KeyboardInput; case 'MouseMovement': return accessor(new MouseMovement())! as MouseMovement; case 'MouseInput': return accessor(new MouseInput())! as MouseInput; default: return null; } } export function unionListToInput( type: Input, accessor: (index: number, obj:KeyboardInput|MouseInput|MouseMovement) => KeyboardInput|MouseInput|MouseMovement|null, index: number ): KeyboardInput|MouseInput|MouseMovement|null { switch(Input[type]) { case 'NONE': return null; case 'Keyboard': return accessor(index, new KeyboardInput())! as KeyboardInput; case 'MouseMovement': return accessor(index, new MouseMovement())! as MouseMovement; case 'MouseInput': return accessor(index, new MouseInput())! as MouseInput; default: return null; } }