kopia lustrzana https://github.com/shoelace-style/shoelace
15 wiersze
349 B
TypeScript
15 wiersze
349 B
TypeScript
/** Ensures a number stays within a minimum and maximum value */
|
|
export function clamp(value: number, min: number, max: number) {
|
|
const noNegativeZero = (n: number) => (Object.is(n, -0) ? 0 : n);
|
|
|
|
if (value < min) {
|
|
return noNegativeZero(min);
|
|
}
|
|
|
|
if (value > max) {
|
|
return noNegativeZero(max);
|
|
}
|
|
|
|
return noNegativeZero(value);
|
|
}
|