interpolate.d.ts 859 B

1234567891011121314151617
  1. type PrimitiveInterpolatable = number;
  2. export type Interpolatable = number | {
  3. [key: string]: PrimitiveInterpolatable;
  4. } | PrimitiveInterpolatable[];
  5. export type Interpolate<T extends Interpolatable = any> = (t: number) => T;
  6. export type Interpolator<T extends Interpolatable = any> = (from: T, to: T) => Interpolate<T>;
  7. export declare const numberInterpolate: Interpolator<number>;
  8. export declare function arrayInterpolate(from: PrimitiveInterpolatable[], to: PrimitiveInterpolatable[]): Interpolate<PrimitiveInterpolatable[]>;
  9. export declare function objectInterpolate(from?: {
  10. [keys: string]: PrimitiveInterpolatable;
  11. }, to?: {
  12. [keys: string]: PrimitiveInterpolatable;
  13. }): (t: PrimitiveInterpolatable) => {
  14. [keys: string]: number;
  15. };
  16. export declare function interpolate<T extends Interpolatable>(from: T, to: T): Interpolate<T>;
  17. export {};