@kjts20/tool
Version:
wkj
1,620 lines (1,608 loc) • 119 kB
JavaScript
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/index.ts
var src_exports = {};
__export(src_exports, {
Assert: () => Assert,
CommonAuth: () => CommonAuth,
CommonStorage: () => CommonStorage,
EMedium: () => EMedium,
Event: () => Event,
HttpServer: () => HttpServer,
IgnoreTool: () => IgnoreTool,
Notifier: () => Notifier,
QueueManager: () => QueueManager,
RequestTool: () => RequestTool,
ResponseFilter: () => ResponseFilter,
ResponseTool: () => ResponseTool,
RestrictorMode: () => RestrictorMode,
Store: () => Store,
WaiterMode: () => WaiterMode,
WatcherMode: () => WatcherMode,
ab2hex: () => ab2hex,
arrAverage: () => arrAverage,
arrSum: () => arrSum,
arrayBuffer2Ascii: () => arrayBuffer2Ascii,
arrayBuffer2Hex: () => arrayBuffer2Hex,
ascii2ArrayBuffer: () => ascii2ArrayBuffer,
ascii2Hex: () => ascii2Hex,
base64Decode: () => base64Decode,
base64Encode: () => base64Encode,
base64ToHex: () => base64ToHex,
biDict2List: () => biDict2List,
biList2Dict: () => biList2Dict,
biListGroupBy: () => biListGroupBy,
camelToKebab: () => camelToKebab,
camelToLine: () => camelToLine,
checkKey: () => checkKey,
checkKeySync: () => checkKeySync,
createArr: () => createArr,
dataChksum: () => dataChksum,
date2str: () => date2str,
dateFormat: () => dateFormat,
dateStr2Timestamp: () => dateStr2Timestamp,
deepClone: () => deepClone,
deepCopy: () => deepCopy,
defaultPaging: () => defaultPaging,
dict2List: () => dict2List,
errResponse: () => errResponse,
fee2Money: () => fee2Money,
fee2yuan: () => fee2yuan,
findIndex: () => findIndex,
firstLowerCase: () => firstLowerCase,
firstUpperCase: () => firstUpperCase,
fixContainer: () => fixContainer,
float2Hex: () => float2Hex,
formData2Obj: () => formData2Obj,
formValidator: () => formValidator,
genDayRange: () => genDayRange,
genGlobalSingleton: () => genGlobalSingleton,
genName: () => genName,
generateRandomStr: () => generateRandomStr,
generateUUID: () => generateUUID,
generateUnique: () => generateUnique,
getArray: () => getArray,
getChangeData: () => getChangeData,
getColumnValue: () => getColumnValue,
getColumnValueAndRenderByName: () => getColumnValueAndRenderByName,
getCurrentStamp: () => getCurrentStamp,
getCurrentTimeStr: () => getCurrentTimeStr,
getDataChkSum: () => getDataChkSum,
getDataLTH: () => getDataLTH,
getDayRange: () => getDayRange,
getFontColorFromBgColor: () => getFontColorFromBgColor,
getLen: () => getLen,
getListIndex: () => getListIndex,
getListMax: () => getListMax,
getListSum: () => getListSum,
getValueIndex: () => getValueIndex,
globalVar: () => globalVar,
hex2ArrayBuffer: () => hex2ArrayBuffer,
hex2Ascii: () => hex2Ascii,
hex2Base64: () => hex2Base64,
hex2Float: () => hex2Float,
hex2Int: () => hex2Int,
i18n: () => i18n,
int2Hex: () => int2Hex,
isArr: () => isArr,
isBool: () => isBool,
isDate: () => isDate,
isDateISO: () => isDateISO,
isDateStr: () => isDateStr,
isEmail: () => isEmail,
isFunc: () => isFunc,
isFunction: () => isFunction,
isHkPhone: () => isHkPhone,
isIdcard: () => isIdcard,
isInitStr: () => isInitStr,
isMoPhone: () => isMoPhone,
isNum: () => isNum,
isNumStr: () => isNumStr,
isObj: () => isObj,
isPhone: () => isPhone,
isPublicUrl: () => isPublicUrl,
isSame: () => isSame,
isStr: () => isStr,
isTel: () => isTel,
isTwPhone: () => isTwPhone,
isUndefined: () => isUndefined,
isUndefinedOrNull: () => isUndefinedOrNull,
isUrl: () => isUrl,
json2Obj: () => json2Obj,
jsonEq: () => jsonEq,
jsonParse: () => jsonParse,
languageAndRegion: () => languageAndRegion,
letterLowerList: () => letterLowerList,
letterUpperList: () => letterUpperList,
lineToCamel: () => lineToCamel,
lineToUpCamel: () => lineToUpCamel,
list2Dict: () => list2Dict,
list2Tree: () => list2Tree,
listAddition: () => listAddition,
listConcat: () => listConcat,
listGroupBy: () => listGroupBy,
listRemoveRepeat: () => listRemoveRepeat,
md5: () => md5,
mergeObj: () => mergeObj,
mergeUrl: () => mergeUrl,
moneyFormt: () => moneyFormt,
now: () => now,
numList: () => numList,
obj2RequestUrl: () => obj2RequestUrl,
objDecorate: () => objDecorate,
objEq: () => objEq,
objFilter: () => objFilter,
overTenThousand: () => overTenThousand,
pageDecorate: () => pageDecorate,
personalize2DateStr: () => personalize2DateStr,
platformPolyfill: () => platformPolyfill,
promise2Resolve: () => promise2Resolve,
promiseFilter: () => promiseFilter,
removeObjColumns: () => removeObjColumns,
removeObjectUndefined: () => removeObjectUndefined,
replaceSpace: () => replaceSpace,
requestStr2Obj: () => requestStr2Obj,
responseIsRedirect: () => responseIsRedirect,
result: () => result,
setColumnValue: () => setColumnValue,
setDebug: () => setDebug,
setDictValue: () => setDictValue,
setI18n: () => setI18n,
sleep: () => sleep,
split2NumArr: () => split2NumArr,
str2ArrayBuffer: () => str2ArrayBuffer,
str2Num: () => str2Num,
strConst: () => strConst,
successResponse: () => successResponse,
timeFormat: () => timeFormat,
timeStr2dateStr: () => timeStr2dateStr,
timeStr2datetimeStr: () => timeStr2datetimeStr,
timestamp2dateStr: () => timestamp2dateStr,
timestamp2datetimeStr: () => timestamp2datetimeStr,
timestamp2str: () => timestamp2str,
toBool: () => toBool,
toClassName: () => toClassName,
toCurrentSeconds: () => toCurrentSeconds,
toDate: () => toDate,
toDateTime: () => toDateTime,
toFormData: () => toFormData,
toFunction: () => toFunction,
toJson: () => toJson,
toList: () => toList,
toObj: () => toObj,
toStyleObj: () => toStyleObj,
toStyleStr: () => toStyleStr,
toTimestamp: () => toTimestamp,
toUrlParams: () => toUrlParams,
trim: () => trim,
unifiedResponse: () => unifiedResponse,
urlDecode: () => urlDecode,
urlEncode: () => urlEncode,
validateArrRequired: () => validateArrRequired,
validateDate: () => validateDate,
validateDateRange: () => validateDateRange,
validateEmail: () => validateEmail,
validateForm: () => validateForm,
validateGtZero: () => validateGtZero,
validateGteZero: () => validateGteZero,
validateIdCard: () => validateIdCard,
validateInt: () => validateInt,
validateIntArr: () => validateIntArr,
validateNum: () => validateNum,
validatePhone: () => validatePhone,
validateRequired: () => validateRequired,
validateTel: () => validateTel,
validateUrl: () => validateUrl,
yuan2fee: () => yuan2fee
});
module.exports = __toCommonJS(src_exports);
// src/config.ts
var globalVar = {
debug: false
};
var setDebug = function(status = true) {
globalVar.debug = status;
};
var i18n = {
validate: {
required: "\u5FC5\u586B",
valueErr: "\u503C\u4E0D\u6B63\u786E",
formatErr: "\u683C\u5F0F\u4E0D\u6B63\u786E",
urlErr: "\u94FE\u63A5\u683C\u5F0F\u4E0D\u6B63\u786E",
gtZero: "\u5FC5\u987B\u5927\u4E8E0",
gteZero: "\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E0",
isInteger: "\u662F\u6574\u6570",
startDateFormatErr: `\u5F00\u59CB\u65E5\u671F\u683C\u5F0F\u4E0D\u6B63\u786E`,
endDateFormatErr: `\u7ED3\u675F\u65E5\u671F\u683C\u5F0F\u4E0D\u6B63\u786E`,
dateFormatErr: `\u65E5\u671F\u683C\u5F0F\u4E0D\u6B63\u786E`,
emailFormatErr: `\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E`,
phoneFormatErr: "\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u6B63\u786E",
telFormatErr: `\u7535\u8BDD\u53F7\u7801\u683C\u5F0F\u4E0D\u6B63\u786E`,
mustBeNum: "\u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u5B57",
mustBeInt: "\u5FC5\u987B\u662F\u4E00\u4E2A\u6574\u6570"
},
httpServer: {
responseUnknown: "\u8FD4\u56DE\u683C\u5F0F\u65E0\u6CD5\u8BC6\u522B",
systemErrTip: "\u7CFB\u7EDF\u5F02\u5E38\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",
apiFormatErrTip: "\u63A5\u53E3\u683C\u5F0F\u9519\u8BEF\uFF01\uFF01\uFF01",
arraybufferSuccessTip: "arrayBuffer\u751F\u6210\u6210\u529F"
},
system: {
success: "\u6210\u529F",
fail: "\u5931\u8D25",
error: "\u9519\u8BEF"
}
};
var setI18n = function(newI18n) {
if (typeof newI18n === "object" && newI18n !== null) {
let setObj = function(goal, target) {
if (isObj2(goal) && isObj2(target)) {
for (const key in target) {
const item = target[key];
const gItem = goal[key];
if (isObj2(gItem)) {
if (isObj2(item)) {
setObj(gItem, item);
} else {
goal[key] = item;
}
} else {
goal[key] = item;
}
}
}
};
const isObj2 = (obj) => typeof obj === "object" && obj !== null;
setObj(i18n, newI18n);
} else {
throw new Error("\u8BBE\u7F6E\u7684\u8BED\u8A00\u5305\u9519\u8BEF...");
}
};
// src/constant/arrayConst.ts
var numList = "0".repeat(10).split("").map((_, i) => i + "");
var letterUpperList = "0".repeat(26).split("").map((_, i) => String.fromCharCode(i + 65));
var letterLowerList = "0".repeat(26).split("").map((_, i) => String.fromCharCode(i + 97));
// src/lib/md5.ts
var MD5 = function(string) {
function RotateLeft(lValue, iShiftBits) {
return lValue << iShiftBits | lValue >>> 32 - iShiftBits;
}
function AddUnsigned(lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = lX & 2147483648;
lY8 = lY & 2147483648;
lX4 = lX & 1073741824;
lY4 = lY & 1073741824;
lResult = (lX & 1073741823) + (lY & 1073741823);
if (lX4 & lY4) {
return lResult ^ 2147483648 ^ lX8 ^ lY8;
}
if (lX4 | lY4) {
if (lResult & 1073741824) {
return lResult ^ 3221225472 ^ lX8 ^ lY8;
} else {
return lResult ^ 1073741824 ^ lX8 ^ lY8;
}
} else {
return lResult ^ lX8 ^ lY8;
}
}
function F(x2, y, z) {
return x2 & y | ~x2 & z;
}
function G(x2, y, z) {
return x2 & z | y & ~z;
}
function H(x2, y, z) {
return x2 ^ y ^ z;
}
function I(x2, y, z) {
return y ^ (x2 | ~z);
}
function FF(a2, b2, c2, d2, x2, s, ac) {
a2 = AddUnsigned(a2, AddUnsigned(AddUnsigned(F(b2, c2, d2), x2), ac));
return AddUnsigned(RotateLeft(a2, s), b2);
}
function GG(a2, b2, c2, d2, x2, s, ac) {
a2 = AddUnsigned(a2, AddUnsigned(AddUnsigned(G(b2, c2, d2), x2), ac));
return AddUnsigned(RotateLeft(a2, s), b2);
}
function HH(a2, b2, c2, d2, x2, s, ac) {
a2 = AddUnsigned(a2, AddUnsigned(AddUnsigned(H(b2, c2, d2), x2), ac));
return AddUnsigned(RotateLeft(a2, s), b2);
}
function II(a2, b2, c2, d2, x2, s, ac) {
a2 = AddUnsigned(a2, AddUnsigned(AddUnsigned(I(b2, c2, d2), x2), ac));
return AddUnsigned(RotateLeft(a2, s), b2);
}
function ConvertToWordArray(string2) {
var lWordCount;
var lMessageLength = string2.length;
var lNumberOfWords_temp1 = lMessageLength + 8;
var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - lNumberOfWords_temp1 % 64) / 64;
var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
var lWordArray = Array(lNumberOfWords - 1);
var lBytePosition = 0;
var lByteCount = 0;
while (lByteCount < lMessageLength) {
lWordCount = (lByteCount - lByteCount % 4) / 4;
lBytePosition = lByteCount % 4 * 8;
lWordArray[lWordCount] = lWordArray[lWordCount] | string2.charCodeAt(lByteCount) << lBytePosition;
lByteCount++;
}
lWordCount = (lByteCount - lByteCount % 4) / 4;
lBytePosition = lByteCount % 4 * 8;
lWordArray[lWordCount] = lWordArray[lWordCount] | 128 << lBytePosition;
lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
return lWordArray;
}
function WordToHex(lValue) {
var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount;
for (lCount = 0; lCount <= 3; lCount++) {
lByte = lValue >>> lCount * 8 & 255;
WordToHexValue_temp = "0" + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
}
return WordToHexValue;
}
function Utf8Encode(string2) {
string2 = string2.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string2.length; n++) {
var c2 = string2.charCodeAt(n);
if (c2 < 128) {
utftext += String.fromCharCode(c2);
} else if (c2 > 127 && c2 < 2048) {
utftext += String.fromCharCode(c2 >> 6 | 192);
utftext += String.fromCharCode(c2 & 63 | 128);
} else {
utftext += String.fromCharCode(c2 >> 12 | 224);
utftext += String.fromCharCode(c2 >> 6 & 63 | 128);
utftext += String.fromCharCode(c2 & 63 | 128);
}
}
return utftext;
}
var x = Array();
var k, AA, BB, CC, DD, a, b, c, d;
var S11 = 7, S12 = 12, S13 = 17, S14 = 22;
var S21 = 5, S22 = 9, S23 = 14, S24 = 20;
var S31 = 4, S32 = 11, S33 = 16, S34 = 23;
var S41 = 6, S42 = 10, S43 = 15, S44 = 21;
string = Utf8Encode(string);
x = ConvertToWordArray(string);
a = 1732584193;
b = 4023233417;
c = 2562383102;
d = 271733878;
for (k = 0; k < x.length; k += 16) {
AA = a;
BB = b;
CC = c;
DD = d;
a = FF(a, b, c, d, x[k + 0], S11, 3614090360);
d = FF(d, a, b, c, x[k + 1], S12, 3905402710);
c = FF(c, d, a, b, x[k + 2], S13, 606105819);
b = FF(b, c, d, a, x[k + 3], S14, 3250441966);
a = FF(a, b, c, d, x[k + 4], S11, 4118548399);
d = FF(d, a, b, c, x[k + 5], S12, 1200080426);
c = FF(c, d, a, b, x[k + 6], S13, 2821735955);
b = FF(b, c, d, a, x[k + 7], S14, 4249261313);
a = FF(a, b, c, d, x[k + 8], S11, 1770035416);
d = FF(d, a, b, c, x[k + 9], S12, 2336552879);
c = FF(c, d, a, b, x[k + 10], S13, 4294925233);
b = FF(b, c, d, a, x[k + 11], S14, 2304563134);
a = FF(a, b, c, d, x[k + 12], S11, 1804603682);
d = FF(d, a, b, c, x[k + 13], S12, 4254626195);
c = FF(c, d, a, b, x[k + 14], S13, 2792965006);
b = FF(b, c, d, a, x[k + 15], S14, 1236535329);
a = GG(a, b, c, d, x[k + 1], S21, 4129170786);
d = GG(d, a, b, c, x[k + 6], S22, 3225465664);
c = GG(c, d, a, b, x[k + 11], S23, 643717713);
b = GG(b, c, d, a, x[k + 0], S24, 3921069994);
a = GG(a, b, c, d, x[k + 5], S21, 3593408605);
d = GG(d, a, b, c, x[k + 10], S22, 38016083);
c = GG(c, d, a, b, x[k + 15], S23, 3634488961);
b = GG(b, c, d, a, x[k + 4], S24, 3889429448);
a = GG(a, b, c, d, x[k + 9], S21, 568446438);
d = GG(d, a, b, c, x[k + 14], S22, 3275163606);
c = GG(c, d, a, b, x[k + 3], S23, 4107603335);
b = GG(b, c, d, a, x[k + 8], S24, 1163531501);
a = GG(a, b, c, d, x[k + 13], S21, 2850285829);
d = GG(d, a, b, c, x[k + 2], S22, 4243563512);
c = GG(c, d, a, b, x[k + 7], S23, 1735328473);
b = GG(b, c, d, a, x[k + 12], S24, 2368359562);
a = HH(a, b, c, d, x[k + 5], S31, 4294588738);
d = HH(d, a, b, c, x[k + 8], S32, 2272392833);
c = HH(c, d, a, b, x[k + 11], S33, 1839030562);
b = HH(b, c, d, a, x[k + 14], S34, 4259657740);
a = HH(a, b, c, d, x[k + 1], S31, 2763975236);
d = HH(d, a, b, c, x[k + 4], S32, 1272893353);
c = HH(c, d, a, b, x[k + 7], S33, 4139469664);
b = HH(b, c, d, a, x[k + 10], S34, 3200236656);
a = HH(a, b, c, d, x[k + 13], S31, 681279174);
d = HH(d, a, b, c, x[k + 0], S32, 3936430074);
c = HH(c, d, a, b, x[k + 3], S33, 3572445317);
b = HH(b, c, d, a, x[k + 6], S34, 76029189);
a = HH(a, b, c, d, x[k + 9], S31, 3654602809);
d = HH(d, a, b, c, x[k + 12], S32, 3873151461);
c = HH(c, d, a, b, x[k + 15], S33, 530742520);
b = HH(b, c, d, a, x[k + 2], S34, 3299628645);
a = II(a, b, c, d, x[k + 0], S41, 4096336452);
d = II(d, a, b, c, x[k + 7], S42, 1126891415);
c = II(c, d, a, b, x[k + 14], S43, 2878612391);
b = II(b, c, d, a, x[k + 5], S44, 4237533241);
a = II(a, b, c, d, x[k + 12], S41, 1700485571);
d = II(d, a, b, c, x[k + 3], S42, 2399980690);
c = II(c, d, a, b, x[k + 10], S43, 4293915773);
b = II(b, c, d, a, x[k + 1], S44, 2240044497);
a = II(a, b, c, d, x[k + 8], S41, 1873313359);
d = II(d, a, b, c, x[k + 15], S42, 4264355552);
c = II(c, d, a, b, x[k + 6], S43, 2734768916);
b = II(b, c, d, a, x[k + 13], S44, 1309151649);
a = II(a, b, c, d, x[k + 4], S41, 4149444226);
d = II(d, a, b, c, x[k + 11], S42, 3174756917);
c = II(c, d, a, b, x[k + 2], S43, 718787259);
b = II(b, c, d, a, x[k + 9], S44, 3951481745);
a = AddUnsigned(a, AA);
b = AddUnsigned(b, BB);
c = AddUnsigned(c, CC);
d = AddUnsigned(d, DD);
}
var temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d);
return temp.toLowerCase();
};
// src/utils/string.ts
var trim = function(str, patternStr = "\\s", replaceStr = "") {
if (typeof str === "string") {
patternStr.replace(/\s+/, "") === "" && (patternStr = "\\s");
let re = new RegExp(`^(${patternStr})*(.*?)(${patternStr})*$`);
return str.replace(re, function(_, one, two, three) {
let returnStr = "";
if (patternStr === one) {
returnStr += replaceStr;
}
returnStr += two;
if (patternStr === three) {
returnStr += replaceStr;
}
return returnStr;
});
} else {
return str;
}
};
var md5 = function(str) {
return MD5(str);
};
var generateRandomStr = function(len = 7, seed = [...numList, ...letterUpperList, ...letterLowerList]) {
if (isNum(len) && len > 0) {
var str = "";
var seedLen = seed.length;
for (var i = 0; i < len; i++) {
str += seed[Math.floor(Math.random() * seedLen)];
}
return str;
} else {
throw new Error("\u751F\u6210\u968F\u673A\u5B57\u7B26\u4E32\u9519\u8BEF\uFF0C\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E0");
}
};
var genName = function(len = 5, firstSeed = ["$", "_", ...letterUpperList, ...letterLowerList], otherSeed) {
if (isNum(len) && len > 1) {
return generateRandomStr(1, firstSeed) + generateRandomStr(len - 1, otherSeed);
} else {
throw new Error("\u751F\u6210\u540D\u5B57\u9519\u8BEF\uFF0C\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E1");
}
};
var generateUUID = function() {
return generateUnique("xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx");
};
var generateUnique = function(seed = 5, codingBits = 16) {
return function(global) {
(typeof codingBits !== "number" || codingBits < 2 || codingBits > 36) && (codingBits = 16);
if (typeof seed === "number" && seed > 0) {
seed = "x".repeat(seed) + "y";
} else if (typeof seed !== "string" || seed.length < 2) {
seed = "xxxxxxy";
}
var d = (/* @__PURE__ */ new Date()).getTime();
const performance = global.performance;
if (performance && isFunc(performance.now)) {
d += performance.now();
}
var uuid = seed.replace(/[xy]/g, function(c) {
var r = (d + Math.random() * codingBits) % codingBits | 0;
d = Math.floor(d / codingBits);
return (c === "x" ? r : r & 3 | codingBits / 2).toString(codingBits);
});
return uuid;
}(this || window || globalThis);
};
var camelToKebab = function(camelStr) {
const isUpper = camelStr[0].charCodeAt(0) >= 65 && camelStr[0].charCodeAt(0) <= 90;
const handleStr = camelStr.replace(/([A-Z])/g, "-$1").toLowerCase();
let kebabStr = handleStr;
if (isUpper) {
kebabStr = handleStr.slice(1);
}
const newKebabArr = [];
const kebabSplitArr = kebabStr.split("-");
kebabSplitArr.forEach((item, index) => {
if (item.length > 1) {
newKebabArr.push(item);
} else {
let combineStr = "";
const subKebabArr = kebabSplitArr.slice(index);
for (let i = 0; i < subKebabArr.length; i++) {
if (subKebabArr[i].length > 1)
break;
combineStr += subKebabArr[i];
}
newKebabArr.push(combineStr);
kebabSplitArr.splice(index + 1, combineStr.length - 1);
}
});
return newKebabArr.join("-");
};
var firstUpperCase = function(str) {
if (isStr(str)) {
return str.slice(0, 1).toUpperCase() + str.slice(1);
} else {
return str;
}
};
var firstLowerCase = function(str) {
if (isStr(str)) {
return str.slice(0, 1).toLocaleLowerCase() + str.slice(1);
} else {
return str;
}
};
var lineToCamel = function(str) {
if (isStr(str)) {
return str.replace(/([-_]+[a-zA-Z0-9])/g, ($0) => $0.toUpperCase().replace(/\-/g, "").replace(/_/g, ""));
} else {
return str;
}
};
var lineToUpCamel = function(str) {
if (isStr(str)) {
return firstUpperCase(lineToCamel(str));
} else {
return str;
}
};
var camelToLine = function(str) {
if (isStr(str)) {
let temp = str.replace(/[A-Z]/g, function(match) {
return "_" + match.toLowerCase();
});
if (temp.slice(0, 1) === "_") {
temp = temp.slice(1);
}
return temp;
} else {
return str;
}
};
var toUrlParams = function(obj) {
const params = {};
if (isObj(obj)) {
for (const key in obj) {
const val = obj[key];
if (isArr(val)) {
params[key] = val.join(",");
} else if (isObj(val)) {
params[key] = JSON.stringify(val);
} else if (isNum(val) || isStr(val)) {
params[key] = val;
} else {
params[key] = "";
}
}
}
return params;
};
// src/utils/type.ts
var isFunction = function(func) {
return typeof func === "function";
};
var isUndefined = function(...args) {
if (Array.isArray(args) && args.length > 0) {
let uNum = 0;
for (var i = 0; i < args.length; i++) {
let it = args[i];
if (typeof it === "undefined") {
uNum++;
} else {
return false;
}
}
return uNum === args.length;
} else {
return true;
}
};
var isUndefinedOrNull = function(...args) {
if (Array.isArray(args) && args.length > 0) {
let uNum = 0;
for (var i = 0; i < args.length; i++) {
let it = args[i];
if (typeof it === "undefined" || it === null) {
uNum++;
} else {
return false;
}
}
return uNum === args.length;
} else {
return true;
}
};
var isObj = function(obj) {
return typeof obj === "object" && obj !== null;
};
var isStr = function(str) {
return typeof str === "string" && trim(str) !== "";
};
var isNum = function(num) {
return typeof num === "number" && !isNaN(num);
};
var isNumStr = function(num) {
return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(num);
};
var isInitStr = function(num) {
return /^\d+$/.test(num);
};
var isFunc = function(func) {
return func && typeof func === "function";
};
var isArr = function(arr) {
return Array.isArray(arr);
};
var isBool = function(bool) {
return typeof bool === "boolean";
};
// src/core/http-filter.ts
var defaultPaging = {
pageSize: 10,
pageNum: 0,
total: 0,
current: 1,
hasMore: false,
init: false,
success: false,
error: false,
fail: false,
empty: false,
msg: "\u521D\u59CB\u5316\u5206\u9875"
};
var pageDecorate = function(success, fail, error, msg, pageData) {
const { data: _data, pageSize = 10, pageNum = 0, total = 0, current = 1, extension } = pageData;
const data = isArr(_data) ? [..._data] : [];
const reponseMsg = `${success ? isArr(_data) ? msg : "\u6570\u636E\u683C\u5F0F\u9519\u8BEF" : msg || "\u83B7\u53D6\u6570\u636E\u9519\u8BEF"}`;
return {
paging: {
pageSize,
pageNum,
total,
current,
hasMore: pageNum > current && total > 0,
init: true,
success,
error,
fail,
empty: !(data.length > 0 && total > 0),
msg: reponseMsg
},
data,
pageExtension: extension || {}
};
};
var ResponseFilter = class {
constructor(options) {
// 错误函数
this.error = console.error;
const { error } = options;
if (error) {
this.error = error;
}
}
/**
* 设置错误函数
*
* @param errorFunc
*/
setErrorFunc(errorFunc) {
if (isFunc(errorFunc)) {
this.error = errorFunc;
}
}
/**
* 对响应数据进行过滤,得到过滤的数据
*
* @param responsePromise
* @param filterHanlder
* @returns
*/
filter(responsePromise, filterHanlder, showTip = false) {
return new Promise((resolve, reject) => {
responsePromise.then((res) => {
if (res.success) {
resolve(filterHanlder ? filterHanlder(res.data) : res.data);
} else if (isUndefined(res.success, res.code, res.errcode)) {
resolve(filterHanlder ? filterHanlder(res) : res);
} else {
if (showTip) {
if (res.code === 230) {
for (const it of res.data) {
this.error(it.message || "\u7CFB\u7EDF\u5F00\u5C0F\u5DEE\u4E86\uFF5E", res);
break;
}
} else {
this.error(res.msg || "\u7CFB\u7EDF\u5F00\u5C0F\u5DEE\u4E86\uFF5E", res);
}
}
reject(res);
}
}).catch(reject);
});
}
/**
* 响应装饰(返回响应格式)
*
* @param responsePromise 响应promise
* @param decorateHanlder 装饰器
* @returns
*/
responseDecorate(responsePromise, decorateHanlder) {
return new Promise((resolve, reject) => {
responsePromise.then((res) => {
if (res.success) {
const _a = res, { data } = _a, other = __objRest(_a, ["data"]);
resolve(__spreadProps(__spreadValues({}, other), {
data: decorateHanlder ? decorateHanlder(data) : data
}));
} else if (isUndefined(res.success, res.code, res.errcode)) {
console.warn("\u54CD\u5E94\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u5DF2\u7ECF\u5F3A\u5236\u8F6C\u6362\uFF1A", res);
resolve({
code: 201,
msg: "\u5F3A\u5236\u5207\u6362\u683C\u5F0F",
errcode: 0,
data: decorateHanlder ? decorateHanlder(res) : res,
success: true,
fail: false,
error: false,
timeout: false
});
} else {
reject(res);
}
}).catch(reject);
});
}
/**
* 对分页数据进行过滤
*
* @param getPagingService
* @param filterHanlder
* @returns
*/
pageFilter(getPagingService, filterHanlder) {
return new Promise((resolve) => {
try {
getPagingService.then((res) => {
const { success, fail, error, msg, data } = res;
if (success && isArr(data == null ? void 0 : data.data)) {
const newData = (filterHanlder && isFunc(filterHanlder) ? filterHanlder : (d) => d)(data);
resolve(pageDecorate(success, fail, error, msg, newData));
} else {
globalVar.debug && console.error("\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF0\uFF1A", res);
resolve(pageDecorate(false, false, true, msg || "\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF", []));
}
}).catch((err) => {
globalVar.debug && console.error("\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF1\uFF1A", err);
resolve(pageDecorate(false, false, true, (err == null ? void 0 : err.msg) || err || "\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF", []));
});
} catch (err) {
globalVar.debug && console.error("\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF2\uFF1A", err);
resolve(pageDecorate(false, false, true, (err == null ? void 0 : err.msg) || err || "\u83B7\u53D6\u5206\u9875\u6570\u636E\u9519\u8BEF", []));
}
});
}
/**
* 列表数据转分页数据并过滤
*
* @param getListService
* @param filterHanlder
* @returns
*/
list2PageFilter(getListService, filterHanlder) {
return new Promise((resolve) => {
try {
getListService.then((res) => {
const { success, fail, error, msg, data: dataList } = res;
if (success && isArr(dataList)) {
const newData = (filterHanlder && isFunc(filterHanlder) ? filterHanlder : (d) => d)({
pageSize: dataList.length,
current: 1,
total: dataList.length,
pageNum: 1,
data: dataList
});
resolve(pageDecorate(success, fail, error, msg, newData));
} else {
globalVar.debug && console.error("\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF0\uFF1A", res);
resolve(pageDecorate(false, false, true, msg || "\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF", []));
}
}).catch((err) => {
globalVar.debug && console.error("\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF1\uFF1A", err);
resolve(pageDecorate(false, false, true, (err == null ? void 0 : err.msg) || err || "\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF", []));
});
} catch (err) {
globalVar.debug && console.error("\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF2\uFF1A", err);
resolve(pageDecorate(false, false, true, (err == null ? void 0 : err.msg) || err || "\u5217\u8868\u6570\u636E\u83B7\u53D6\u9519\u8BEF", []));
}
});
}
/**
* 响应统一处理(对于响应的错误进行统一处理)
*
* @param responsePromise
* @param filterHanlder
* @param showTip
* @returns
*/
unifyRemind(responsePromise, filterHanlder, showTip = true) {
return new Promise((resolve, reject) => {
responsePromise.then((res) => {
const { data, success } = res;
if (success) {
if (filterHanlder) {
resolve(filterHanlder(data));
} else {
resolve(data);
}
} else {
if (showTip) {
if (res.code === 230) {
for (const it of res.data) {
this.error(it.message || "\u7CFB\u7EDF\u5F00\u5C0F\u5DEE\u4E86\uFF5E", res);
break;
}
} else {
this.error(res.msg || "\u7CFB\u7EDF\u5F00\u5C0F\u5DEE\u4E86\uFF5E", res);
}
}
reject(res);
}
}).catch((err) => {
if (showTip) {
this.error(err.msg || "\u7CFB\u7EDF\u5F00\u5C0F\u5DEE\u4E86\uFF5E", err);
}
reject(err);
});
});
}
};
// src/utils/url.ts
var requestStr2Obj = function(requestUrl, valAutoDecode = true, autoChangeVal = true) {
requestUrl = requestUrl.replace(/^.*?\?(.*?)$/, "$1");
var requestArr = requestUrl.split("&");
var valueRe = /^([a-zA-Z0-9\_\_]+)=(.*?)$/;
var paramsObj = {};
const val2Real = (val) => {
if (!autoChangeVal) {
return val;
}
let intRe = /^[1-9]\d*$/, floatRe = /^\d*\.\d*$/, trueRe = /^true$/i, falseRe = /^false$/i;
if (falseRe.test(val)) {
return false;
} else if (trueRe.test(val)) {
return true;
} else if (floatRe.test(val)) {
return parseFloat(val);
} else if (intRe.test(val) || val === "0") {
return parseInt(val);
} else {
return val;
}
};
for (var i = 0, it; i < requestArr.length; i++) {
it = requestArr[i];
if (valueRe.test(it)) {
const key = it.replace(valueRe, "$1");
const val = it.replace(valueRe, "$2");
paramsObj[urlDecode(key)] = val2Real(valAutoDecode ? urlDecode(val) : val);
}
}
return paramsObj;
};
var urlEncode = function(str) {
const strEncode = function(encodeStr) {
if (isStr(encodeStr) && urlDecode(encodeStr) !== encodeStr) {
return encodeStr;
} else {
return encodeURIComponent(encodeStr);
}
};
try {
const json = JSON.parse(str);
if (json === void 0) {
return strEncode;
} else {
return encodeURIComponent(str);
}
} catch (e) {
return encodeURIComponent(str);
}
};
var urlDecode = function(str) {
if (isStr(str)) {
try {
return decodeURIComponent(str);
} catch (e) {
return str;
}
} else {
return str;
}
};
var obj2RequestUrl = function(obj) {
if (typeof obj === "object" && obj !== null) {
var newObj = JSON.parse(JSON.stringify(obj));
var tempRequestArr = [];
for (var i in newObj) {
var val = newObj[i];
if (typeof i !== "string" || i === "") {
continue;
} else {
var key = i;
var attrStr = "";
if (Array.isArray(val)) {
if (!/\[\]$/.test(key)) {
key += "[]";
}
var valAttr = [];
for (var i in val) {
if (typeof val[i] === "object") {
console.error("\u53EA\u662F\u652F\u6301\u4E00\u7EA7\u6570\u7EC4\uFF01\uFF01\uFF01");
continue;
} else {
valAttr.push(key + "=" + urlEncode(val[i]));
}
}
attrStr = valAttr.join("&");
} else if (typeof val === "object") {
attrStr = key + "=" + urlEncode(JSON.stringify(val));
} else {
attrStr = key + "=" + urlEncode(val);
}
tempRequestArr.push(attrStr);
}
}
return tempRequestArr.join("&");
} else {
console.error("\u65E0\u6CD5\u8F6C\u6362\uFF0C\u4F7F\u7528Object\u4E0D\u5408\u6CD5\uFF01\uFF01\uFF01", obj);
return "";
}
};
var mergeUrl = function(mainUrl, ...param) {
if (typeof mainUrl !== "string") {
throw new Error("main url main be a string!");
} else {
let allRequest = {};
for (var i = 0; i < param.length; i++) {
var item = param[i];
if (typeof item === "object") {
Object.assign(allRequest, item);
} else if (typeof item === "string") {
Object.assign(allRequest, requestStr2Obj(item, true, false));
}
}
const urlParts = mainUrl.split("?");
let hash = "";
if (urlParts.length === 2) {
const hashParts = urlParts[1].split("#");
Object.assign(allRequest, requestStr2Obj(urlParts[1], true, false));
if (hashParts.length > 1) {
hash = "#" + hashParts[1];
}
}
const searchUrl = Object.keys(allRequest).length > 0 ? `?${obj2RequestUrl(allRequest)}` : "";
return `${urlParts[0]}${searchUrl}${hash}`;
}
};
// src/utils/object.ts
var getColumnValue = function(data, name, defaultValue) {
if (data) {
if (name) {
var nameArr = [];
if (isStr(name)) {
nameArr = name.split(".");
} else if (isArr(name)) {
nameArr = name;
} else {
nameArr.push(name);
}
var i = 0;
let newData = data;
if (nameArr.length > 0) {
if (typeof newData === "object" && newData !== null) {
const arrRe = /^\s*(.*?)\[(\d+)\]\s*$/;
const getVal = (data2, key) => {
if (isObj(data2)) {
if (arrRe.test(key)) {
const [newKey, index] = key.match(arrRe);
data2 = data2[newKey];
if (isObj(data2)) {
return data2[index];
} else {
return defaultValue;
}
} else {
return data2[key + ""] || defaultValue;
}
} else {
return defaultValue;
}
};
do {
newData = getVal(newData, nameArr[i]);
i++;
} while (nameArr.length > i && typeof newData === "object" && newData !== null);
}
return newData || defaultValue;
} else {
return defaultValue;
}
} else {
return data;
}
} else {
return defaultValue;
}
};
var setColumnValue = function(goalObj, keys, value) {
const goal = goalObj || {};
let temp = goal;
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
if (key) {
if (i + 1 === keys.length) {
temp[key] = value;
} else {
if (!temp[key]) {
temp[key] = {};
}
temp = temp[key];
}
}
}
return goal;
};
var setDictValue = function(data, name, value) {
if (!data) {
data = {};
}
var nameArr = [];
if (isStr(name)) {
nameArr = name.split(".");
} else if (isArr(name)) {
nameArr = name;
} else {
nameArr.push(name);
}
let tempData = data;
const lastName = nameArr.pop();
for (const it of nameArr) {
if (!isObj(tempData[it])) {
tempData[it] = {};
}
tempData = tempData[it];
}
tempData[lastName] = value;
return data;
};
var getColumnValueAndRenderByName = function(name, data, render = null) {
if (typeof name === "string") {
var nameArr = name.split(".");
var i = 0;
let newData = data;
if (nameArr.length > 0) {
if (typeof newData === "object" && newData !== null) {
const arrRe = /^\s*(.*?)\[(\d+)\]\s*$/;
const getVal = (data2, key) => {
if (typeof data2 === "object" && data2 !== null) {
if (arrRe.test(key)) {
const [newKey, index] = key.match(arrRe);
data2 = data2[newKey];
if (typeof data2 === "object" && data2 !== null) {
return data2[index];
} else {
return void 0;
}
} else {
return data2[key];
}
} else {
return void 0;
}
};
do {
newData = getVal(newData, nameArr[i]);
i++;
} while (nameArr.length > i && typeof newData === "object" && newData !== null);
}
return typeof render === "function" ? render(0, 0, newData) : newData;
} else {
return void 0;
}
} else {
return void 0;
}
};
var deepClone = function(obj, debug = true) {
try {
return JSON.parse(JSON.stringify(obj));
} catch (err) {
if (debug) {
console.error("\u6DF1\u5EA6\u514B\u9686\u9519\u8BEF\uFF1A", err);
}
return obj;
}
};
var toJson = function(str, debug = true) {
try {
if (typeof str === "string" && str !== "") {
const removeSenseRe = /([:\{\[,])\\"(.*?)\\"([:\}\],])/g;
if (removeSenseRe.test(str)) {
const removeText = '$1"$2"$3';
str = str.replace(removeSenseRe, removeText).replace(removeSenseRe, removeText);
}
return JSON.parse(str);
} else if (typeof str === "object") {
return str;
} else {
if (debug) {
console.warn("\u4E0D\u6B63\u786E\u7684json\u5B57\u7B26\u4E32", str);
}
return str;
}
} catch (err) {
if (debug) {
console.error("\u8F6Cjson\u5BF9\u8C61\u5931\u8D25", err);
}
return str;
}
};
var getArray = function(length, fillOrFillFunc) {
let len = Math.floor(length) || 0;
return new Array(len).fill(null).map((_, i) => {
if (isFunc(fillOrFillFunc)) {
return fillOrFillFunc(i);
} else {
return fillOrFillFunc;
}
});
};
var objFilter = function(obj, valHandler) {
const newObj = {};
if (isObj(obj)) {
let itemFunc = typeof valHandler === "function" ? valHandler : (val) => typeof val != "undefined";
for (const k in obj) {
const it = obj[k];
if (k && k !== "undefined" && itemFunc(it)) {
newObj[k] = it;
}
}
}
return newObj;
};
var objDecorate = function(obj, valHandler, keyHandler) {
const newObj = {};
if (isObj(obj)) {
let keyFunc = isFunc(keyHandler) ? keyHandler : (key) => key + "";
let valFunc = isFunc(valHandler) ? valHandler : (val) => val || "";
for (const k in obj) {
newObj[keyFunc(k)] = valFunc(obj[k]);
}
}
return newObj;
};
var list2Dict = function(data, column = "id", valHandler) {
if (typeof column !== "string" || column === "") {
console.warn("list2Dict\u5B57\u6BB5\u4E0D\u5408\u6CD5\uFF0C\u5DF2\u7ECF\u4F7F\u7528\u9ED8\u8BA4\u5B57\u6BB5id", column);
column = "id";
}
return biList2Dict(data, (it) => it[column], valHandler);
};
var biList2Dict = function(data, keyHandler, valHandler) {
if (Array.isArray(data)) {
const itValHanlder = valHandler && isFunc(valHandler) ? valHandler : (it) => it;
const newDict = {};
data.forEach((it) => {
const key = keyHandler(it);
if (isStr(key) || isNum(key)) {
newDict[key] = itValHanlder(it);
}
});
return newDict;
} else if (typeof data === "object" && data !== null) {
return data;
} else {
console.warn("list2Dict\u6570\u636E\u9519\u8BEF", data);
return {};
}
};
var biDict2List = function(data, itMapHandler) {
if (Array.isArray(data)) {
return data;
} else if (typeof data === "object" && data !== null) {
const newArr = [];
for (const k in data) {
newArr.push(itMapHandler(data[k], k));
}
return newArr;
} else {
return [];
}
};
var dict2List = function(data, keyColumn) {
return biDict2List(data, (it, key) => {
if (isObj(it)) {
if (keyColumn) {
it[keyColumn] = key;
}
}
return it;
});
};
var toList = function(param, separator = ",") {
if (Array.isArray(param)) {
return param;
} else {
if (isObj(param)) {
return dict2List(param);
} else if (param === void 0 || param === null) {
return [];
} else {
return (param + "").split(separator);
}
}
};
var objEq = function(obj1, obj2) {
if (isObj(obj1) && isObj(obj2)) {
const obj1Key = Object.keys(obj1);
const obj2Key = Object.keys(obj2);
if (obj1Key.length == obj2Key.length) {
for (let i = 0; i < obj1Key.length; i++) {
let k = obj1Key[i];
if (!obj2Key.includes(k) || JSON.stringify(urlDecode(obj1[k])) !== JSON.stringify(urlDecode(obj2[k]))) {
return false;
}
}
return true;
}
}
return false;
};
var jsonEq = function(o1, o2) {
return JSON.stringify(o1) === JSON.stringify(o2);
};
var json2Obj = function(str) {
if (isStr(str)) {
try {
return JSON.parse(str);
} catch (err) {
console.warn("\u8F6C\u5BF9\u8C61\u9519\u8BEF=>", str, err);
return str;
}
} else {
return str;
}
};
var getListIndex = function(list, predicate) {
if (isArr(list) && isFunc(predicate)) {
for (let i = 0; i < list.length; i++) {
if (predicate(list[i])) {
return i;
}
}
}
return -1;
};
var listRemoveRepeat = function(data, column = "id", filter = (it) => it) {
const newList = data.map((it) => filter(__spreadValues({}, it)));
const dict = list2Dict(newList, column);
return dict2List(dict, "");
};
var mergeObj = function(baseConfig, ...configs) {
const conf = __spreadValues({}, baseConfig || {});
function merge(conf1, conf2) {
if (isObj(conf1) && isObj(conf2)) {
for (const k in conf2) {
if (isObj(conf1[k]) && isObj(conf2[k])) {
merge(conf1[k], conf2[k]);
} else {
try {
conf1[k] = conf2[k];
} catch (e) {
console.error("\u5C5E\u6027\u65E0\u6CD5\u5199\u5165=>", e);
console.log(typeof conf1[k], typeof conf2[k]);
}
}
}
}
}
for (const config of configs) {
merge(conf, config);
}
return conf;
};
var removeObjColumns = function(obj, ...columns) {
const goal = __spreadValues({}, obj || {});
for (const column of columns) {
delete goal[column];
}
return goal;
};
var removeObjectUndefined = function(obj) {
if (obj != null) {
for (const key in obj) {
if (typeof obj[key] === "undefined")
delete obj[key];
}
return obj;
} else {
return {};
}
};
var isSame = function(arg1, arg2) {
if (!isObj(arg1) && !isObj(arg2)) {
return arg1 == arg2;
} else {
return JSON.stringify(arg1) === JSON.stringify(arg2);
}
};
var getChangeData = function(before, after) {
if (before == null) {
return after || {};
} else if (after == null) {
return before || {};
} else {
const changeData = {};
const beforeKeys = Object.keys(before);
for (const key in after) {
const it = after[key];
if (!beforeKeys.includes(key) || !isSame(before[key], it)) {
changeData[key] = it;
}
}
return changeData;
}
};
var listGroupBy = function(list, keyName) {
if (!isStr(keyName))
return {};
return biListGroupBy(list, (it) => {
if (it) {
return it[keyName];
} else {
return null;
}
});
};
var biListGroupBy = function(list, keyGen) {
const dict = {};
if (list && list.length > 0) {
list.forEach((it) => {
const groupKey = keyGen(it);
if (isStr(groupKey) || isNum(groupKey)) {
if (!isArr(dict[groupKey])) {
dict[groupKey] = [];
}
dict[groupKey].push(it);
}
});
}
return dict;
};
var getListSum = function(list, getNumFunc) {
let sum = 0;
if (list && isArr(list)) {
for (const it of list) {
if (it) {
sum += getNumFunc(it);
}
}
}
return sum;
};
var getListMax = function(list, getNumFunc) {
let max = 0;
if (list && isArr(list)) {
for (const it of list) {
if (it) {
const num = getNumFunc(it);
if (max < num) {
max = num;
}
}
}
}
return max;
};
var listConcat = function(list, itemList) {
if (!isArr(list)) {
list = [];
}
if (isArr(itemList)) {
for (const item of itemList) {
list.push(item);
}
return list;
} else {
return list;
}
};
var toObj = function(key, val) {
const obj = {};
obj[key] = val;
return obj;
};
var getValueIndex = function(listData, findHandler) {
for (let i = 0; i < listData.length; i++) {
if (findHandler(listData[i])) {
return i;
}
}
return -1;
};
var createArr = function(start, end, type = "add") {
var arr = Array.from(new Array(end + 1).keys()).slice(start);
return type === "add" ? arr : arr.reverse();
};
var listAddition = function(list, addNum) {
if (!isArr(list) || list.length > 0)
return list;
const newList = [...list];
if (typeof addNum === "number") {
const num = Number(addNum) || 0;
for (let i = 0; i < newList.length; i++) {
newList[i] = (Number(newList[i]) || 0) + num;
}
} else {
for (let i = 0; i < newList.length; i++) {
newList[i] = (Number(newList[i]) || 0) + (Number(addNum[i]) || 0);
}
}
return newList;
};
var list2Tree = function(list, options) {
const { pidColumn = "pid", idColumn = "id", childrenColumn = "children", startIndex = 0, childCanNull = false } = options || {};
const pidGroup = listGroupBy(list, pidColumn);
for (const pid in pidGroup) {
pidGroup[pid].forEach((it) => {
const children = pidGroup[it[idColumn]];
if (isArr(children) && children.length > 0) {
it[childrenColumn] = children;
} else {
if (childCanNull) {
it[childrenColumn] = [];
}
}
});
}
return pidGroup[startIndex];
};
var findIndex = function(list, findHandler, defaultValue = -1) {
for (let i = 0; i < list.length; i++) {
const item = list[i];
if (findHandler(item)) {
return i;
}
}
return defaultValue;
};
// src/format/result.ts
var result = {
// 成功
success(res) {
const { code = 200, data = null, msg = i18n.system.success } = res || {};
return { code, msg, data };
},
// 失败
error(res) {
const { code = 600, data = null, msg = i18n.system.error } = res || {};
return { code, msg, data };
},
// 解析结果
parse(res) {
const _a = res || {}, { code = 600, data = null, msg = i18n.system.error } = _a, other = __objRest(_a, ["code", "data", "msg"]);
const codeNum = parseInt(code + "");
const success = codeNum === 200;
const fail = !isNaN(codeNum) && codeNum > 200 && codeNum < 400;
return __spreadProps(__spreadValues({
timeout: false
}, other || {}), {
code,
data,
msg,
success,
fail,
error: !(success || fail)
});
}
};
// src/core/http-server.ts
var getHeader = function(...headers) {
let useHeader = {};
for (const header of headers) {
useHeader = __spreadValues(__spreadValues({}, useHeader), isObj(header) ? header : {});
}