UNPKG

utilsxo

Version:

A small, portable library full of utilities, functions, and neat tricks for your project/application

115 lines (114 loc) 3.71 kB
/** * Created by Curtis Gervais on 4/16/2017. * License: MIT * * @desc Conversion tools for Utils X module */ module.exports = { /* Convert Data types such as String, Byte */ asString: function(data, cb) { var tmpData; if(typeof(cb) !== "function") { // no callback tmpData = data; tmpData = tmpData.toString(); return tmpData; } else { tmpData = data; tmpData = tmpData.toString(); cb(tmpData); } }, asByte: function(data, cb) { var tmpData, code, bytes=[],bytesv2=[]; if(typeof(cb) !== "function") { tmpData = data; code = ''; for(var i = 0; i < tmpData.length; ++i) { code = tmpData.charCodeAt(i); bytes = bytes.concat([code]); bytesv2 = bytesv2.concat([code & 0xff, code / 256 >>> 0]); } return { bytes: bytes, extended: bytesv2 }; } else { tmpData = data; code = ''; for(var i = 0; i < tmpData.length; ++i) { code = tmpData.charCodeAt(i); bytes = bytes.concat([code]); bytesv2 = bytesv2.concat([code & 0xff, code / 256 >>> 0]); } cb({ bytes: bytes, extended: bytesv2 }) } }, /* End asString&asByte */ /* Conversion of data to number/int */ toNum: function(data) { return parseInt(data); }, toNumber: function(data) { return parseInt(data); }, toInt: function(data) { return parseInt(data); }, /* end conversion of int/num */ /* Number Formatting */ number_format: function(number, decimals, decPoint, thousandsSep) { number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number; var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals); var sep = (typeof(thousandsSep) === 'undefined') ? ',' : thousandsSep; var dec = (typeof(decPoint) === 'undefined') ? '.' : decPoint; var s = ''; var toFixedForm = function(n, prec) { var k = Math.pow(10, prec); return '' + (Math.round(n * k) / k).toFixed(prec); }; s = (prec ? toFixedForm(n, prec) : '' + Math.round(n)).split('.'); if(s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); }, /* End */ /* Begin Conversions of String=>Array, Array=>String, JSON=>Array, Array=>JSON */ strToArray: function(string) { var tmpArray = JSON.parse("[\"" + string + "\"]"); // check to ensure conversion if(typeof(tmpArray) === "array") { return tmpArray; } else { return tmpArray; } }, arrayToStr: function(array, breakpoint_sep) { var tmpString; tmpString = array.join(breakpoint_sep); return tmpString; }, jsonToArray: function(JSONData) { var tmpArray; tmpArray = JSON.parse(JSONData); return tmpArray; }, arrayToJson: function(arrayData) { var tmpJSON; tmpJSON = JSON.stringify(arrayData); return tmpJSON; } /* end conversions of string/array/json */ };