moltres-utils
Version:
Utils for Moltres apps
61 lines (51 loc) • 1.47 kB
JavaScript
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 _toFinite = _interopRequireDefault(require("./toFinite"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Converts `value` to an integer.
*
* **Note:** This method is loosely based on
* [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
*
* @function
* @since v0.0.7
* @category lang
* @param {*} value The value to convert.
* @returns {number} Returns the converted integer.
* @example
*
* toInteger(3.2)
* // => 3
*
* toInteger(Number.MIN_VALUE)
* // => 0
*
* toInteger(Infinity)
* // => 1.7976931348623157e+308
*
* toInteger('3.2')
* // => 3
*/
var toInteger = function toInteger(value) {
if ((0, _isPromise.default)(value)) {
return value.then(function (resolvedValue) {
return toInteger(resolvedValue);
});
}
if (value != null && (0, _isFunction.default)(value.toInteger)) {
return value.toInteger();
}
var result = (0, _toFinite.default)(value);
var remainder = result % 1;
return remainder ? result - remainder : result;
};
var _default = toInteger;
exports.default = _default;
//# sourceMappingURL=toInteger.js.map
;