import { EnumClass , EnumIO , _from , _fromString } from '../misc/EnumIO' ; export type CameraControllerTypeEnum = EnumIO ; class CameraControllerTypeClass extends EnumClass implements CameraControllerTypeEnum { constructor ( { index , str } ) { super ( { index , str } ) ; } } const Orbit = new CameraControllerTypeClass ( { index : 0 , str : 'Orbit' , } ) ; const WalkThrough = new CameraControllerTypeClass ( { index : 1 , str : 'WalkThrough' , } ) ; const typeList = [ Orbit , WalkThrough ] ; function from ( index ) { return _from ( { typeList , index } ) as CameraControllerTypeEnum ; } function fromString ( str ) { return _fromString ( { typeList , str } ) as CameraControllerTypeEnum ; } export const CameraControllerType = Object . freeze ( { Orbit , WalkThrough , from , fromString , } ) ;