UNPKG

js-utils-lite

Version:

Utils methods/components for JavaScript.

603 lines (450 loc) 14.5 kB
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./src/index.ts": /*!**********************!* !*** ./src/index.ts ***! \**********************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { /** * @author 牧秦 <muqin.zyf@alipay.com> * @date 2020/08/25 */ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); } : function (o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); var __exportStar = this && this.__exportStar || function (m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", ({ value: true })); __exportStar(__webpack_require__(/*! ./logger/logger */ "./src/logger/logger.ts"), exports); __exportStar(__webpack_require__(/*! ./utils/array-utils */ "./src/utils/array-utils.ts"), exports); __exportStar(__webpack_require__(/*! ./utils/js-utils */ "./src/utils/js-utils.ts"), exports); __exportStar(__webpack_require__(/*! ./utils/json-utils */ "./src/utils/json-utils.ts"), exports); __exportStar(__webpack_require__(/*! ./utils/misc-utils */ "./src/utils/misc-utils.ts"), exports); __exportStar(__webpack_require__(/*! ./utils/string-utils */ "./src/utils/string-utils.ts"), exports); /***/ }), /***/ "./src/logger/logger.ts": /*!******************************!* !*** ./src/logger/logger.ts ***! \******************************/ /***/ ((__unused_webpack_module, exports) => { /** * @author arnozhang * @date 2019/06/25 */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Logger = exports.LogLevel = exports.LogWriter = void 0; var LogWriter = function () { function LogWriter() {} LogWriter.prototype.writeLog = function (message) { console.log(message); }; LogWriter.prototype.formatLog = function (level, tagOrMessage, message) { if (message != null) { return level + " [" + tagOrMessage + "]: " + message; } return level + " " + tagOrMessage; }; return LogWriter; }(); exports.LogWriter = LogWriter; var LogLevel; (function (LogLevel) { LogLevel["verbose"] = "Verbose"; LogLevel["debug"] = "Debug"; LogLevel["info"] = "Info"; LogLevel["warn"] = "Warn"; LogLevel["error"] = "Error"; LogLevel["fatal"] = "Fatal"; })(LogLevel = exports.LogLevel || (exports.LogLevel = {})); var Logger = function () { function Logger() {} Logger.customizeWriter = function (newWriter) { Logger.writer = newWriter; }; Logger.v = function (tagOrMessage, message) { Logger._log(LogLevel.verbose, tagOrMessage, message); }; Logger.d = function (tagOrMessage, message) { Logger._log(LogLevel.debug, tagOrMessage, message); }; Logger.i = function (tagOrMessage, message) { Logger._log(LogLevel.info, tagOrMessage, message); }; Logger.w = function (tagOrMessage, message) { Logger._log(LogLevel.warn, tagOrMessage, message); }; Logger.e = function (tagOrMessage, message) { Logger._log(LogLevel.error, tagOrMessage, message); }; Logger.f = function (tagOrMessage, message) { Logger._log(LogLevel.fatal, tagOrMessage, message); }; Logger._log = function (level, tagOrMessage, message) { Logger.writer.writeLog(Logger.writer.formatLog(level, tagOrMessage, message)); }; Logger.writer = new LogWriter(); return Logger; }(); exports.Logger = Logger; /***/ }), /***/ "./src/utils/array-utils.ts": /*!**********************************!* !*** ./src/utils/array-utils.ts ***! \**********************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ArrayUtils = void 0; var js_utils_1 = __webpack_require__(/*! ./js-utils */ "./src/utils/js-utils.ts"); /** * @author arnozhang * @date 2019/06/25 */ var TAG = 'ArrayUtils'; var ArrayUtils = function () { function ArrayUtils() {} ArrayUtils.newArray = function (length, value) { return new Array(length).fill(value); }; ArrayUtils.arrayContains = function (array, value) { if (js_utils_1.JsUtils.isEmpty(array)) { return false; } for (var _i = 0, array_1 = array; _i < array_1.length; _i++) { var item = array_1[_i]; if (item == value) { return true; } } return false; }; ArrayUtils.removeArrayByIndex = function (array, from, to) { var rest = array.slice((to || from) + 1 || array.length); array.length = from < 0 ? array.length + from : from; return array.push.apply(array, rest); }; return ArrayUtils; }(); exports.ArrayUtils = ArrayUtils; /***/ }), /***/ "./src/utils/js-utils.ts": /*!*******************************!* !*** ./src/utils/js-utils.ts ***! \*******************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.JsUtils = void 0; var __1 = __webpack_require__(/*! .. */ "./src/index.ts"); /** * @author arnozhang * @date 2019/06/25 */ var TAG = 'JsUtils'; var JsUtils = function () { function JsUtils() {} JsUtils.isEmpty = function (value) { return value == null || value.length <= 0; }; JsUtils.isNotEmpty = function (value) { return !JsUtils.isEmpty(value); }; JsUtils.isString = function (value) { return typeof value === 'string'; }; JsUtils.isNumber = function (value) { return typeof value === 'number'; }; JsUtils.isBoolean = function (value) { return typeof value === 'boolean'; }; JsUtils.isObject = function (value) { return typeof value === 'object' && !JsUtils.isArray(value); }; JsUtils.isArray = function (value) { return Array.isArray(value); }; JsUtils.isObjectOrArray = function (value) { return typeof value === 'object'; }; JsUtils.isFunction = function (value) { return typeof value === 'function'; }; JsUtils.parseIntSafe = function (content, defInt) { if (content == null) { return defInt; } if (JsUtils.isNumber(content)) { return parseInt("" + content); } else if (!JsUtils.isString(content)) { __1.Logger.e(TAG, "parseInt '" + content + "' is not string. type = " + typeof content); return defInt; } try { return parseInt(content); } catch (e) { __1.Logger.e(TAG, "parseInt '" + content + "' error: " + e); } return defInt; }; JsUtils.parseFloatSafe = function (content, defFloat) { if (content == null) { return defFloat; } if (JsUtils.isNumber(content)) { return content; } else if (!JsUtils.isString(content)) { __1.Logger.e(TAG, "parseFloat '" + content + "' is not string. type = " + typeof content); return defFloat; } try { return parseFloat(content); } catch (e) { __1.Logger.e(TAG, "parseFloat '" + content + "' error: " + e); } return defFloat; }; return JsUtils; }(); exports.JsUtils = JsUtils; /***/ }), /***/ "./src/utils/json-utils.ts": /*!*********************************!* !*** ./src/utils/json-utils.ts ***! \*********************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.JsonUtils = void 0; var js_utils_1 = __webpack_require__(/*! ./js-utils */ "./src/utils/js-utils.ts"); var __1 = __webpack_require__(/*! .. */ "./src/index.ts"); /** * @author arnozhang * @date 2019/06/25 */ var TAG = 'JsonUtils'; var JsonUtils = function () { function JsonUtils() {} JsonUtils.parseObjectSafe = function (content, defObject) { try { var result = JSON.parse(content); if (js_utils_1.JsUtils.isObject(result)) { return result; } } catch (e) { __1.Logger.e(TAG, "parseObjectSafe error: " + e); } return defObject; }; JsonUtils.parseArraySafe = function (content, defArray) { try { var result = JSON.parse(content); if (js_utils_1.JsUtils.isArray(result)) { return result; } } catch (e) { __1.Logger.e(TAG, "parseArraySafe error: " + e); } return defArray; }; JsonUtils.toJsonString = function (value, pretty) { if (pretty == true) { return JSON.stringify(value, null, 2); } return JSON.stringify(value); }; JsonUtils.removeUndefinedFields = function (value) { if (js_utils_1.JsUtils.isObject(value)) { for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) { var name_1 = _a[_i]; var item = value[name_1]; if (item == null || item == undefined) { delete value[name_1]; } else { JsonUtils.removeUndefinedFields(item); } } } }; JsonUtils.prettyJsonString = function (value, indent, error) { try { if (js_utils_1.JsUtils.isString(value)) { value = JSON.parse(value); } return JSON.stringify(value, null, indent != null ? indent : 2); } catch (e) { if (error) { error("" + e); } } return null; }; return JsonUtils; }(); exports.JsonUtils = JsonUtils; /***/ }), /***/ "./src/utils/misc-utils.ts": /*!*********************************!* !*** ./src/utils/misc-utils.ts ***! \*********************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.MiscUtils = void 0; var js_utils_1 = __webpack_require__(/*! ./js-utils */ "./src/utils/js-utils.ts"); /** * @author arnozhang * @date 2019/06/25 */ var TAG = 'MiscUtils'; var MiscUtils = function () { function MiscUtils() {} MiscUtils.currentTimeMillis = function () { return new Date().getTime(); }; MiscUtils.formatBytes = function (bytes, decimals) { if (bytes === 0) { return '0 Bytes'; } var k = 1024; var dm = decimals || 2; var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; var i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i]; }; MiscUtils.formatPercentage = function (value) { return MiscUtils.format2DecimalPlaces(value) + "%"; }; MiscUtils.format2DecimalPlaces = function (value) { value = js_utils_1.JsUtils.parseFloatSafe(value); return Math.round(value * 100) / 100; }; MiscUtils.parseQueryString = function (queryString) { var map = {}; if (js_utils_1.JsUtils.isEmpty(queryString)) { return map; } queryString = queryString[0] === '?' ? queryString.substr(1) : queryString; var pairs = queryString.split('&'); for (var i = 0; i < pairs.length; i++) { var pair = pairs[i].split('='); map[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ''); } return map; }; MiscUtils.openInNewTab = function (url) { var win = window.open(url, '_blank'); win.focus(); }; return MiscUtils; }(); exports.MiscUtils = MiscUtils; /***/ }), /***/ "./src/utils/string-utils.ts": /*!***********************************!* !*** ./src/utils/string-utils.ts ***! \***********************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StringUtils = void 0; var js_utils_1 = __webpack_require__(/*! ./js-utils */ "./src/utils/js-utils.ts"); /** * @author arnozhang * @date 2019/06/25 */ var TAG = 'StringUtils'; var StringUtils = function () { function StringUtils() {} StringUtils.startsWith = function (value, sub) { return value.indexOf(sub) == 0; }; StringUtils.endsWith = function (value, sub) { return value.substring(value.length - sub.length, value.length) === sub; }; StringUtils.tryTrim = function (value) { if (js_utils_1.JsUtils.isNotEmpty(value)) { return value.trim(); } return value; }; StringUtils.isUrl = function (path) { return StringUtils.URL_REG.test(path); }; StringUtils.isNumeric = function (value) { return value != undefined && StringUtils.NUMBER_REG.test(value); }; StringUtils.capitalize = function (value) { return value.charAt(0).toUpperCase() + value.substring(1); }; StringUtils.startWithChar = function (value, ch) { return StringUtils.startsWith(value, ch); }; StringUtils.contains = function (value, search) { return value.indexOf(search) >= 0; }; StringUtils.equalsIgnoreCase = function (lhs, rhs) { if (lhs == rhs) { return true; } return lhs.toUpperCase() === rhs.toUpperCase(); }; StringUtils.NUMBER_REG = /^(-|\+)?\d+(\.\d*)?$/; StringUtils.URL_REG = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/g; return StringUtils; }(); exports.StringUtils = StringUtils; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(__webpack_module_cache__[moduleId]) { /******/ return __webpack_module_cache__[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ // startup /******/ // Load entry module /******/ // This entry module is referenced by other modules so it can't be inlined /******/ __webpack_require__("./src/index.ts"); /******/ })() ; //# sourceMappingURL=index.js.map