UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

52 lines (51 loc) 1.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const toNumber_1 = __importDefault(require("./toNumber")); /** * Used as references for various `Number` constants. * @ignore * */ const INFINITY = Infinity; /** * @ignore */ const MAX_INTEGER = Number.MAX_VALUE || 1.7976931348623157e+308; /** * Converts `value` to a finite number. * * @since 5.5.0 * @category Lang * @param value The value to convert. * @returns Returns the converted number. * @example * * ```js * toFinite(3.2) * // => 3.2 * * toFinite(Number.MIN_VALUE) * // => 5e-324 * * toFinite(Infinity) * // => 1.7976931348623157e+308 * * toFinite('3.2') * // => 3.2 * ``` */ function toFinite(value) { if (!value) { return value === 0 ? value : 0; } value = (0, toNumber_1.default)(value); if (value === INFINITY || value === -INFINITY) { const sign = (value < 0 ? -1 : 1); return sign * MAX_INTEGER; } return value === value ? value : 0; } exports.default = toFinite;