// 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 {FallingTub} from './falling-tub.js';
import {HandFan} from './hand-fan.js';
export var Gadget;
(function(Gadget) {
Gadget[Gadget['NONE'] = 0] = 'NONE';
Gadget[Gadget['FallingTub'] = 1] = 'FallingTub';
Gadget[Gadget['HandFan'] = 2] = 'HandFan';
})(Gadget || (Gadget = {}));
export function unionToGadget(type, accessor) {
  switch (Gadget[type]) {
    case 'NONE':
      return null;
    case 'FallingTub':
      return accessor(new FallingTub());
    case 'HandFan':
      return accessor(new HandFan());
    default:
      return null;
  }
}
export function unionListToGadget(type, accessor, index) {
  switch (Gadget[type]) {
    case 'NONE':
      return null;
    case 'FallingTub':
      return accessor(index, new FallingTub());
    case 'HandFan':
      return accessor(index, new HandFan());
    default:
      return null;
  }
}
