import { EnumClass , EnumIO , _from , _fromString } from '../misc/EnumIO' ; export type AnimationInterpolationEnum = EnumIO ; class AnimationInterpolationClass extends EnumClass implements AnimationInterpolationEnum { constructor ( { index , str } ) { super ( { index , str } ) ; } } const Linear = new AnimationInterpolationClass ( { index : 0 , str : 'Linear' , } ) ; const Step = new AnimationInterpolationClass ( { index : 1 , str : 'Step' , } ) ; const CubicSpline = new AnimationInterpolationClass ( { index : 2 , str : 'CubicSpline' } ) ; const typeList = [ Linear , Step , CubicSpline ] ; function from ( index ) { return _from ( { typeList , index } ) as AnimationInterpolationEnum ; } function fromString ( str ) { return _fromString ( { typeList , str } ) as AnimationInterpolationEnum ; } export const AnimationInterpolation = Object . freeze ( { Linear , Step , CubicSpline , from , fromString , } ) ;