omnivore/packages/liqe/src/testRange.ts
2023-12-07 18:47:25 +08:00

29 lines
542 B
TypeScript

import type {
Range,
} from './types';
export const testRange = (value: unknown, range: Range): boolean => {
if (typeof value === 'number') {
if (value < range.min) {
return false;
}
if (value === range.min && !range.minInclusive) {
return false;
}
if (value > range.max) {
return false;
}
if (value === range.max && !range.maxInclusive) {
return false;
}
return true;
}
// @todo handle non-numeric ranges -- https://github.com/gajus/liqe/issues/3
return false;
};