@deck.gl/core
Version:
deck.gl core library
52 lines • 2.39 kB
TypeScript
export default abstract class TransitionInterpolator {
protected _propsToCompare: string[];
protected _propsToExtract: string[];
protected _requiredProps?: string[];
/**
* @param opts {array|object}
* @param opts.compare {array} - prop names used in equality check
* @param opts.extract {array} - prop names needed for interpolation
* @param opts.required {array} - prop names that must be supplied
* alternatively, supply one list of prop names as `opts` if all of the above are the same.
*/
constructor(opts: {
compare: string[];
extract?: string[];
required?: string[];
});
/**
* Checks if two sets of props need transition in between
* @param currentProps {object} - a list of viewport props
* @param nextProps {object} - a list of viewport props
* @returns {bool} - true if two props are equivalent
*/
arePropsEqual(currentProps: Record<string, any>, nextProps: Record<string, any>): boolean;
/**
* Called before transition starts to validate/pre-process start and end props
* @param startProps {object} - a list of starting viewport props
* @param endProps {object} - a list of target viewport props
* @returns {Object} {start, end} - start and end props to be passed
* to `interpolateProps`
*/
initializeProps(startProps: Record<string, any>, endProps: Record<string, any>): {
start: Record<string, any>;
end: Record<string, any>;
};
/**
* Returns viewport props in transition
* @param startProps {object} - a list of starting viewport props
* @param endProps {object} - a list of target viewport props
* @param t {number} - a time factor between [0, 1]
* @returns {object} - a list of interpolated viewport props
*/
abstract interpolateProps(startProps: Record<string, any>, endProps: Record<string, any>, t: number): Record<string, any>;
/**
* Returns transition duration
* @param startProps {object} - a list of starting viewport props
* @param endProps {object} - a list of target viewport props
* @returns {Number} - transition duration in milliseconds
*/
getDuration(startProps: Record<string, any>, endProps: Record<string, any>): number;
_checkRequiredProps(props: any): void;
}
//# sourceMappingURL=transition-interpolator.d.ts.map