mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-23 12:20:00 +00:00
[C++] Fix compile failure on Object API union construction for struct member (#6923)
* Add dedicated traits to Object API version of unions. * Add suppression for unused parameters on unions of structs.
This commit is contained in:
37
tests/union_vector/gadget.ts
Normal file
37
tests/union_vector/gadget.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import { FallingTub, FallingTubT } from './falling-tub';
|
||||
import { HandFan, HandFanT } from './hand-fan';
|
||||
|
||||
|
||||
export enum Gadget{
|
||||
NONE = 0,
|
||||
FallingTub = 1,
|
||||
HandFan = 2
|
||||
}
|
||||
|
||||
export function unionToGadget(
|
||||
type: Gadget,
|
||||
accessor: (obj:FallingTub|HandFan) => FallingTub|HandFan|null
|
||||
): FallingTub|HandFan|null {
|
||||
switch(Gadget[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'FallingTub': return accessor(new FallingTub())! as FallingTub;
|
||||
case 'HandFan': return accessor(new HandFan())! as HandFan;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function unionListToGadget(
|
||||
type: Gadget,
|
||||
accessor: (index: number, obj:FallingTub|HandFan) => FallingTub|HandFan|null,
|
||||
index: number
|
||||
): FallingTub|HandFan|null {
|
||||
switch(Gadget[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'FallingTub': return accessor(index, new FallingTub())! as FallingTub;
|
||||
case 'HandFan': return accessor(index, new HandFan())! as HandFan;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user