diff options
Diffstat (limited to 'node_modules/locutus/php/var/intval.js')
-rw-r--r-- | node_modules/locutus/php/var/intval.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/locutus/php/var/intval.js b/node_modules/locutus/php/var/intval.js new file mode 100644 index 0000000..a5ef568 --- /dev/null +++ b/node_modules/locutus/php/var/intval.js @@ -0,0 +1,49 @@ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +module.exports = function intval(mixedVar, base) { + // discuss at: http://locutus.io/php/intval/ + // original by: Kevin van Zonneveld (http://kvz.io) + // improved by: stensi + // bugfixed by: Kevin van Zonneveld (http://kvz.io) + // bugfixed by: Brett Zamir (http://brett-zamir.me) + // bugfixed by: RafaĆ Kukawski (http://blog.kukawski.pl) + // input by: Matteo + // example 1: intval('Kevin van Zonneveld') + // returns 1: 0 + // example 2: intval(4.2) + // returns 2: 4 + // example 3: intval(42, 8) + // returns 3: 42 + // example 4: intval('09') + // returns 4: 9 + // example 5: intval('1e', 16) + // returns 5: 30 + // example 6: intval(0x200000001) + // returns 6: 8589934593 + // example 7: intval('0xff', 0) + // returns 7: 255 + // example 8: intval('010', 0) + // returns 8: 8 + + var tmp, match; + + var type = typeof mixedVar === 'undefined' ? 'undefined' : _typeof(mixedVar); + + if (type === 'boolean') { + return +mixedVar; + } else if (type === 'string') { + if (base === 0) { + match = mixedVar.match(/^\s*0(x?)/i); + base = match ? match[1] ? 16 : 8 : 10; + } + tmp = parseInt(mixedVar, base || 10); + return isNaN(tmp) || !isFinite(tmp) ? 0 : tmp; + } else if (type === 'number' && isFinite(mixedVar)) { + return mixedVar < 0 ? Math.ceil(mixedVar) : Math.floor(mixedVar); + } else { + return 0; + } +}; +//# sourceMappingURL=intval.js.map
\ No newline at end of file |