Files
Stackq/node_modules/bits-ui/dist/internal/math.js
T
eewing cf73cd3b4c INIT
2026-02-17 14:10:16 -06:00

16 lines
454 B
JavaScript

export function linearScale(domain, range, clamp = true) {
const [d0, d1] = domain;
const [r0, r1] = range;
const slope = (r1 - r0) / (d1 - d0);
return (x) => {
const result = r0 + slope * (x - d0);
if (!clamp)
return result;
if (result > Math.max(r0, r1))
return Math.max(r0, r1);
if (result < Math.min(r0, r1))
return Math.min(r0, r1);
return result;
};
}