xref: /aosp_15_r20/external/flatbuffers/tests/union_vector/character.ts (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Worker// automatically generated by the FlatBuffers compiler, do not modify
2*890232f2SAndroid Build Coastguard Worker
3*890232f2SAndroid Build Coastguard Workerimport { Attacker, AttackerT } from './attacker';
4*890232f2SAndroid Build Coastguard Workerimport { BookReader, BookReaderT } from './book-reader';
5*890232f2SAndroid Build Coastguard Workerimport { Rapunzel, RapunzelT } from './rapunzel';
6*890232f2SAndroid Build Coastguard Worker
7*890232f2SAndroid Build Coastguard Worker
8*890232f2SAndroid Build Coastguard Workerexport enum Character {
9*890232f2SAndroid Build Coastguard Worker  NONE = 0,
10*890232f2SAndroid Build Coastguard Worker  MuLan = 1,
11*890232f2SAndroid Build Coastguard Worker  Rapunzel = 2,
12*890232f2SAndroid Build Coastguard Worker  Belle = 3,
13*890232f2SAndroid Build Coastguard Worker  BookFan = 4,
14*890232f2SAndroid Build Coastguard Worker  Other = 5,
15*890232f2SAndroid Build Coastguard Worker  Unused = 6
16*890232f2SAndroid Build Coastguard Worker}
17*890232f2SAndroid Build Coastguard Worker
18*890232f2SAndroid Build Coastguard Workerexport function unionToCharacter(
19*890232f2SAndroid Build Coastguard Worker  type: Character,
20*890232f2SAndroid Build Coastguard Worker  accessor: (obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null
21*890232f2SAndroid Build Coastguard Worker): Attacker|BookReader|Rapunzel|string|null {
22*890232f2SAndroid Build Coastguard Worker  switch(Character[type]) {
23*890232f2SAndroid Build Coastguard Worker    case 'NONE': return null;
24*890232f2SAndroid Build Coastguard Worker    case 'MuLan': return accessor(new Attacker())! as Attacker;
25*890232f2SAndroid Build Coastguard Worker    case 'Rapunzel': return accessor(new Rapunzel())! as Rapunzel;
26*890232f2SAndroid Build Coastguard Worker    case 'Belle': return accessor(new BookReader())! as BookReader;
27*890232f2SAndroid Build Coastguard Worker    case 'BookFan': return accessor(new BookReader())! as BookReader;
28*890232f2SAndroid Build Coastguard Worker    case 'Other': return accessor('') as string;
29*890232f2SAndroid Build Coastguard Worker    case 'Unused': return accessor('') as string;
30*890232f2SAndroid Build Coastguard Worker    default: return null;
31*890232f2SAndroid Build Coastguard Worker  }
32*890232f2SAndroid Build Coastguard Worker}
33*890232f2SAndroid Build Coastguard Worker
34*890232f2SAndroid Build Coastguard Workerexport function unionListToCharacter(
35*890232f2SAndroid Build Coastguard Worker  type: Character,
36*890232f2SAndroid Build Coastguard Worker  accessor: (index: number, obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null,
37*890232f2SAndroid Build Coastguard Worker  index: number
38*890232f2SAndroid Build Coastguard Worker): Attacker|BookReader|Rapunzel|string|null {
39*890232f2SAndroid Build Coastguard Worker  switch(Character[type]) {
40*890232f2SAndroid Build Coastguard Worker    case 'NONE': return null;
41*890232f2SAndroid Build Coastguard Worker    case 'MuLan': return accessor(index, new Attacker())! as Attacker;
42*890232f2SAndroid Build Coastguard Worker    case 'Rapunzel': return accessor(index, new Rapunzel())! as Rapunzel;
43*890232f2SAndroid Build Coastguard Worker    case 'Belle': return accessor(index, new BookReader())! as BookReader;
44*890232f2SAndroid Build Coastguard Worker    case 'BookFan': return accessor(index, new BookReader())! as BookReader;
45*890232f2SAndroid Build Coastguard Worker    case 'Other': return accessor(index, '') as string;
46*890232f2SAndroid Build Coastguard Worker    case 'Unused': return accessor(index, '') as string;
47*890232f2SAndroid Build Coastguard Worker    default: return null;
48*890232f2SAndroid Build Coastguard Worker  }
49*890232f2SAndroid Build Coastguard Worker}
50