inRange
number
Checks if a number is between start and up to, but not including, end. If end is not specified, it's set to start with start then 0.
Installation
Import
import { inRange } from '@tulx/utils';Source Code
Implementation
/**
* Checks if a number is between start and up to, but not including, end.
* If end is not specified, it's set to start with start then 0.
*
* @param number - The number to check.
* @param start - The start of the range.
* @param end - The end of the range (exclusive).
* @returns True if number is in range, false otherwise.
*
* @example
* ```ts
* inRange(3, 2, 4); // true
* inRange(4, 8); // true
* inRange(4, 2); // false
* inRange(2, 2); // false
* inRange(1.2, 2); // true
* inRange(5.2, 4); // false
* ```
*/
export function inRange(number: number, start: number, end?: number): boolean {
if (end === undefined) {
end = start;
start = 0;
}
if (start > end) {
[start, end] = [end, start];
}
return number >= start && number < end;
}
Example
import { inRange } from '@tulx/utils';
inRange(3, 2, 4); // true
inRange(4, 8); // true
inRange(4, 2); // false
inRange(2, 2); // false
inRange(1.2, 2); // true
inRange(5.2, 4); // falseRelated Functions
clamp
Clamps a number between a lower and upper bound.
random
Produces a random number between the inclusive lower and upper bounds. If only one argument is provided, a number between 0 and the given number is returned. If floating is true, or either lower or upper are floats, a floating-point number is returned instead of an integer.