UNPKG

moltres-utils

Version:
71 lines (57 loc) 1.59 kB
"use strict"; require("core-js/modules/es6.object.define-property"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isFunction = _interopRequireDefault(require("./isFunction")); var _isPromise = _interopRequireDefault(require("./isPromise")); var _toNumber = _interopRequireDefault(require("./toNumber")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0; var MAX_INTEGER = 1.7976931348623157e308; /** * Converts `value` to a finite number. * * @function * @since v0.0.7 * @category lang * @param {*} value The value to convert. * @returns {number} Returns the converted number. * @example * * toFinite(3.2) * // => 3.2 * * toFinite(Number.MIN_VALUE) * // => 5e-324 * * toFinite(Infinity) * // => 1.7976931348623157e+308 * * toFinite('3.2') * // => 3.2 */ var toFinite = function toFinite(value) { if ((0, _isPromise.default)(value)) { return value.then(function (resolvedValue) { return toFinite(resolvedValue); }); } if (value != null && (0, _isFunction.default)(value.toFinite)) { return value.toFinite(); } if (!value) { return value === 0 ? value : 0; } value = (0, _toNumber.default)(value); if (value === INFINITY || value === -INFINITY) { var sign = value < 0 ? -1 : 1; return sign * MAX_INTEGER; } return value === value ? value : 0; }; var _default = toFinite; exports.default = _default; //# sourceMappingURL=toFinite.js.map