import { EnumClass , EnumIO , _from , _fromString } from '../misc/EnumIO' ; export type AnimationAttributeEnum = EnumIO ; class AnimationAttributeClass extends EnumClass implements AnimationAttributeEnum { constructor ( { index , str } ) { super ( { index , str } ) ; } } const Quaternion = new AnimationAttributeClass ( { index : 0 , str : 'Quaternion' , } ) ; const Translate = new AnimationAttributeClass ( { index : 1 , str : 'Translate' , } ) ; const Scale = new AnimationAttributeClass ( { index : 2 , str : 'Scale' , } ) ; const Weights = new AnimationAttributeClass ( { index : 3 , str : 'Weights' , } ) ; const typeList = [ Quaternion , Translate , Scale , Weights ] ; function from ( index ) { return _from ( { typeList , index } ) as AnimationAttributeEnum ; } function fromString ( str ) { return _fromString ( { typeList , str } ) as AnimationAttributeEnum ; } export const AnimationAttribute = Object . freeze ( { Quaternion , Translate , Scale , Weights , from , fromString , } ) ;