js-utils-lite
Version:
Utils methods/components for JavaScript.
603 lines (450 loc) • 14.5 kB
JavaScript
/******/ (() => { // 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