UNPKG

@naverpay/hidash

Version:
2 lines (1 loc) 868 B
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("core-js-pure/features/instance/trim.js"),f=require("./isObject.js"),u=require("./isSymbol.js");function c(r){return r&&o(r).call(r)}const e=NaN,b=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,y=/^0o[0-7]+$/i,s=Number.parseInt;function n(r){if(typeof r=="number")return r;if(typeof r=="boolean")return r?1:0;if(r===null)return 0;if(r===void 0)return e;if(typeof r=="string"){const t=c(r);if(m.test(t))return s(t.slice(2),2);if(y.test(t))return s(t.slice(2),8);if(b.test(t))return e;const i=+t;return isNaN(i)?e:i}if(u.isSymbol(r))return e;if(Array.isArray(r))return r.length===0?0:r.length===1?n(r[0]):e;if(f.isObject(r)){const t=r.valueOf();if(typeof t=="number")return t;if(typeof t=="string")return n(t)}return e}exports.default=n;exports.toNumber=n;