xref: /aosp_15_r20/external/flatbuffers/tests/my-game/example/any-ambiguous-aliases.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 { Monster, MonsterT } from '../../my-game/example/monster';
4*890232f2SAndroid Build Coastguard Worker
5*890232f2SAndroid Build Coastguard Worker
6*890232f2SAndroid Build Coastguard Workerexport enum AnyAmbiguousAliases {
7*890232f2SAndroid Build Coastguard Worker  NONE = 0,
8*890232f2SAndroid Build Coastguard Worker  M1 = 1,
9*890232f2SAndroid Build Coastguard Worker  M2 = 2,
10*890232f2SAndroid Build Coastguard Worker  M3 = 3
11*890232f2SAndroid Build Coastguard Worker}
12*890232f2SAndroid Build Coastguard Worker
13*890232f2SAndroid Build Coastguard Workerexport function unionToAnyAmbiguousAliases(
14*890232f2SAndroid Build Coastguard Worker  type: AnyAmbiguousAliases,
15*890232f2SAndroid Build Coastguard Worker  accessor: (obj:Monster) => Monster|null
16*890232f2SAndroid Build Coastguard Worker): Monster|null {
17*890232f2SAndroid Build Coastguard Worker  switch(AnyAmbiguousAliases[type]) {
18*890232f2SAndroid Build Coastguard Worker    case 'NONE': return null;
19*890232f2SAndroid Build Coastguard Worker    case 'M1': return accessor(new Monster())! as Monster;
20*890232f2SAndroid Build Coastguard Worker    case 'M2': return accessor(new Monster())! as Monster;
21*890232f2SAndroid Build Coastguard Worker    case 'M3': return accessor(new Monster())! as Monster;
22*890232f2SAndroid Build Coastguard Worker    default: return null;
23*890232f2SAndroid Build Coastguard Worker  }
24*890232f2SAndroid Build Coastguard Worker}
25*890232f2SAndroid Build Coastguard Worker
26*890232f2SAndroid Build Coastguard Workerexport function unionListToAnyAmbiguousAliases(
27*890232f2SAndroid Build Coastguard Worker  type: AnyAmbiguousAliases,
28*890232f2SAndroid Build Coastguard Worker  accessor: (index: number, obj:Monster) => Monster|null,
29*890232f2SAndroid Build Coastguard Worker  index: number
30*890232f2SAndroid Build Coastguard Worker): Monster|null {
31*890232f2SAndroid Build Coastguard Worker  switch(AnyAmbiguousAliases[type]) {
32*890232f2SAndroid Build Coastguard Worker    case 'NONE': return null;
33*890232f2SAndroid Build Coastguard Worker    case 'M1': return accessor(index, new Monster())! as Monster;
34*890232f2SAndroid Build Coastguard Worker    case 'M2': return accessor(index, new Monster())! as Monster;
35*890232f2SAndroid Build Coastguard Worker    case 'M3': return accessor(index, new Monster())! as Monster;
36*890232f2SAndroid Build Coastguard Worker    default: return null;
37*890232f2SAndroid Build Coastguard Worker  }
38*890232f2SAndroid Build Coastguard Worker}
39