UNPKG

vue-app-sdk

Version:
30 lines (29 loc) 1.03 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const _baseTrim = require("./_baseTrim.cjs"); const isObject = require("./isObject.cjs"); const isSymbol = require("./isSymbol.cjs"); var NAN = 0 / 0; var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; var reIsBinary = /^0b[01]+$/i; var reIsOctal = /^0o[0-7]+$/i; var freeParseInt = parseInt; function toNumber(value) { if (typeof value == "number") { return value; } if (isSymbol.default(value)) { return NAN; } if (isObject.default(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject.default(other) ? other + "" : other; } if (typeof value != "string") { return value === 0 ? value : +value; } value = _baseTrim.default(value); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; } exports.default = toNumber;