@cloudbase/utilities 2.17.15 → 2.17.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/libs/util.js +8 -7
- package/dist/esm/libs/util.js +8 -7
- package/package.json +3 -3
- package/src/libs/util.ts +5 -5
package/dist/cjs/libs/util.js
CHANGED
|
@@ -37,7 +37,7 @@ function genSeqId() {
|
|
|
37
37
|
exports.genSeqId = genSeqId;
|
|
38
38
|
function generateRequestId() {
|
|
39
39
|
var d = new Date().getTime();
|
|
40
|
-
var d2 = ((
|
|
40
|
+
var d2 = ((Date === null || Date === void 0 ? void 0 : Date.now) && (Date.now() * 1000)) || 0;
|
|
41
41
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
42
42
|
var r = Math.random() * 16;
|
|
43
43
|
if (d > 0) {
|
|
@@ -175,12 +175,13 @@ function throwError(error, msg) {
|
|
|
175
175
|
}
|
|
176
176
|
exports.throwError = throwError;
|
|
177
177
|
function printGroupLog(options) {
|
|
178
|
-
var
|
|
178
|
+
var _a;
|
|
179
|
+
var title = options.title, _b = options.subtitle, subtitle = _b === void 0 ? '' : _b, _c = options.content, content = _c === void 0 ? [] : _c, _d = options.printTrace, printTrace = _d === void 0 ? false : _d, _e = options.collapsed, collapsed = _e === void 0 ? false : _e;
|
|
179
180
|
if (collapsed) {
|
|
180
|
-
console.groupCollapsed(title, subtitle);
|
|
181
|
+
(console.groupCollapsed || console.error)(title, subtitle);
|
|
181
182
|
}
|
|
182
183
|
else {
|
|
183
|
-
console.group(title, subtitle);
|
|
184
|
+
(console.group || console.error)(title, subtitle);
|
|
184
185
|
}
|
|
185
186
|
for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {
|
|
186
187
|
var tip = content_1[_i];
|
|
@@ -198,9 +199,9 @@ function printGroupLog(options) {
|
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
if (printTrace) {
|
|
201
|
-
console.trace('stack trace:');
|
|
202
|
+
(console.trace || console.log)('stack trace:');
|
|
202
203
|
}
|
|
203
|
-
console.groupEnd();
|
|
204
|
+
(_a = console.groupEnd) === null || _a === void 0 ? void 0 : _a.call(console);
|
|
204
205
|
}
|
|
205
206
|
exports.printGroupLog = printGroupLog;
|
|
206
207
|
var sleep = function (ms) {
|
|
@@ -237,4 +238,4 @@ var parseQueryString = function (queryString) {
|
|
|
237
238
|
return params;
|
|
238
239
|
};
|
|
239
240
|
exports.parseQueryString = parseQueryString;
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQXlDO0FBRXpDLFNBQWdCLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixDQUFBO0FBQ2pFLENBQUM7QUFGRCwwQkFFQztBQUNELFNBQWdCLFFBQVEsQ0FBQyxHQUFRO0lBQy9CLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFBO0FBQ2hDLENBQUM7QUFGRCw0QkFFQztBQUNELFNBQWdCLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFBO0FBQ25DLENBQUM7QUFGRCxrQ0FFQztBQUNELFNBQWdCLGFBQWEsQ0FBQyxHQUFRO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGlCQUFpQixDQUFBO0FBQ2xFLENBQUM7QUFGRCxzQ0FFQztBQUNELFNBQWdCLE1BQU0sQ0FBQyxHQUFRO0lBQzdCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsQ0FBQTtBQUNoRSxDQUFDO0FBRkQsd0JBRUM7QUFDRCxTQUFnQixZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFBO0FBQ3RDLENBQUM7QUFGRCxvQ0FFQztBQUNELFNBQWdCLFVBQVUsQ0FBQyxHQUFRO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLG1CQUFtQixDQUFBO0FBQ3BFLENBQUM7QUFGRCxnQ0FFQztBQUNELFNBQWdCLFFBQVE7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TSxNQUFNLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLElBQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7UUFDYixJQUFBLEtBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBN0IsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFtQixDQUFBO1FBQ2xDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM3QixLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDakMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQ3hCO3FCQUFNO29CQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtpQkFDbkM7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO2FBQ3BCO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBdkJZLFFBQUEsZ0JBQWdCLG9CQXVCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLViB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5pbXBvcnQgeyBnZXRTZGtOYW1lIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheSh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEFycmF5XSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZydcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1BhbGluT2JqZWN0KHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBOdWxsXSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0luc3RhbmNlT2YoaW5zdGFuY2U6IGFueSwgY29uc3RydWN0OiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluc3RhbmNlIGluc3RhbmNlb2YgY29uc3RydWN0XG59XG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtRGF0YSh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZvcm1EYXRhXSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5TZXFJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygxNilcbiAgICAuc2xpY2UoMilcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVJlcXVlc3RJZCgpIHtcbiAgbGV0IGQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuICBsZXQgZDIgPSAocGVyZm9ybWFuY2U/Lm5vdyAmJiAocGVyZm9ybWFuY2Uubm93KCkgKiAxMDAwKSkgfHwgMFxuICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoYykgPT4ge1xuICAgIGxldCByID0gTWF0aC5yYW5kb20oKSAqIDE2XG4gICAgaWYgKGQgPiAwKSB7XG4gICAgICByID0gKGQgKyByKSAlIDE2IHwgMFxuICAgICAgZCA9IE1hdGguZmxvb3IoZCAvIDE2KVxuICAgIH0gZWxzZSB7XG4gICAgICByID0gKGQyICsgcikgJSAxNiB8IDBcbiAgICAgIGQyID0gTWF0aC5mbG9vcihkMiAvIDE2KVxuICAgIH1cbiAgICByZXR1cm4gKGMgPT09ICd4JyA/IHIgOiAoKHIgJiAweDcpIHwgMHg4KSkudG9TdHJpbmcoMTYpXG4gIH0pXG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VXJsKFBST1RPQ09MOiBzdHJpbmcsIHVybDogc3RyaW5nLCBxdWVyeTogS1Y8YW55PiA9IHt9KTogc3RyaW5nIHtcbiAgY29uc3QgdXJsSGFzUXVlcnkgPSAvXFw/Ly50ZXN0KHVybClcbiAgbGV0IHF1ZXJ5U3RyaW5nID0gJydcbiAgT2JqZWN0LmtleXMocXVlcnkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmIChxdWVyeVN0cmluZyA9PT0gJycpIHtcbiAgICAgICF1cmxIYXNRdWVyeSAmJiAodXJsICs9ICc/JylcbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gJyYnXG4gICAgfVxuICAgIHF1ZXJ5U3RyaW5nICs9IGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnlba2V5XSl9YFxuICB9KVxuICB1cmwgKz0gcXVlcnlTdHJpbmdcbiAgaWYgKC9eaHR0cChzKT86XFwvXFwvLy50ZXN0KHVybCkpIHtcbiAgICByZXR1cm4gdXJsXG4gIH1cbiAgcmV0dXJuIGAke1BST1RPQ09MfSR7dXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTdHJpbmcocXVlcnk6IEtWPGFueT4gPSB7fSkge1xuICBjb25zdCBxdWVyeVN0cmluZyA9IFtdXG4gIE9iamVjdC5rZXlzKHF1ZXJ5KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBxdWVyeVN0cmluZy5wdXNoKGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnlba2V5XSl9YClcbiAgfSlcbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nLmpvaW4oJyYnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnkobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgLy8g5Y+C5pWw77ya5Y+Y6YeP5ZCN77yMdXJs5Li656m65YiZ6KGo5LuO5b2T5YmN6aG16Z2i55qEdXJs5Lit5Y+WXG4gIGNvbnN0IHUgPSB1cmwgfHwgd2luZG93LmxvY2F0aW9uLnNlYXJjaFxuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKGAoXnwmKSR7bmFtZX09KFteJl0qKSgmfCQpYClcbiAgY29uc3QgciA9IHUuc3Vic3RyKHUuaW5kZXhPZignPycpICsgMSkubWF0Y2gocmVnKVxuICByZXR1cm4gKHIgIT09IG51bGwgJiYgciAhPT0gdW5kZWZpbmVkKSA/IHJbMl0gOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFzaCA9IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuICcnXG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKG5ldyBSZWdFeHAoYFsjPyYvXSR7bmFtZX09KFteJiNdKilgKSlcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogJydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVBhcmFtKGtleTogc3RyaW5nLCBzb3VyY2VVUkw6IHN0cmluZykge1xuICBsZXQgcnRuID0gc291cmNlVVJMLnNwbGl0KCc/JylbMF1cbiAgbGV0IHBhcmFtXG4gIGxldCBwYXJhbXMgPSBbXVxuICBjb25zdCBxdWVyeVN0cmluZyA9IHNvdXJjZVVSTC5pbmRleE9mKCc/JykgIT09IC0xID8gc291cmNlVVJMLnNwbGl0KCc/JylbMV0gOiAnJ1xuICBpZiAocXVlcnlTdHJpbmcgIT09ICcnKSB7XG4gICAgcGFyYW1zID0gcXVlcnlTdHJpbmcuc3BsaXQoJyYnKVxuICAgIGZvciAobGV0IGkgPSBwYXJhbXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgcGFyYW0gPSBwYXJhbXNbaV0uc3BsaXQoJz0nKVswXVxuICAgICAgaWYgKHBhcmFtID09PSBrZXkpIHtcbiAgICAgICAgcGFyYW1zLnNwbGljZShpLCAxKVxuICAgICAgfVxuICAgIH1cbiAgICBydG4gPSBgJHtydG59PyR7cGFyYW1zLmpvaW4oJyYnKX1gXG4gIH1cbiAgcmV0dXJuIHJ0blxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvbWlzZUNhbGxiYWNrKCkge1xuICBsZXQgY2I6IGFueVxuICBpZiAoIVByb21pc2UpIHtcbiAgICBjYiA9ICgpID0+IHsgfVxuICAgIGNiLnByb21pc2UgPSB7fVxuXG4gICAgY29uc3QgdGhyb3dQcm9taXNlTm90RGVmaW5lZCA9ICgpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignWW91ciBOb2RlIHJ1bnRpbWUgZG9lcyBzdXBwb3J0IEVTNiBQcm9taXNlcy4gJ1xuICAgICAgICArICdTZXQgXCJnbG9iYWwuUHJvbWlzZVwiIHRvIHlvdXIgcHJlZmVycmVkIGltcGxlbWVudGF0aW9uIG9mIHByb21pc2VzLicpXG4gICAgfVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNiLnByb21pc2UsICd0aGVuJywgeyBnZXQ6IHRocm93UHJvbWlzZU5vdERlZmluZWQgfSlcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2IucHJvbWlzZSwgJ2NhdGNoJywgeyBnZXQ6IHRocm93UHJvbWlzZU5vdERlZmluZWQgfSlcbiAgICByZXR1cm4gY2JcbiAgfVxuXG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY2IgPSAoZXJyLCBkYXRhKSA9PiB7XG4gICAgICBpZiAoZXJyKSByZXR1cm4gcmVqZWN0KGVycilcbiAgICAgIHJldHVybiByZXNvbHZlKGRhdGEpXG4gICAgfVxuICB9KVxuICBjYi5wcm9taXNlID0gcHJvbWlzZVxuICByZXR1cm4gY2Jcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWNDYWxsYmFjayhmbjogRnVuY3Rpb24gfCBudWxsIHwgdW5kZWZpbmVkLCBlcnI6IGFueSwgZGF0YSA9IG51bGwpIHtcbiAgaWYgKGZuICYmIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBmbihlcnIsIGRhdGEpXG4gIH1cbiAgaWYgKGVycikge1xuICAgIHRocm93IGVyclxuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdhcm4oZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS53YXJuKGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS5lcnJvcih7XG4gICAgY29kZTogZXJyb3IsXG4gICAgbXNnOiBgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWAsXG4gIH0pXG59XG5leHBvcnQgZnVuY3Rpb24gcHJpbnRJbmZvKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUubG9nKGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YClcbn1cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0Vycm9yKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgY29kZTogZXJyb3IsXG4gICAgbXNnOiBgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWAsXG4gIH0pKVxufVxuXG5pbnRlcmZhY2UgSVByaW50R3JvdXBMb2dPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZyB8IG9iamVjdDtcbiAgY29udGVudDoge1xuICAgIHR5cGU6ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicsXG4gICAgYm9keTogc3RyaW5nIHwgRXJyb3I7XG4gIH1bXTtcbiAgcHJpbnRUcmFjZT86IGJvb2xlYW47XG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG59XG5leHBvcnQgZnVuY3Rpb24gcHJpbnRHcm91cExvZyhvcHRpb25zOiBJUHJpbnRHcm91cExvZ09wdGlvbnMpIHtcbiAgY29uc3QgeyB0aXRsZSwgc3VidGl0bGUgPSAnJywgY29udGVudCA9IFtdLCBwcmludFRyYWNlID0gZmFsc2UsIGNvbGxhcHNlZCA9IGZhbHNlIH0gPSBvcHRpb25zXG4gIGlmIChjb2xsYXBzZWQpIHtcbiAgICBjb25zb2xlLmdyb3VwQ29sbGFwc2VkKHRpdGxlLCBzdWJ0aXRsZSlcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmdyb3VwKHRpdGxlLCBzdWJ0aXRsZSlcbiAgfVxuICBmb3IgKGNvbnN0IHRpcCBvZiBjb250ZW50KSB7XG4gICAgY29uc3QgeyB0eXBlLCBib2R5IH0gPSB0aXBcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICBjb25zb2xlLmxvZyhib2R5KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgIGNvbnNvbGUud2Fybihib2R5KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBjb25zb2xlLmVycm9yKGJvZHkpXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG4gIGlmIChwcmludFRyYWNlKSB7XG4gICAgY29uc29sZS50cmFjZSgnc3RhY2sgdHJhY2U6JylcbiAgfVxuICBjb25zb2xlLmdyb3VwRW5kKClcbn1cblxuZXhwb3J0IGNvbnN0IHNsZWVwID0gKG1zID0gMCkgPT4gbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIG1zKSlcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVBob25lKHBob25lTnVtYmVyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGArODYke3Bob25lTnVtYmVyfWBcbn1cblxuXG5leHBvcnQgY29uc3QgcGFyc2VRdWVyeVN0cmluZyA9IChxdWVyeVN0cmluZykgPT4ge1xuICBxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnJlcGxhY2UoL15cXD8vLCAnJylcbiAgY29uc3QgcGFyYW1zID0ge31cbiAgY29uc3QgcGFpcnMgPSBxdWVyeVN0cmluZy5zcGxpdCgnJicpXG5cbiAgcGFpcnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIGxldCBba2V5LCB2YWx1ZV0gPSBpdGVtLnNwbGl0KCc9JylcbiAgICBrZXkgPSBkZWNvZGVVUklDb21wb25lbnQoa2V5KVxuICAgIHZhbHVlID0gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKVxuICAgIGlmIChrZXkpIHtcbiAgICAgIGlmIChwYXJhbXNba2V5XSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbXNba2V5XSkpIHtcbiAgICAgICAgICBwYXJhbXNba2V5XS5wdXNoKHZhbHVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcmFtc1trZXldID0gW3BhcmFtc1trZXldLCB2YWx1ZV1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1zW2tleV0gPSB2YWx1ZVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gcGFyYW1zXG59XG4iXX0=
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBQXlDO0FBRXpDLFNBQWdCLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixDQUFBO0FBQ2pFLENBQUM7QUFGRCwwQkFFQztBQUNELFNBQWdCLFFBQVEsQ0FBQyxHQUFRO0lBQy9CLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFBO0FBQ2hDLENBQUM7QUFGRCw0QkFFQztBQUNELFNBQWdCLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFBO0FBQ25DLENBQUM7QUFGRCxrQ0FFQztBQUNELFNBQWdCLGFBQWEsQ0FBQyxHQUFRO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGlCQUFpQixDQUFBO0FBQ2xFLENBQUM7QUFGRCxzQ0FFQztBQUNELFNBQWdCLE1BQU0sQ0FBQyxHQUFRO0lBQzdCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsQ0FBQTtBQUNoRSxDQUFDO0FBRkQsd0JBRUM7QUFDRCxTQUFnQixZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFBO0FBQ3RDLENBQUM7QUFGRCxvQ0FFQztBQUNELFNBQWdCLFVBQVUsQ0FBQyxHQUFRO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLG1CQUFtQixDQUFBO0FBQ3BFLENBQUM7QUFGRCxnQ0FFQztBQUNELFNBQWdCLFFBQVE7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SUFBTSxnQkFBZ0IsR0FBRyxVQUFDLFdBQVc7SUFDMUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixJQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXBDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJO1FBQ2IsSUFBQSxLQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQTdCLEdBQUcsUUFBQSxFQUFFLEtBQUssUUFBbUIsQ0FBQTtRQUNsQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDN0IsS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pDLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUM5QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2lCQUN4QjtxQkFBTTtvQkFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7aUJBQ25DO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTthQUNwQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQXZCWSxRQUFBLGdCQUFnQixvQkF1QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS1YgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0U2RrTmFtZSB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheV0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnXG59XG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICd1bmRlZmluZWQnXG59XG5leHBvcnQgZnVuY3Rpb24gaXNQYWxpbk9iamVjdCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE9iamVjdF0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgTnVsbF0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNJbnN0YW5jZU9mKGluc3RhbmNlOiBhbnksIGNvbnN0cnVjdDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnN0YW5jZSBpbnN0YW5jZW9mIGNvbnN0cnVjdFxufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybURhdGEodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGb3JtRGF0YV0nXG59XG5leHBvcnQgZnVuY3Rpb24gZ2VuU2VxSWQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMTYpXG4gICAgLnNsaWNlKDIpXG59XG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSZXF1ZXN0SWQoKSB7XG4gIGxldCBkID0gbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgbGV0IGQyID0gKERhdGU/Lm5vdyAmJiAoRGF0ZS5ub3coKSAqIDEwMDApKSB8fCAwXG4gIHJldHVybiAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIChjKSA9PiB7XG4gICAgbGV0IHIgPSBNYXRoLnJhbmRvbSgpICogMTZcbiAgICBpZiAoZCA+IDApIHtcbiAgICAgIHIgPSAoZCArIHIpICUgMTYgfCAwXG4gICAgICBkID0gTWF0aC5mbG9vcihkIC8gMTYpXG4gICAgfSBlbHNlIHtcbiAgICAgIHIgPSAoZDIgKyByKSAlIDE2IHwgMFxuICAgICAgZDIgPSBNYXRoLmZsb29yKGQyIC8gMTYpXG4gICAgfVxuICAgIHJldHVybiAoYyA9PT0gJ3gnID8gciA6ICgociAmIDB4NykgfCAweDgpKS50b1N0cmluZygxNilcbiAgfSlcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVcmwoUFJPVE9DT0w6IHN0cmluZywgdXJsOiBzdHJpbmcsIHF1ZXJ5OiBLVjxhbnk+ID0ge30pOiBzdHJpbmcge1xuICBjb25zdCB1cmxIYXNRdWVyeSA9IC9cXD8vLnRlc3QodXJsKVxuICBsZXQgcXVlcnlTdHJpbmcgPSAnJ1xuICBPYmplY3Qua2V5cyhxdWVyeSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYgKHF1ZXJ5U3RyaW5nID09PSAnJykge1xuICAgICAgIXVybEhhc1F1ZXJ5ICYmICh1cmwgKz0gJz8nKVxuICAgIH0gZWxzZSB7XG4gICAgICBxdWVyeVN0cmluZyArPSAnJidcbiAgICB9XG4gICAgcXVlcnlTdHJpbmcgKz0gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeVtrZXldKX1gXG4gIH0pXG4gIHVybCArPSBxdWVyeVN0cmluZ1xuICBpZiAoL15odHRwKHMpPzpcXC9cXC8vLnRlc3QodXJsKSkge1xuICAgIHJldHVybiB1cmxcbiAgfVxuICByZXR1cm4gYCR7UFJPVE9DT0x9JHt1cmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9RdWVyeVN0cmluZyhxdWVyeTogS1Y8YW55PiA9IHt9KSB7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gW11cbiAgT2JqZWN0LmtleXMocXVlcnkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHF1ZXJ5U3RyaW5nLnB1c2goYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeVtrZXldKX1gKVxuICB9KVxuICByZXR1cm4gcXVlcnlTdHJpbmcuam9pbignJicpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeShuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICAvLyDlj4LmlbDvvJrlj5jph4/lkI3vvIx1cmzkuLrnqbrliJnooajku47lvZPliY3pobXpnaLnmoR1cmzkuK3lj5ZcbiAgY29uc3QgdSA9IHVybCB8fCB3aW5kb3cubG9jYXRpb24uc2VhcmNoXG4gIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoYChefCYpJHtuYW1lfT0oW14mXSopKCZ8JClgKVxuICBjb25zdCByID0gdS5zdWJzdHIodS5pbmRleE9mKCc/JykgKyAxKS5tYXRjaChyZWcpXG4gIHJldHVybiAociAhPT0gbnVsbCAmJiByICE9PSB1bmRlZmluZWQpID8gclsyXSA6ICcnXG59XG5cbmV4cG9ydCBjb25zdCBnZXRIYXNoID0gZnVuY3Rpb24gKG5hbWU6IHN0cmluZykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gd2luZG93LmxvY2F0aW9uLmhhc2gubWF0Y2gobmV3IFJlZ0V4cChgWyM/Ji9dJHtuYW1lfT0oW14mI10qKWApKVxuICByZXR1cm4gbWF0Y2hlcyA/IG1hdGNoZXNbMV0gOiAnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUGFyYW0oa2V5OiBzdHJpbmcsIHNvdXJjZVVSTDogc3RyaW5nKSB7XG4gIGxldCBydG4gPSBzb3VyY2VVUkwuc3BsaXQoJz8nKVswXVxuICBsZXQgcGFyYW1cbiAgbGV0IHBhcmFtcyA9IFtdXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gc291cmNlVVJMLmluZGV4T2YoJz8nKSAhPT0gLTEgPyBzb3VyY2VVUkwuc3BsaXQoJz8nKVsxXSA6ICcnXG4gIGlmIChxdWVyeVN0cmluZyAhPT0gJycpIHtcbiAgICBwYXJhbXMgPSBxdWVyeVN0cmluZy5zcGxpdCgnJicpXG4gICAgZm9yIChsZXQgaSA9IHBhcmFtcy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBwYXJhbSA9IHBhcmFtc1tpXS5zcGxpdCgnPScpWzBdXG4gICAgICBpZiAocGFyYW0gPT09IGtleSkge1xuICAgICAgICBwYXJhbXMuc3BsaWNlKGksIDEpXG4gICAgICB9XG4gICAgfVxuICAgIHJ0biA9IGAke3J0bn0/JHtwYXJhbXMuam9pbignJicpfWBcbiAgfVxuICByZXR1cm4gcnRuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9taXNlQ2FsbGJhY2soKSB7XG4gIGxldCBjYjogYW55XG4gIGlmICghUHJvbWlzZSkge1xuICAgIGNiID0gKCkgPT4geyB9XG4gICAgY2IucHJvbWlzZSA9IHt9XG5cbiAgICBjb25zdCB0aHJvd1Byb21pc2VOb3REZWZpbmVkID0gKCkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3VyIE5vZGUgcnVudGltZSBkb2VzIHN1cHBvcnQgRVM2IFByb21pc2VzLiAnXG4gICAgICAgICsgJ1NldCBcImdsb2JhbC5Qcm9taXNlXCIgdG8geW91ciBwcmVmZXJyZWQgaW1wbGVtZW50YXRpb24gb2YgcHJvbWlzZXMuJylcbiAgICB9XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2IucHJvbWlzZSwgJ3RoZW4nLCB7IGdldDogdGhyb3dQcm9taXNlTm90RGVmaW5lZCB9KVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYi5wcm9taXNlLCAnY2F0Y2gnLCB7IGdldDogdGhyb3dQcm9taXNlTm90RGVmaW5lZCB9KVxuICAgIHJldHVybiBjYlxuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjYiA9IChlcnIsIGRhdGEpID0+IHtcbiAgICAgIGlmIChlcnIpIHJldHVybiByZWplY3QoZXJyKVxuICAgICAgcmV0dXJuIHJlc29sdmUoZGF0YSlcbiAgICB9XG4gIH0pXG4gIGNiLnByb21pc2UgPSBwcm9taXNlXG4gIHJldHVybiBjYlxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhlY0NhbGxiYWNrKGZuOiBGdW5jdGlvbiB8IG51bGwgfCB1bmRlZmluZWQsIGVycjogYW55LCBkYXRhID0gbnVsbCkge1xuICBpZiAoZm4gJiYgdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZuKGVyciwgZGF0YSlcbiAgfVxuICBpZiAoZXJyKSB7XG4gICAgdGhyb3cgZXJyXG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50V2FybihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLndhcm4oYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRFcnJvcihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLmVycm9yKHtcbiAgICBjb2RlOiBlcnJvcixcbiAgICBtc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YCxcbiAgfSlcbn1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEluZm8oZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2coYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHRocm93RXJyb3IoZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICBjb2RlOiBlcnJvcixcbiAgICBtc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YCxcbiAgfSkpXG59XG5cbmludGVyZmFjZSBJUHJpbnRHcm91cExvZ09wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nIHwgb2JqZWN0O1xuICBjb250ZW50OiB7XG4gICAgdHlwZTogJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyxcbiAgICBib2R5OiBzdHJpbmcgfCBFcnJvcjtcbiAgfVtdO1xuICBwcmludFRyYWNlPzogYm9vbGVhbjtcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEdyb3VwTG9nKG9wdGlvbnM6IElQcmludEdyb3VwTG9nT3B0aW9ucykge1xuICBjb25zdCB7IHRpdGxlLCBzdWJ0aXRsZSA9ICcnLCBjb250ZW50ID0gW10sIHByaW50VHJhY2UgPSBmYWxzZSwgY29sbGFwc2VkID0gZmFsc2UgfSA9IG9wdGlvbnNcbiAgaWYgKGNvbGxhcHNlZCkge1xuICAgIChjb25zb2xlLmdyb3VwQ29sbGFwc2VkIHx8IGNvbnNvbGUuZXJyb3IpKHRpdGxlLCBzdWJ0aXRsZSlcbiAgfSBlbHNlIHtcbiAgICAoY29uc29sZS5ncm91cCB8fCBjb25zb2xlLmVycm9yKSh0aXRsZSwgc3VidGl0bGUpXG4gIH1cbiAgZm9yIChjb25zdCB0aXAgb2YgY29udGVudCkge1xuICAgIGNvbnN0IHsgdHlwZSwgYm9keSB9ID0gdGlwXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgY29uc29sZS5sb2coYm9keSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICBjb25zb2xlLndhcm4oYm9keSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgY29uc29sZS5lcnJvcihib2R5KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuICBpZiAocHJpbnRUcmFjZSkge1xuICAgIChjb25zb2xlLnRyYWNlIHx8IGNvbnNvbGUubG9nKSgnc3RhY2sgdHJhY2U6JylcbiAgfVxuICBjb25zb2xlLmdyb3VwRW5kPy4oKVxufVxuXG5leHBvcnQgY29uc3Qgc2xlZXAgPSAobXMgPSAwKSA9PiBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgbXMpKVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUGhvbmUocGhvbmVOdW1iZXI6IHN0cmluZykge1xuICByZXR1cm4gYCs4NiR7cGhvbmVOdW1iZXJ9YFxufVxuXG5cbmV4cG9ydCBjb25zdCBwYXJzZVF1ZXJ5U3RyaW5nID0gKHF1ZXJ5U3RyaW5nKSA9PiB7XG4gIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZSgvXlxcPy8sICcnKVxuICBjb25zdCBwYXJhbXMgPSB7fVxuICBjb25zdCBwYWlycyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJylcblxuICBwYWlycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgbGV0IFtrZXksIHZhbHVlXSA9IGl0ZW0uc3BsaXQoJz0nKVxuICAgIGtleSA9IGRlY29kZVVSSUNvbXBvbmVudChrZXkpXG4gICAgdmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpXG4gICAgaWYgKGtleSkge1xuICAgICAgaWYgKHBhcmFtc1trZXldKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICAgIHBhcmFtc1trZXldLnB1c2godmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyYW1zW2tleV0gPSBbcGFyYW1zW2tleV0sIHZhbHVlXVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBwYXJhbXNcbn1cbiJdfQ==
|
package/dist/esm/libs/util.js
CHANGED
|
@@ -26,7 +26,7 @@ export function genSeqId() {
|
|
|
26
26
|
}
|
|
27
27
|
export function generateRequestId() {
|
|
28
28
|
var d = new Date().getTime();
|
|
29
|
-
var d2 = ((
|
|
29
|
+
var d2 = ((Date === null || Date === void 0 ? void 0 : Date.now) && (Date.now() * 1000)) || 0;
|
|
30
30
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
31
31
|
var r = Math.random() * 16;
|
|
32
32
|
if (d > 0) {
|
|
@@ -152,12 +152,13 @@ export function throwError(error, msg) {
|
|
|
152
152
|
}));
|
|
153
153
|
}
|
|
154
154
|
export function printGroupLog(options) {
|
|
155
|
-
var
|
|
155
|
+
var _a;
|
|
156
|
+
var title = options.title, _b = options.subtitle, subtitle = _b === void 0 ? '' : _b, _c = options.content, content = _c === void 0 ? [] : _c, _d = options.printTrace, printTrace = _d === void 0 ? false : _d, _e = options.collapsed, collapsed = _e === void 0 ? false : _e;
|
|
156
157
|
if (collapsed) {
|
|
157
|
-
console.groupCollapsed(title, subtitle);
|
|
158
|
+
(console.groupCollapsed || console.error)(title, subtitle);
|
|
158
159
|
}
|
|
159
160
|
else {
|
|
160
|
-
console.group(title, subtitle);
|
|
161
|
+
(console.group || console.error)(title, subtitle);
|
|
161
162
|
}
|
|
162
163
|
for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {
|
|
163
164
|
var tip = content_1[_i];
|
|
@@ -175,9 +176,9 @@ export function printGroupLog(options) {
|
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
if (printTrace) {
|
|
178
|
-
console.trace('stack trace:');
|
|
179
|
+
(console.trace || console.log)('stack trace:');
|
|
179
180
|
}
|
|
180
|
-
console.groupEnd();
|
|
181
|
+
(_a = console.groupEnd) === null || _a === void 0 ? void 0 : _a.call(console);
|
|
181
182
|
}
|
|
182
183
|
export var sleep = function (ms) {
|
|
183
184
|
if (ms === void 0) { ms = 0; }
|
|
@@ -210,4 +211,4 @@ export var parseQueryString = function (queryString) {
|
|
|
210
211
|
});
|
|
211
212
|
return params;
|
|
212
213
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVE7SUFDOUIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssZ0JBQWdCLENBQUE7QUFDakUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQTtBQUNoQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFBO0FBQ25DLENBQUM7QUFDRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVE7SUFDcEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssaUJBQWlCLENBQUE7QUFDbEUsQ0FBQztBQUNELE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBUTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxlQUFlLENBQUE7QUFDaEUsQ0FBQztBQUNELE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFBO0FBQ3RDLENBQUM7QUFDRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVE7SUFDakMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssbUJBQW1CLENBQUE7QUFDcEUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sSUFBSSxDQUFD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QUcsUUFBQSxFQUFFLEtBQUssUUFBbUIsQ0FBQTtRQUNsQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDN0IsS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pDLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUM5QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2lCQUN4QjtxQkFBTTtvQkFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7aUJBQ25DO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTthQUNwQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtWIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IGdldFNka05hbWUgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAndW5kZWZpbmVkJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUGFsaW5PYmplY3QodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBPYmplY3RdJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE51bGxdJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5zdGFuY2VPZihpbnN0YW5jZTogYW55LCBjb25zdHJ1Y3Q6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaW5zdGFuY2UgaW5zdGFuY2VvZiBjb25zdHJ1Y3Rcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1EYXRhKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgRm9ybURhdGFdJ1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdlblNlcUlkKCk6IHN0cmluZyB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE2KVxuICAgIC5zbGljZSgyKVxufVxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUmVxdWVzdElkKCkge1xuICBsZXQgZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gIGxldCBkMiA9IChwZXJmb3JtYW5jZT8ubm93ICYmIChwZXJmb3JtYW5jZS5ub3coKSAqIDEwMDApKSB8fCAwXG4gIHJldHVybiAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIChjKSA9PiB7XG4gICAgbGV0IHIgPSBNYXRoLnJhbmRvbSgpICogMTZcbiAgICBpZiAoZCA+IDApIHtcbiAgICAgIHIgPSAoZCArIHIpICUgMTYgfCAwXG4gICAgICBkID0gTWF0aC5mbG9vcihkIC8gMTYpXG4gICAgfSBlbHNlIHtcbiAgICAgIHIgPSAoZDIgKyByKSAlIDE2IHwgMFxuICAgICAgZDIgPSBNYXRoLmZsb29yKGQyIC8gMTYpXG4gICAgfVxuICAgIHJldHVybiAoYyA9PT0gJ3gnID8gciA6ICgociAmIDB4NykgfCAweDgpKS50b1N0cmluZygxNilcbiAgfSlcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVcmwoUFJPVE9DT0w6IHN0cmluZywgdXJsOiBzdHJpbmcsIHF1ZXJ5OiBLVjxhbnk+ID0ge30pOiBzdHJpbmcge1xuICBjb25zdCB1cmxIYXNRdWVyeSA9IC9cXD8vLnRlc3QodXJsKVxuICBsZXQgcXVlcnlTdHJpbmcgPSAnJ1xuICBPYmplY3Qua2V5cyhxdWVyeSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYgKHF1ZXJ5U3RyaW5nID09PSAnJykge1xuICAgICAgIXVybEhhc1F1ZXJ5ICYmICh1cmwgKz0gJz8nKVxuICAgIH0gZWxzZSB7XG4gICAgICBxdWVyeVN0cmluZyArPSAnJidcbiAgICB9XG4gICAgcXVlcnlTdHJpbmcgKz0gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeVtrZXldKX1gXG4gIH0pXG4gIHVybCArPSBxdWVyeVN0cmluZ1xuICBpZiAoL15odHRwKHMpPzpcXC9cXC8vLnRlc3QodXJsKSkge1xuICAgIHJldHVybiB1cmxcbiAgfVxuICByZXR1cm4gYCR7UFJPVE9DT0x9JHt1cmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9RdWVyeVN0cmluZyhxdWVyeTogS1Y8YW55PiA9IHt9KSB7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gW11cbiAgT2JqZWN0LmtleXMocXVlcnkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHF1ZXJ5U3RyaW5nLnB1c2goYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeVtrZXldKX1gKVxuICB9KVxuICByZXR1cm4gcXVlcnlTdHJpbmcuam9pbignJicpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeShuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICAvLyDlj4LmlbDvvJrlj5jph4/lkI3vvIx1cmzkuLrnqbrliJnooajku47lvZPliY3pobXpnaLnmoR1cmzkuK3lj5ZcbiAgY29uc3QgdSA9IHVybCB8fCB3aW5kb3cubG9jYXRpb24uc2VhcmNoXG4gIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoYChefCYpJHtuYW1lfT0oW14mXSopKCZ8JClgKVxuICBjb25zdCByID0gdS5zdWJzdHIodS5pbmRleE9mKCc/JykgKyAxKS5tYXRjaChyZWcpXG4gIHJldHVybiAociAhPT0gbnVsbCAmJiByICE9PSB1bmRlZmluZWQpID8gclsyXSA6ICcnXG59XG5cbmV4cG9ydCBjb25zdCBnZXRIYXNoID0gZnVuY3Rpb24gKG5hbWU6IHN0cmluZykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gd2luZG93LmxvY2F0aW9uLmhhc2gubWF0Y2gobmV3IFJlZ0V4cChgWyM/Ji9dJHtuYW1lfT0oW14mI10qKWApKVxuICByZXR1cm4gbWF0Y2hlcyA/IG1hdGNoZXNbMV0gOiAnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUGFyYW0oa2V5OiBzdHJpbmcsIHNvdXJjZVVSTDogc3RyaW5nKSB7XG4gIGxldCBydG4gPSBzb3VyY2VVUkwuc3BsaXQoJz8nKVswXVxuICBsZXQgcGFyYW1cbiAgbGV0IHBhcmFtcyA9IFtdXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gc291cmNlVVJMLmluZGV4T2YoJz8nKSAhPT0gLTEgPyBzb3VyY2VVUkwuc3BsaXQoJz8nKVsxXSA6ICcnXG4gIGlmIChxdWVyeVN0cmluZyAhPT0gJycpIHtcbiAgICBwYXJhbXMgPSBxdWVyeVN0cmluZy5zcGxpdCgnJicpXG4gICAgZm9yIChsZXQgaSA9IHBhcmFtcy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBwYXJhbSA9IHBhcmFtc1tpXS5zcGxpdCgnPScpWzBdXG4gICAgICBpZiAocGFyYW0gPT09IGtleSkge1xuICAgICAgICBwYXJhbXMuc3BsaWNlKGksIDEpXG4gICAgICB9XG4gICAgfVxuICAgIHJ0biA9IGAke3J0bn0/JHtwYXJhbXMuam9pbignJicpfWBcbiAgfVxuICByZXR1cm4gcnRuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9taXNlQ2FsbGJhY2soKSB7XG4gIGxldCBjYjogYW55XG4gIGlmICghUHJvbWlzZSkge1xuICAgIGNiID0gKCkgPT4geyB9XG4gICAgY2IucHJvbWlzZSA9IHt9XG5cbiAgICBjb25zdCB0aHJvd1Byb21pc2VOb3REZWZpbmVkID0gKCkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3VyIE5vZGUgcnVudGltZSBkb2VzIHN1cHBvcnQgRVM2IFByb21pc2VzLiAnXG4gICAgICAgICsgJ1NldCBcImdsb2JhbC5Qcm9taXNlXCIgdG8geW91ciBwcmVmZXJyZWQgaW1wbGVtZW50YXRpb24gb2YgcHJvbWlzZXMuJylcbiAgICB9XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2IucHJvbWlzZSwgJ3RoZW4nLCB7IGdldDogdGhyb3dQcm9taXNlTm90RGVmaW5lZCB9KVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYi5wcm9taXNlLCAnY2F0Y2gnLCB7IGdldDogdGhyb3dQcm9taXNlTm90RGVmaW5lZCB9KVxuICAgIHJldHVybiBjYlxuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjYiA9IChlcnIsIGRhdGEpID0+IHtcbiAgICAgIGlmIChlcnIpIHJldHVybiByZWplY3QoZXJyKVxuICAgICAgcmV0dXJuIHJlc29sdmUoZGF0YSlcbiAgICB9XG4gIH0pXG4gIGNiLnByb21pc2UgPSBwcm9taXNlXG4gIHJldHVybiBjYlxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhlY0NhbGxiYWNrKGZuOiBGdW5jdGlvbiB8IG51bGwgfCB1bmRlZmluZWQsIGVycjogYW55LCBkYXRhID0gbnVsbCkge1xuICBpZiAoZm4gJiYgdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZuKGVyciwgZGF0YSlcbiAgfVxuICBpZiAoZXJyKSB7XG4gICAgdGhyb3cgZXJyXG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50V2FybihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLndhcm4oYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRFcnJvcihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLmVycm9yKHtcbiAgICBjb2RlOiBlcnJvcixcbiAgICBtc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YCxcbiAgfSlcbn1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEluZm8oZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2coYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHRocm93RXJyb3IoZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICBjb2RlOiBlcnJvcixcbiAgICBtc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YCxcbiAgfSkpXG59XG5cbmludGVyZmFjZSBJUHJpbnRHcm91cExvZ09wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nIHwgb2JqZWN0O1xuICBjb250ZW50OiB7XG4gICAgdHlwZTogJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyxcbiAgICBib2R5OiBzdHJpbmcgfCBFcnJvcjtcbiAgfVtdO1xuICBwcmludFRyYWNlPzogYm9vbGVhbjtcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEdyb3VwTG9nKG9wdGlvbnM6IElQcmludEdyb3VwTG9nT3B0aW9ucykge1xuICBjb25zdCB7IHRpdGxlLCBzdWJ0aXRsZSA9ICcnLCBjb250ZW50ID0gW10sIHByaW50VHJhY2UgPSBmYWxzZSwgY29sbGFwc2VkID0gZmFsc2UgfSA9IG9wdGlvbnNcbiAgaWYgKGNvbGxhcHNlZCkge1xuICAgIGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQodGl0bGUsIHN1YnRpdGxlKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZ3JvdXAodGl0bGUsIHN1YnRpdGxlKVxuICB9XG4gIGZvciAoY29uc3QgdGlwIG9mIGNvbnRlbnQpIHtcbiAgICBjb25zdCB7IHR5cGUsIGJvZHkgfSA9IHRpcFxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgIGNvbnNvbGUubG9nKGJvZHkpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgY29uc29sZS53YXJuKGJvZHkpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYm9keSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgaWYgKHByaW50VHJhY2UpIHtcbiAgICBjb25zb2xlLnRyYWNlKCdzdGFjayB0cmFjZTonKVxuICB9XG4gIGNvbnNvbGUuZ3JvdXBFbmQoKVxufVxuXG5leHBvcnQgY29uc3Qgc2xlZXAgPSAobXMgPSAwKSA9PiBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgbXMpKVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUGhvbmUocGhvbmVOdW1iZXI6IHN0cmluZykge1xuICByZXR1cm4gYCs4NiR7cGhvbmVOdW1iZXJ9YFxufVxuXG5cbmV4cG9ydCBjb25zdCBwYXJzZVF1ZXJ5U3RyaW5nID0gKHF1ZXJ5U3RyaW5nKSA9PiB7XG4gIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZSgvXlxcPy8sICcnKVxuICBjb25zdCBwYXJhbXMgPSB7fVxuICBjb25zdCBwYWlycyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJylcblxuICBwYWlycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgbGV0IFtrZXksIHZhbHVlXSA9IGl0ZW0uc3BsaXQoJz0nKVxuICAgIGtleSA9IGRlY29kZVVSSUNvbXBvbmVudChrZXkpXG4gICAgdmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpXG4gICAgaWYgKGtleSkge1xuICAgICAgaWYgKHBhcmFtc1trZXldKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICAgIHBhcmFtc1trZXldLnB1c2godmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyYW1zW2tleV0gPSBbcGFyYW1zW2tleV0sIHZhbHVlXVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBwYXJhbXNcbn1cbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVE7SUFDOUIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssZ0JBQWdCLENBQUE7QUFDakUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQTtBQUNoQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFBO0FBQ25DLENBQUM7QUFDRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVE7SUFDcEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssaUJBQWlCLENBQUE7QUFDbEUsQ0FBQztBQUNELE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBUTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxlQUFlLENBQUE7QUFDaEUsQ0FBQztBQUNELE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFBO0FBQ3RDLENBQUM7QUFDRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVE7SUFDakMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssbUJBQW1CLENBQUE7QUFDcEUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sSUFBSSxDQUFD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QUMsQ0FBQTtJQUVwQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBSTtRQUNiLElBQUEsS0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUE3QixHQUFHLFFBQUEsRUFBRSxLQUFLLFFBQW1CLENBQUE7UUFDbEMsR0FBRyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzdCLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtpQkFDeEI7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO2lCQUNuQzthQUNGO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7YUFDcEI7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLViB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5pbXBvcnQgeyBnZXRTZGtOYW1lIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheSh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEFycmF5XSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZydcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1BhbGluT2JqZWN0KHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBOdWxsXSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0luc3RhbmNlT2YoaW5zdGFuY2U6IGFueSwgY29uc3RydWN0OiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluc3RhbmNlIGluc3RhbmNlb2YgY29uc3RydWN0XG59XG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtRGF0YSh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZvcm1EYXRhXSdcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5TZXFJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygxNilcbiAgICAuc2xpY2UoMilcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVJlcXVlc3RJZCgpIHtcbiAgbGV0IGQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuICBsZXQgZDIgPSAoRGF0ZT8ubm93ICYmIChEYXRlLm5vdygpICogMTAwMCkpIHx8IDBcbiAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgKGMpID0+IHtcbiAgICBsZXQgciA9IE1hdGgucmFuZG9tKCkgKiAxNlxuICAgIGlmIChkID4gMCkge1xuICAgICAgciA9IChkICsgcikgJSAxNiB8IDBcbiAgICAgIGQgPSBNYXRoLmZsb29yKGQgLyAxNilcbiAgICB9IGVsc2Uge1xuICAgICAgciA9IChkMiArIHIpICUgMTYgfCAwXG4gICAgICBkMiA9IE1hdGguZmxvb3IoZDIgLyAxNilcbiAgICB9XG4gICAgcmV0dXJuIChjID09PSAneCcgPyByIDogKChyICYgMHg3KSB8IDB4OCkpLnRvU3RyaW5nKDE2KVxuICB9KVxufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFVybChQUk9UT0NPTDogc3RyaW5nLCB1cmw6IHN0cmluZywgcXVlcnk6IEtWPGFueT4gPSB7fSk6IHN0cmluZyB7XG4gIGNvbnN0IHVybEhhc1F1ZXJ5ID0gL1xcPy8udGVzdCh1cmwpXG4gIGxldCBxdWVyeVN0cmluZyA9ICcnXG4gIE9iamVjdC5rZXlzKHF1ZXJ5KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpZiAocXVlcnlTdHJpbmcgPT09ICcnKSB7XG4gICAgICAhdXJsSGFzUXVlcnkgJiYgKHVybCArPSAnPycpXG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9ICcmJ1xuICAgIH1cbiAgICBxdWVyeVN0cmluZyArPSBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5W2tleV0pfWBcbiAgfSlcbiAgdXJsICs9IHF1ZXJ5U3RyaW5nXG4gIGlmICgvXmh0dHAocyk/OlxcL1xcLy8udGVzdCh1cmwpKSB7XG4gICAgcmV0dXJuIHVybFxuICB9XG4gIHJldHVybiBgJHtQUk9UT0NPTH0ke3VybH1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U3RyaW5nKHF1ZXJ5OiBLVjxhbnk+ID0ge30pIHtcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBbXVxuICBPYmplY3Qua2V5cyhxdWVyeSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcXVlcnlTdHJpbmcucHVzaChgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5W2tleV0pfWApXG4gIH0pXG4gIHJldHVybiBxdWVyeVN0cmluZy5qb2luKCcmJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5KG5hbWU6IHN0cmluZywgdXJsPzogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIC8vIOWPguaVsO+8muWPmOmHj+WQje+8jHVybOS4uuepuuWImeihqOS7juW9k+WJjemhtemdoueahHVybOS4reWPllxuICBjb25zdCB1ID0gdXJsIHx8IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2hcbiAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgKF58Jikke25hbWV9PShbXiZdKikoJnwkKWApXG4gIGNvbnN0IHIgPSB1LnN1YnN0cih1LmluZGV4T2YoJz8nKSArIDEpLm1hdGNoKHJlZylcbiAgcmV0dXJuIChyICE9PSBudWxsICYmIHIgIT09IHVuZGVmaW5lZCkgPyByWzJdIDogJydcbn1cblxuZXhwb3J0IGNvbnN0IGdldEhhc2ggPSBmdW5jdGlvbiAobmFtZTogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiAnJ1xuICB9XG4gIGNvbnN0IG1hdGNoZXMgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5tYXRjaChuZXcgUmVnRXhwKGBbIz8mL10ke25hbWV9PShbXiYjXSopYCkpXG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1sxXSA6ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQYXJhbShrZXk6IHN0cmluZywgc291cmNlVVJMOiBzdHJpbmcpIHtcbiAgbGV0IHJ0biA9IHNvdXJjZVVSTC5zcGxpdCgnPycpWzBdXG4gIGxldCBwYXJhbVxuICBsZXQgcGFyYW1zID0gW11cbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBzb3VyY2VVUkwuaW5kZXhPZignPycpICE9PSAtMSA/IHNvdXJjZVVSTC5zcGxpdCgnPycpWzFdIDogJydcbiAgaWYgKHF1ZXJ5U3RyaW5nICE9PSAnJykge1xuICAgIHBhcmFtcyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJylcbiAgICBmb3IgKGxldCBpID0gcGFyYW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgIHBhcmFtID0gcGFyYW1zW2ldLnNwbGl0KCc9JylbMF1cbiAgICAgIGlmIChwYXJhbSA9PT0ga2V5KSB7XG4gICAgICAgIHBhcmFtcy5zcGxpY2UoaSwgMSlcbiAgICAgIH1cbiAgICB9XG4gICAgcnRuID0gYCR7cnRufT8ke3BhcmFtcy5qb2luKCcmJyl9YFxuICB9XG4gIHJldHVybiBydG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb21pc2VDYWxsYmFjaygpIHtcbiAgbGV0IGNiOiBhbnlcbiAgaWYgKCFQcm9taXNlKSB7XG4gICAgY2IgPSAoKSA9PiB7IH1cbiAgICBjYi5wcm9taXNlID0ge31cblxuICAgIGNvbnN0IHRocm93UHJvbWlzZU5vdERlZmluZWQgPSAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdXIgTm9kZSBydW50aW1lIGRvZXMgc3VwcG9ydCBFUzYgUHJvbWlzZXMuICdcbiAgICAgICAgKyAnU2V0IFwiZ2xvYmFsLlByb21pc2VcIiB0byB5b3VyIHByZWZlcnJlZCBpbXBsZW1lbnRhdGlvbiBvZiBwcm9taXNlcy4nKVxuICAgIH1cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYi5wcm9taXNlLCAndGhlbicsIHsgZ2V0OiB0aHJvd1Byb21pc2VOb3REZWZpbmVkIH0pXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNiLnByb21pc2UsICdjYXRjaCcsIHsgZ2V0OiB0aHJvd1Byb21pc2VOb3REZWZpbmVkIH0pXG4gICAgcmV0dXJuIGNiXG4gIH1cblxuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNiID0gKGVyciwgZGF0YSkgPT4ge1xuICAgICAgaWYgKGVycikgcmV0dXJuIHJlamVjdChlcnIpXG4gICAgICByZXR1cm4gcmVzb2x2ZShkYXRhKVxuICAgIH1cbiAgfSlcbiAgY2IucHJvbWlzZSA9IHByb21pc2VcbiAgcmV0dXJuIGNiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjQ2FsbGJhY2soZm46IEZ1bmN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCwgZXJyOiBhbnksIGRhdGEgPSBudWxsKSB7XG4gIGlmIChmbiAmJiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZm4oZXJyLCBkYXRhKVxuICB9XG4gIGlmIChlcnIpIHtcbiAgICB0aHJvdyBlcnJcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRXYXJuKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUud2FybihgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludEVycm9yKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUuZXJyb3Ioe1xuICAgIGNvZGU6IGVycm9yLFxuICAgIG1zZzogYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gLFxuICB9KVxufVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50SW5mbyhlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLmxvZyhgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWApXG59XG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgIGNvZGU6IGVycm9yLFxuICAgIG1zZzogYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gLFxuICB9KSlcbn1cblxuaW50ZXJmYWNlIElQcmludEdyb3VwTG9nT3B0aW9ucyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmcgfCBvYmplY3Q7XG4gIGNvbnRlbnQ6IHtcbiAgICB0eXBlOiAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLFxuICAgIGJvZHk6IHN0cmluZyB8IEVycm9yO1xuICB9W107XG4gIHByaW50VHJhY2U/OiBib29sZWFuO1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50R3JvdXBMb2cob3B0aW9uczogSVByaW50R3JvdXBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgdGl0bGUsIHN1YnRpdGxlID0gJycsIGNvbnRlbnQgPSBbXSwgcHJpbnRUcmFjZSA9IGZhbHNlLCBjb2xsYXBzZWQgPSBmYWxzZSB9ID0gb3B0aW9uc1xuICBpZiAoY29sbGFwc2VkKSB7XG4gICAgKGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQgfHwgY29uc29sZS5lcnJvcikodGl0bGUsIHN1YnRpdGxlKVxuICB9IGVsc2Uge1xuICAgIChjb25zb2xlLmdyb3VwIHx8IGNvbnNvbGUuZXJyb3IpKHRpdGxlLCBzdWJ0aXRsZSlcbiAgfVxuICBmb3IgKGNvbnN0IHRpcCBvZiBjb250ZW50KSB7XG4gICAgY29uc3QgeyB0eXBlLCBib2R5IH0gPSB0aXBcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICBjb25zb2xlLmxvZyhib2R5KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgIGNvbnNvbGUud2Fybihib2R5KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBjb25zb2xlLmVycm9yKGJvZHkpXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG4gIGlmIChwcmludFRyYWNlKSB7XG4gICAgKGNvbnNvbGUudHJhY2UgfHwgY29uc29sZS5sb2cpKCdzdGFjayB0cmFjZTonKVxuICB9XG4gIGNvbnNvbGUuZ3JvdXBFbmQ/LigpXG59XG5cbmV4cG9ydCBjb25zdCBzbGVlcCA9IChtcyA9IDApID0+IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCBtcykpXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1QaG9uZShwaG9uZU51bWJlcjogc3RyaW5nKSB7XG4gIHJldHVybiBgKzg2JHtwaG9uZU51bWJlcn1gXG59XG5cblxuZXhwb3J0IGNvbnN0IHBhcnNlUXVlcnlTdHJpbmcgPSAocXVlcnlTdHJpbmcpID0+IHtcbiAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZy5yZXBsYWNlKC9eXFw/LywgJycpXG4gIGNvbnN0IHBhcmFtcyA9IHt9XG4gIGNvbnN0IHBhaXJzID0gcXVlcnlTdHJpbmcuc3BsaXQoJyYnKVxuXG4gIHBhaXJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICBsZXQgW2tleSwgdmFsdWVdID0gaXRlbS5zcGxpdCgnPScpXG4gICAga2V5ID0gZGVjb2RlVVJJQ29tcG9uZW50KGtleSlcbiAgICB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSlcbiAgICBpZiAoa2V5KSB7XG4gICAgICBpZiAocGFyYW1zW2tleV0pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1zW2tleV0pKSB7XG4gICAgICAgICAgcGFyYW1zW2tleV0ucHVzaCh2YWx1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJhbXNba2V5XSA9IFtwYXJhbXNba2V5XSwgdmFsdWVdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtc1trZXldID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHBhcmFtc1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/utilities",
|
|
3
|
-
"version": "2.17.
|
|
3
|
+
"version": "2.17.17",
|
|
4
4
|
"description": "cloudbase javascript sdk utilities",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@cloudbase/adapter-interface": "^0.7.1",
|
|
27
|
-
"@cloudbase/types": "^2.17.
|
|
27
|
+
"@cloudbase/types": "^2.17.17",
|
|
28
28
|
"jwt-decode": "^3.1.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^22.5.4"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "9b69b9384639ef94513f6bcf320c1ee409962f74"
|
|
34
34
|
}
|
package/src/libs/util.ts
CHANGED
|
@@ -28,7 +28,7 @@ export function genSeqId(): string {
|
|
|
28
28
|
}
|
|
29
29
|
export function generateRequestId() {
|
|
30
30
|
let d = new Date().getTime()
|
|
31
|
-
let d2 = (
|
|
31
|
+
let d2 = (Date?.now && (Date.now() * 1000)) || 0
|
|
32
32
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
33
33
|
let r = Math.random() * 16
|
|
34
34
|
if (d > 0) {
|
|
@@ -174,9 +174,9 @@ interface IPrintGroupLogOptions {
|
|
|
174
174
|
export function printGroupLog(options: IPrintGroupLogOptions) {
|
|
175
175
|
const { title, subtitle = '', content = [], printTrace = false, collapsed = false } = options
|
|
176
176
|
if (collapsed) {
|
|
177
|
-
console.groupCollapsed(title, subtitle)
|
|
177
|
+
(console.groupCollapsed || console.error)(title, subtitle)
|
|
178
178
|
} else {
|
|
179
|
-
console.group(title, subtitle)
|
|
179
|
+
(console.group || console.error)(title, subtitle)
|
|
180
180
|
}
|
|
181
181
|
for (const tip of content) {
|
|
182
182
|
const { type, body } = tip
|
|
@@ -193,9 +193,9 @@ export function printGroupLog(options: IPrintGroupLogOptions) {
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
if (printTrace) {
|
|
196
|
-
console.trace('stack trace:')
|
|
196
|
+
(console.trace || console.log)('stack trace:')
|
|
197
197
|
}
|
|
198
|
-
console.groupEnd()
|
|
198
|
+
console.groupEnd?.()
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
export const sleep = (ms = 0) => new Promise(r => setTimeout(r, ms))
|