xref: /aosp_15_r20/external/flatbuffers/tests/union_vector/gadget.ts (revision 890232f25432b36107d06881e0a25aaa6b473652)
1// automatically generated by the FlatBuffers compiler, do not modify
2
3import { FallingTub, FallingTubT } from './falling-tub';
4import { HandFan, HandFanT } from './hand-fan';
5
6
7export enum Gadget {
8  NONE = 0,
9  FallingTub = 1,
10  HandFan = 2
11}
12
13export function unionToGadget(
14  type: Gadget,
15  accessor: (obj:FallingTub|HandFan) => FallingTub|HandFan|null
16): FallingTub|HandFan|null {
17  switch(Gadget[type]) {
18    case 'NONE': return null;
19    case 'FallingTub': return accessor(new FallingTub())! as FallingTub;
20    case 'HandFan': return accessor(new HandFan())! as HandFan;
21    default: return null;
22  }
23}
24
25export function unionListToGadget(
26  type: Gadget,
27  accessor: (index: number, obj:FallingTub|HandFan) => FallingTub|HandFan|null,
28  index: number
29): FallingTub|HandFan|null {
30  switch(Gadget[type]) {
31    case 'NONE': return null;
32    case 'FallingTub': return accessor(index, new FallingTub())! as FallingTub;
33    case 'HandFan': return accessor(index, new HandFan())! as HandFan;
34    default: return null;
35  }
36}
37