| // 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 { A, AT } from '../union-underlying-type/a.js'; |
| import { B, BT } from '../union-underlying-type/b.js'; |
| import { C, CT } from '../union-underlying-type/c.js'; |
| |
| |
| export enum ABC { |
| NONE = 0, |
| A = 555, |
| B = 666, |
| C = 777 |
| } |
| |
| export function unionToAbc( |
| type: ABC, |
| accessor: (obj:A|B|C) => A|B|C|null |
| ): A|B|C|null { |
| switch(ABC[type]) { |
| case 'NONE': return null; |
| case 'A': return accessor(new A())! as A; |
| case 'B': return accessor(new B())! as B; |
| case 'C': return accessor(new C())! as C; |
| default: return null; |
| } |
| } |
| |
| export function unionListToAbc( |
| type: ABC, |
| accessor: (index: number, obj:A|B|C) => A|B|C|null, |
| index: number |
| ): A|B|C|null { |
| switch(ABC[type]) { |
| case 'NONE': return null; |
| case 'A': return accessor(index, new A())! as A; |
| case 'B': return accessor(index, new B())! as B; |
| case 'C': return accessor(index, new C())! as C; |
| default: return null; |
| } |
| } |