securityos/node_modules/framer-motion/dist/es/utils/transform.mjs

22 lines
728 B
JavaScript
Raw Permalink Normal View History

2024-09-06 15:32:35 +00:00
import { interpolate } from './interpolate.mjs';
const isCustomValueType = (v) => {
return v && typeof v === "object" && v.mix;
};
const getMixer = (v) => (isCustomValueType(v) ? v.mix : undefined);
function transform(...args) {
const useImmediate = !Array.isArray(args[0]);
const argOffset = useImmediate ? 0 : -1;
const inputValue = args[0 + argOffset];
const inputRange = args[1 + argOffset];
const outputRange = args[2 + argOffset];
const options = args[3 + argOffset];
const interpolator = interpolate(inputRange, outputRange, {
mixer: getMixer(outputRange[0]),
...options,
});
return useImmediate ? interpolator(inputValue) : interpolator;
}
export { transform };