UNPKG

abb-core

Version:

Application Build Butler Core

115 lines (114 loc) 4.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var EABB_file_size_short_name_1 = require("./EABB-file-size-short-name"); var EABB_file_size_full_name_1 = require("./EABB-file-size-full-name"); var ABBLib = /** @class */ (function () { function ABBLib() { } ABBLib.isObject = function (subject) { return (typeof subject === 'object' && ABBLib.isNotArray(subject)); }; ABBLib.isString = function (subject) { return (typeof subject === 'string'); }; ABBLib.isArray = function (subject) { return (subject instanceof Array); }; ABBLib.isNotArray = function (subject) { return (!ABBLib.isArray(subject)); }; ABBLib.isEmptyString = function (subject) { return (ABBLib.isString(subject) && subject === ''); }; ABBLib.isNull = function (subject) { return (subject === null); }; ABBLib.isNotUndefined = function (subject) { return subject !== undefined; }; ABBLib.isUndefined = function (subject) { return subject === undefined; }; ABBLib.isInt = function (n) { return n % 1 === 0; }; ABBLib.generateRandomString = function () { return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); }; ABBLib.mergeObj = function (objArr) { var mergedObj = {}; objArr.forEach(function (obj) { for (var key in obj) { if (obj.hasOwnProperty(key)) { mergedObj[key] = obj[key]; } } }); return mergedObj; }; ABBLib.copyObject = function (obj, deep) { var _this = this; if (deep === void 0) { deep = false; } var copy = Object.assign({}, obj); if (deep) { Object.keys(obj).forEach(function (key) { if (_this.isObject(obj[key])) { copy[key] = _this.copyObject(obj[key], deep); } }); } return copy; }; ABBLib.filterObject = function (obj, filterCallback) { var filterObject = this.copyObject(obj, true); Object.keys(filterObject).forEach(function (key) { if (!filterCallback(key, filterObject[key])) { delete filterObject[key]; } }); return filterObject; }; ABBLib.replaceObjectKeys = function (obj, replaceCallback) { var newObj = {}; Object.keys(obj).forEach(function (key) { newObj[replaceCallback(key)] = obj[key]; }); return newObj; }; ABBLib.fileListToArray = function (fileList) { return Array.prototype.slice.call(fileList); }; ABBLib.getEnumNameByValue = function (myEnum, value, defaultNameIndex) { var name; var numericValue = -1; for (var enumMember in myEnum) { var isValueProperty = parseInt(enumMember, 10) >= 0; if (!isValueProperty) { numericValue++; if (value === numericValue) { name = enumMember; } } } if (!name && defaultNameIndex != -1) { name = this.getEnumNameByValue(myEnum, defaultNameIndex, -1); } return name; }; ABBLib.autoformatFileSize = function (fileSize) { var i = 0; var formattedFileSize = fileSize; while (Math.floor(formattedFileSize).toString().length > 3) { i++; formattedFileSize = formattedFileSize / 1000; } return { shortName: this.getEnumNameByValue(EABB_file_size_short_name_1.default, i, EABB_file_size_short_name_1.default.Unkown), fullName: this.getEnumNameByValue(EABB_file_size_full_name_1.default, i, EABB_file_size_short_name_1.default.Unkown), fileSizeInByte: fileSize, formattedFileSize: this.isInt(formattedFileSize) ? formattedFileSize.toString() : parseFloat(formattedFileSize.toFixed(1)).toLocaleString() }; }; return ABBLib; }()); exports.ABBLib = ABBLib;