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 };