super-utils-plus
Version:
A superior alternative to Lodash with improved performance, TypeScript support, and developer experience
24 lines (23 loc) • 814 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.inRange = inRange;
/**
* Checks if a number is between start and up to, but not including, end.
* If end is not specified, start is set to 0 and end to the original start.
*
* @param number - The number to check
* @param start - The start of the range or the end when used as a single argument
* @param end - The end of the range
* @returns True if the number is in range, else false
*/
function inRange(number, start, end) {
let rangeStart = start;
let rangeEnd = end;
if (rangeEnd === undefined) {
rangeEnd = rangeStart;
rangeStart = 0;
}
const lower = Math.min(rangeStart, rangeEnd);
const upper = Math.max(rangeStart, rangeEnd);
return number >= lower && number < upper;
}