1// automatically generated by the FlatBuffers compiler, do not modify 2 3/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ 4 5import { Attacker, AttackerT } from './attacker.js'; 6import { BookReader, BookReaderT } from './book-reader.js'; 7import { Rapunzel, RapunzelT } from './rapunzel.js'; 8 9 10export enum Character { 11 NONE = 0, 12 MuLan = 1, 13 Rapunzel = 2, 14 Belle = 3, 15 BookFan = 4, 16 Other = 5, 17 Unused = 6 18} 19 20export function unionToCharacter( 21 type: Character, 22 accessor: (obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null 23): Attacker|BookReader|Rapunzel|string|null { 24 switch(Character[type]) { 25 case 'NONE': return null; 26 case 'MuLan': return accessor(new Attacker())! as Attacker; 27 case 'Rapunzel': return accessor(new Rapunzel())! as Rapunzel; 28 case 'Belle': return accessor(new BookReader())! as BookReader; 29 case 'BookFan': return accessor(new BookReader())! as BookReader; 30 case 'Other': return accessor('') as string; 31 case 'Unused': return accessor('') as string; 32 default: return null; 33 } 34} 35 36export function unionListToCharacter( 37 type: Character, 38 accessor: (index: number, obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null, 39 index: number 40): Attacker|BookReader|Rapunzel|string|null { 41 switch(Character[type]) { 42 case 'NONE': return null; 43 case 'MuLan': return accessor(index, new Attacker())! as Attacker; 44 case 'Rapunzel': return accessor(index, new Rapunzel())! as Rapunzel; 45 case 'Belle': return accessor(index, new BookReader())! as BookReader; 46 case 'BookFan': return accessor(index, new BookReader())! as BookReader; 47 case 'Other': return accessor(index, '') as string; 48 case 'Unused': return accessor(index, '') as string; 49 default: return null; 50 } 51} 52