James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame] | 1 | // automatically generated by the FlatBuffers compiler, do not modify |
| 2 | |
| 3 | import { Monster, MonsterT } from '../../my-game/example/monster'; |
| 4 | |
| 5 | |
Austin Schuh | 2dd86a9 | 2022-09-14 21:19:23 -0700 | [diff] [blame^] | 6 | export enum AnyAmbiguousAliases { |
James Kuszmaul | 8e62b02 | 2022-03-22 09:33:25 -0700 | [diff] [blame] | 7 | NONE = 0, |
| 8 | M1 = 1, |
| 9 | M2 = 2, |
| 10 | M3 = 3 |
| 11 | } |
| 12 | |
| 13 | export function unionToAnyAmbiguousAliases( |
| 14 | type: AnyAmbiguousAliases, |
| 15 | accessor: (obj:Monster) => Monster|null |
| 16 | ): Monster|null { |
| 17 | switch(AnyAmbiguousAliases[type]) { |
| 18 | case 'NONE': return null; |
| 19 | case 'M1': return accessor(new Monster())! as Monster; |
| 20 | case 'M2': return accessor(new Monster())! as Monster; |
| 21 | case 'M3': return accessor(new Monster())! as Monster; |
| 22 | default: return null; |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | export function unionListToAnyAmbiguousAliases( |
| 27 | type: AnyAmbiguousAliases, |
| 28 | accessor: (index: number, obj:Monster) => Monster|null, |
| 29 | index: number |
| 30 | ): Monster|null { |
| 31 | switch(AnyAmbiguousAliases[type]) { |
| 32 | case 'NONE': return null; |
| 33 | case 'M1': return accessor(index, new Monster())! as Monster; |
| 34 | case 'M2': return accessor(index, new Monster())! as Monster; |
| 35 | case 'M3': return accessor(index, new Monster())! as Monster; |
| 36 | default: return null; |
| 37 | } |
| 38 | } |