You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
673 B

export const trimSingleValue = (value, min, max) => {
if (typeof value !== 'number') {
return min;
}
if (value < min) {
return min;
}
if (value > max) {
return max;
}
return value;
};
export const trimValue = (value, props) => {
const { min, max, range } = props;
if (range && Array.isArray(value)) {
value[0] = trimSingleValue(value[0], min, max);
value[1] = trimSingleValue(value[1], min, max);
return value[0] <= value[1] ? value : [value[1], value[0]];
}
if (range) {
return [min, max];
}
if (!range) {
return trimSingleValue(value, min, max);
}
};