UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

62 lines (61 loc) 1.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.inRange = void 0; const baseInRange_1 = __importDefault(require("./.internal/baseInRange")); const toFinite_1 = __importDefault(require("./toFinite")); const toNumber_1 = __importDefault(require("./toNumber")); /** * Checks if `number` is between `start` and up to, but not including, `end`. If * `end` is not specified, it's set to `start` with `start` then set to `0`. * If `start` is greater than `end` the params are swapped to support * negative ranges. * * @since 5.7.0 * @category Number * @param number The number to check. * @param start The start of the range. * @param end The end of the range. * @returns Returns `true` if `number` is in the range, else `false`. * @see [[range]],[[rangeRight]] * @example * * ```js * 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 * * inRange(-3, -2, -6) * // => true * ``` */ function inRange(number, start, end) { start = (0, toFinite_1.default)(start); if (end === undefined) { end = start; start = 0; } else { end = (0, toFinite_1.default)(end); } number = (0, toNumber_1.default)(number); return (0, baseInRange_1.default)(number, start, end); } exports.inRange = inRange; exports.default = inRange;