@cloudbase/container 2.19.2 → 2.19.4
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/index.d.ts +2 -0
- package/dist/cjs/index.js +30 -20
- package/dist/cjs/utils/request.js +3 -2
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +29 -20
- package/dist/esm/utils/request.js +3 -2
- package/package.json +4 -4
- package/src/index.ts +17 -8
- package/src/utils/request.ts +2 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types';
|
|
2
2
|
import { ICallContainerOptions, IContianerConfig } from '@cloudbase/types/container';
|
|
3
|
+
export declare let t: (str: any) => any;
|
|
3
4
|
export declare class CloudbaseContainers {
|
|
4
5
|
private readonly config;
|
|
5
6
|
private wasm;
|
|
6
7
|
private containerInitPromise;
|
|
8
|
+
private defaultHeaders;
|
|
7
9
|
constructor(config: IContianerConfig);
|
|
8
10
|
callContainer(options: ICallContainerOptions, callback?: Function): Promise<any>;
|
|
9
11
|
initContainer(config: Omit<IContianerConfig, 'wasmUrl' | 'jsUrl'>): Promise<any>;
|
package/dist/cjs/index.js
CHANGED
|
@@ -82,26 +82,28 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
82
82
|
return t;
|
|
83
83
|
};
|
|
84
84
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
85
|
-
exports.registerContainers = exports.CloudbaseContainers = void 0;
|
|
85
|
+
exports.registerContainers = exports.CloudbaseContainers = exports.t = void 0;
|
|
86
86
|
var utilities_1 = require("@cloudbase/utilities");
|
|
87
87
|
var utils_1 = require("./utils");
|
|
88
88
|
var constants_1 = require("./constants");
|
|
89
89
|
var ERRORS = utilities_1.constants.ERRORS, COMMUNITY_SITE_URL = utilities_1.constants.COMMUNITY_SITE_URL;
|
|
90
90
|
var execCallback = utilities_1.utils.execCallback, printWarn = utilities_1.utils.printWarn;
|
|
91
91
|
var catchErrorsDecorator = utilities_1.helpers.catchErrorsDecorator;
|
|
92
|
+
var t = function (str) { return str; };
|
|
93
|
+
exports.t = t;
|
|
92
94
|
var getExportFunction = function () {
|
|
93
|
-
throw new Error(
|
|
95
|
+
throw new Error("getExportFunction ".concat((0, exports.t)('未实现')));
|
|
94
96
|
};
|
|
95
97
|
var loadJSExportFunction = function () {
|
|
96
|
-
throw new Error(
|
|
98
|
+
throw new Error("loadJSExportFunction ".concat((0, exports.t)('未实现')));
|
|
97
99
|
};
|
|
98
100
|
if (globalThis.IS_MP_BUILD) {
|
|
99
101
|
getExportFunction = function () {
|
|
100
|
-
new Error('小程序不支持 wasm 加载');
|
|
102
|
+
new Error((0, exports.t)('小程序不支持 wasm 加载'));
|
|
101
103
|
};
|
|
102
104
|
loadJSExportFunction = function (jsUrl) {
|
|
103
105
|
if (jsUrl) {
|
|
104
|
-
new Error('小程序不支持动态 js 加载');
|
|
106
|
+
new Error((0, exports.t)('小程序不支持动态 js 加载'));
|
|
105
107
|
}
|
|
106
108
|
return {
|
|
107
109
|
initContainer: globalThis.cloudbase_private_link.initContainer,
|
|
@@ -144,16 +146,17 @@ function genContainerError(data, scope, defaultMessage) {
|
|
|
144
146
|
var CloudbaseContainers = exports.CloudbaseContainers = (function () {
|
|
145
147
|
function CloudbaseContainers(config) {
|
|
146
148
|
var _this = this;
|
|
147
|
-
var _a;
|
|
149
|
+
var _a, _b;
|
|
148
150
|
this.config = __assign(__assign({}, config), { jsUrl: typeof config.jsUrl === 'string'
|
|
149
151
|
? {
|
|
150
152
|
vm: config.jsUrl,
|
|
151
153
|
}
|
|
152
154
|
: config.jsUrl });
|
|
155
|
+
exports.t = ((_a = config.i18n) === null || _a === void 0 ? void 0 : _a.t) || (function (str) { return str; });
|
|
153
156
|
if (!this.config.wasmUrl && this.config.publicKey) {
|
|
154
157
|
}
|
|
155
|
-
else if (!this.config.wasmUrl && !((
|
|
156
|
-
throw new InvalieParamsError("".concat(constants_1.COMPONENT_NAME), '缺少 privatelink sdk 地址');
|
|
158
|
+
else if (!this.config.wasmUrl && !((_b = this.config.jsUrl) === null || _b === void 0 ? void 0 : _b.vm) && !globalThis.cloudbase_private_link) {
|
|
159
|
+
throw new InvalieParamsError("".concat(constants_1.COMPONENT_NAME), (0, exports.t)('缺少 privatelink sdk 地址'));
|
|
157
160
|
}
|
|
158
161
|
if (this.config.wasmUrl) {
|
|
159
162
|
this.wasm = getExportFunction(this.config.wasmUrl).catch(function (e) {
|
|
@@ -176,30 +179,37 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
|
|
|
176
179
|
callContainer: globalThis.cloudbase_private_link.callContainer,
|
|
177
180
|
});
|
|
178
181
|
}
|
|
182
|
+
utilities_1.langEvent.bus.on(utilities_1.langEvent.LANG_CHANGE_EVENT, function (params) {
|
|
183
|
+
var _a;
|
|
184
|
+
var _b, _c, _d, _e;
|
|
185
|
+
exports.t = ((_c = (_b = params.data) === null || _b === void 0 ? void 0 : _b.i18n) === null || _c === void 0 ? void 0 : _c.t) || (function (str) { return str; });
|
|
186
|
+
_this.defaultHeaders = __assign(__assign({}, _this.defaultHeaders), (_a = {}, _a[utilities_1.langEvent.LANG_CHANGE_EVENT] = (_e = (_d = params.data) === null || _d === void 0 ? void 0 : _d.i18n) === null || _e === void 0 ? void 0 : _e.lang, _a));
|
|
187
|
+
});
|
|
179
188
|
}
|
|
180
189
|
CloudbaseContainers.prototype.callContainer = function (options, callback) {
|
|
181
190
|
return __awaiter(this, void 0, void 0, function () {
|
|
182
|
-
var SCOPE, callContainer, _a, url, method,
|
|
183
|
-
var _b, _c, _d, _e
|
|
184
|
-
return __generator(this, function (
|
|
185
|
-
switch (
|
|
191
|
+
var SCOPE, callContainer, _a, url, method, data, timeout, dataType, responseType, restOptions, header, res, e_1;
|
|
192
|
+
var _b, _c, _d, _e;
|
|
193
|
+
return __generator(this, function (_f) {
|
|
194
|
+
switch (_f.label) {
|
|
186
195
|
case 0: return [4, this.initContainer(this.config)];
|
|
187
196
|
case 1:
|
|
188
|
-
|
|
197
|
+
_f.sent();
|
|
189
198
|
SCOPE = "".concat(constants_1.COMPONENT_NAME, ".callContainer");
|
|
190
199
|
return [4, this.wasm];
|
|
191
200
|
case 2:
|
|
192
|
-
callContainer = (
|
|
193
|
-
_a = __assign({}, options), url = _a.url, method = (_b = _a.method, _b === void 0 ? 'GET' : _b),
|
|
201
|
+
callContainer = (_f.sent()).callContainer;
|
|
202
|
+
_a = __assign({}, options), url = _a.url, method = (_b = _a.method, _b === void 0 ? 'GET' : _b), data = _a.data, timeout = (_c = _a.timeout, _c === void 0 ? 60000 : _c), dataType = (_d = _a.dataType, _d === void 0 ? 'json' : _d), responseType = (_e = _a.responseType, _e === void 0 ? 'text' : _e), restOptions = __rest(_a, ["url", "method", "data", "timeout", "dataType", "responseType"]);
|
|
194
203
|
if (!url) {
|
|
195
204
|
throw new InvalieParamsError(SCOPE, 'invalid request url');
|
|
196
205
|
}
|
|
197
206
|
if (!method) {
|
|
198
207
|
throw new InvalieParamsError(SCOPE, 'invalid request method');
|
|
199
208
|
}
|
|
200
|
-
|
|
209
|
+
header = __assign(__assign({}, this.defaultHeaders), options.header);
|
|
210
|
+
_f.label = 3;
|
|
201
211
|
case 3:
|
|
202
|
-
|
|
212
|
+
_f.trys.push([3, 5, , 6]);
|
|
203
213
|
return [4, new Promise(function (resolve, reject) {
|
|
204
214
|
var params = __assign({ url: url, method: method, header: header, data: (0, utils_1.serializeRequestBody)(header, data, method), timeout: timeout, dataType: dataType, responseType: responseType }, restOptions);
|
|
205
215
|
if (data
|
|
@@ -241,10 +251,10 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
|
|
|
241
251
|
} }));
|
|
242
252
|
})];
|
|
243
253
|
case 4:
|
|
244
|
-
res =
|
|
254
|
+
res = _f.sent();
|
|
245
255
|
return [2, execCallback(callback, null, res)];
|
|
246
256
|
case 5:
|
|
247
|
-
e_1 =
|
|
257
|
+
e_1 = _f.sent();
|
|
248
258
|
execCallback(callback, e_1);
|
|
249
259
|
return [3, 6];
|
|
250
260
|
case 6: return [2];
|
|
@@ -330,4 +340,4 @@ function registerContainers(app) {
|
|
|
330
340
|
}
|
|
331
341
|
}
|
|
332
342
|
exports.registerContainers = registerContainers;
|
|
333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUFnRTtBQUNoRSxpQ0FBa0U7QUFDbEUseUNBQTRDO0FBR3BDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFHeEMsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBQ0Qsb0JBQW9CLEdBQUcsVUFBVSxLQUFLO1FBQ3BDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtTQUM1QjtRQUNELE9BQU87WUFDTCxhQUFhLEVBQUcsVUFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhO1lBQ3ZFLGFBQWEsRUFBRyxVQUFrQixDQUFDLHNCQUFzQixDQUFDLGFBQWE7U0FDeEUsQ0FBQTtJQUNILENBQUMsQ0FBQTtDQUNGO0tBQU07SUFDTCxJQUFNLE1B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aEI7QUFDSCxDQUFDO0FBTkQsZ0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgaXNCdWZmZXIsIHBhcnNlVVJMLCBzZXJpYWxpemVSZXF1ZXN0Qm9keSB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBDT01QT05FTlRfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuXG5kZWNsYXJlIGNvbnN0IGNsb3VkYmFzZTogSUNsb3VkYmFzZVxuY29uc3QgeyBFUlJPUlMsIENPTU1VTklUWV9TSVRFX1VSTCB9ID0gY29uc3RhbnRzXG5jb25zdCB7IGV4ZWNDYWxsYmFjaywgcHJpbnRXYXJuIH0gPSB1dGlsc1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVyc1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xubGV0IGdldEV4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKCdnZXRFeHBvcnRGdW5jdGlvbiDmnKrlrp7njrAnKVxufVxubGV0IGxvYWRKU0V4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKCdsb2FkSlNFeHBvcnRGdW5jdGlvbiDmnKrlrp7njrAnKVxufVxuXG5pZiAoZ2xvYmFsVGhpcy5JU19NUF9CVUlMRCkge1xuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgRXJyb3IoJ+Wwj+eoi+W6j+S4jeaUr+aMgSB3YXNtIOWKoOi9vScpXG4gIH1cbiAgbG9hZEpTRXhwb3J0RnVuY3Rpb24gPSBmdW5jdGlvbiAoanNVcmwpIHtcbiAgICBpZiAoanNVcmwpIHtcbiAgICAgIG5ldyBFcnJvcign5bCP56iL5bqP5LiN5pSv5oyB5Yqo5oCBIGpzIOWKoOi9vScpXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgIGNhbGxDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5jYWxsQ29udGFpbmVyLFxuICAgIH1cbiAgfVxufSBlbHNlIHtcbiAgY29uc3QgbG9hZGVyID0gcmVxdWlyZSgnLi91dGlscy9sb2FkZXInKVxuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5nZXRFeHBvcnRGdW5jdGlvblxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5sb2FkSlNFeHBvcnRGdW5jdGlvblxufVxuLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jbGFzcyBJbnZhbGllUGFyYW1zRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IGFueVxuICBjb25zdHJ1Y3RvcihzY29wZSwgbWVzc2FnZSkge1xuICAgIGNvbnN0IG1zZyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgIG1zZzogYFske3Njb3BlfV0gJHttZXNzYWdlfWAsXG4gICAgfSlcbiAgICBzdXBlcihtc2cpXG4gICAgdGhpcy5jb2RlID0gRVJST1JTLklOVkFMSURfUEFSQU1TXG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMgZXh0ZW5kcyBJQ2FsbENvbnRhaW5lck9wdGlvbnMge1xuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMge1xuICBjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz5cbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBnZW5Db250YWluZXJFcnJvcihkYXRhLCBzY29wZSA9IENPTVBPTkVOVF9OQU1FLCBkZWZhdWx0TWVzc2FnZSA9ICdjYWxsIGNvbnRhaW5lciBlcnJvcicpIHtcbiAgY29uc3QgZXJyb3IgPSBkYXRhIGluc3RhbmNlb2YgRXJyb3IgPyBkYXRhIDogbmV3IEVycm9yKGBbJHtzY29wZX1dICR7ZGF0YT8ubWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZX1gKVxuICA7KGVycm9yIGFzIGFueSkuY29kZSA9IGRhdGE/LmNvZGUgfHwgJ1VOS05PV05fRVJST1InXG4gIHJldHVybiBlcnJvclxufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRiYXNlQ29udGFpbmVycyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnICYgeyBqc1VybD86IHsgdmVuZGVyPzogc3RyaW5nOyB2bTogc3RyaW5nIH0gfVxuICBwcml2YXRlIHdhc206IFByb21pc2U8V2ViQXNzZW1ibHkuRXhwb3J0cz5cbiAgcHJpdmF0ZSBjb250YWluZXJJbml0UHJvbWlzZTogLyogUHJvbWlzZTxhbnk+Ki8gYW55IHwgbnVsbFxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAganNVcmw6XG4gICAgICAgIHR5cGVvZiBjb25maWcuanNVcmwgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICB2bTogY29uZmlnLmpzVXJsLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IChjb25maWcuanNVcmwgYXMgYW55KSxcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICAvLyDpnZ4gd2FtcyDkuJTmnIkgcHVibGljIGtleSDliJnlj6/kvb/nlKjpu5jorqTnmoQganMtc2Rr77yM5peg6ZyA5qCh6aqMXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmw/LnZtICYmICEoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoYCR7Q09NUE9ORU5UX05BTUV9YCwgJ+e8uuWwkSBwcml2YXRlbGluayBzZGsg5Zyw5Z2AJylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgY3VzdG9tSW5mbzoge1xuICAgICAgY2xhc3NOYW1lOiAnQ2xvdWRiYXNlJyxcbiAgICAgIG1ldGhvZE5hbWU6ICdjYWxsQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIHRpdGxlOiAn6LCD55So5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGNhbGxDb250YWluZXIoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOWfn+WQjSAmIOi3r+W+hOaYr+WQpuWtmOWcqCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgY2FsbENvbnRhaW5lcihvcHRpb25zOiBJQ2FsbENvbnRhaW5lck9wdGlvbnMsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcbiAgICBhd2FpdCB0aGlzLmluaXRDb250YWluZXIodGhpcy5jb25maWcpXG4gICAgY29uc3QgU0NPUEUgPSBgJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcmBcbiAgICBjb25zdCB7IGNhbGxDb250YWluZXIgfTogeyBjYWxsQ29udGFpbmVyOiAob3B0aW9uczogSUNhbGxUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGhlYWRlciA9IHt9LFxuICAgICAgZGF0YSxcbiAgICAgIHRpbWVvdXQgPSA2MDAwMCxcbiAgICAgIGRhdGFUeXBlID0gJ2pzb24nLFxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCB1cmwnKVxuICAgIH1cblxuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpXG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUEyRTtBQUMzRSxpQ0FBa0U7QUFDbEUseUNBQTRDO0FBR3BDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFFakMsSUFBSSxDQUFDLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFBO0FBQWQsUUFBQSxDQUFDLEtBQWE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUF3QixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDckQsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLElBQUEsU0FBQyxFQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQTtJQUNoQyxDQUFDLENBQUE7SUFDRCxvQkFBb0IsR0FBRyxVQUFVLEtBQUs7UUFDcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLEtBQUssQ0FBQyxJQUFBLFNB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QUFBLEFBbkxELElBbUxDO0FBRUQsSUFBTSxTQUFTLEdBQXdCO0lBQ3JDLElBQUksRUFBRSwwQkFBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLFNBQWdCLGtCQUFrQixDQUFDLEdBQTBDO0lBQzNFLElBQUk7UUFDRixHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7S0FDakM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBTkQsZ0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycywgbGFuZ0V2ZW50IH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBpc0J1ZmZlciwgcGFyc2VVUkwsIHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IENPTVBPTkVOVF9OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmRlY2xhcmUgY29uc3QgY2xvdWRiYXNlOiBJQ2xvdWRiYXNlXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZXhlY0NhbGxiYWNrLCBwcmludFdhcm4gfSA9IHV0aWxzXG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yIH0gPSBoZWxwZXJzXG5cbmV4cG9ydCBsZXQgdCA9IHN0ciA9PiBzdHJcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmxldCBnZXRFeHBvcnRGdW5jdGlvbjogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHRocm93IG5ldyBFcnJvcihgZ2V0RXhwb3J0RnVuY3Rpb24gJHt0KCfmnKrlrp7njrAnKX1gKVxufVxubGV0IGxvYWRKU0V4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGBsb2FkSlNFeHBvcnRGdW5jdGlvbiAke3QoJ+acquWunueOsCcpfWApXG59XG5cbmlmIChnbG9iYWxUaGlzLklTX01QX0JVSUxEKSB7XG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgIG5ldyBFcnJvcih0KCflsI/nqIvluo/kuI3mlK/mjIEgd2FzbSDliqDovb0nKSlcbiAgfVxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uIChqc1VybCkge1xuICAgIGlmIChqc1VybCkge1xuICAgICAgbmV3IEVycm9yKHQoJ+Wwj+eoi+W6j+S4jeaUr+aMgeWKqOaAgSBqcyDliqDovb0nKSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgfVxuICB9XG59IGVsc2Uge1xuICBjb25zdCBsb2FkZXIgPSByZXF1aXJlKCcuL3V0aWxzL2xvYWRlcicpXG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmdldEV4cG9ydEZ1bmN0aW9uXG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmxvYWRKU0V4cG9ydEZ1bmN0aW9uXG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNsYXNzIEludmFsaWVQYXJhbXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogYW55XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgbXNnOiBgWyR7c2NvcGV9XSAke21lc3NhZ2V9YCxcbiAgICB9KVxuICAgIHN1cGVyKG1zZylcbiAgICB0aGlzLmNvZGUgPSBFUlJPUlMuSU5WQUxJRF9QQVJBTVNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucyBleHRlbmRzIElDYWxsQ29udGFpbmVyT3B0aW9ucyB7XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIElJbml0VGNiQ29udGFpbmVyT3B0aW9ucyB7XG4gIGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPlxuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmZ1bmN0aW9uIGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIHNjb3BlID0gQ09NUE9ORU5UX05BTUUsIGRlZmF1bHRNZXNzYWdlID0gJ2NhbGwgY29udGFpbmVyIGVycm9yJykge1xuICBjb25zdCBlcnJvciA9IGRhdGEgaW5zdGFuY2VvZiBFcnJvciA/IGRhdGEgOiBuZXcgRXJyb3IoYFske3Njb3BlfV0gJHtkYXRhPy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlfWApXG4gIDsoZXJyb3IgYXMgYW55KS5jb2RlID0gZGF0YT8uY29kZSB8fCAnVU5LTk9XTl9FUlJPUidcbiAgcmV0dXJuIGVycm9yXG59XG5cbmV4cG9ydCBjbGFzcyBDbG91ZGJhc2VDb250YWluZXJzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElDb250aWFuZXJDb25maWcgJiB7IGpzVXJsPzogeyB2ZW5kZXI/OiBzdHJpbmc7IHZtOiBzdHJpbmcgfSB9XG4gIHByaXZhdGUgd2FzbTogUHJvbWlzZTxXZWJBc3NlbWJseS5FeHBvcnRzPlxuICBwcml2YXRlIGNvbnRhaW5lckluaXRQcm9taXNlOiAvKiBQcm9taXNlPGFueT4qLyBhbnkgfCBudWxsXG4gIHByaXZhdGUgZGVmYXVsdEhlYWRlcnM6IHsgW3g6IHN0cmluZ106IGFueSB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBqc1VybDpcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5qc1VybCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIHZtOiBjb25maWcuanNVcmwsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogKGNvbmZpZy5qc1VybCBhcyBhbnkpLFxuICAgIH1cbiAgICB0ID0gY29uZmlnLmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICAvLyDpnZ4gd2FtcyDkuJTmnIkgcHVibGljIGtleSDliJnlj6/kvb/nlKjpu5jorqTnmoQganMtc2Rr77yM5peg6ZyA5qCh6aqMXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmw/LnZtICYmICEoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoYCR7Q09NUE9ORU5UX05BTUV9YCwgdCgn57y65bCRIHByaXZhdGVsaW5rIHNkayDlnLDlnYAnKSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxhbmdFdmVudC5idXMub24obGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5ULCAocGFyYW1zKSA9PiB7XG4gICAgICB0ID0gcGFyYW1zLmRhdGE/LmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG4gICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzID0geyAuLi50aGlzLmRlZmF1bHRIZWFkZXJzLCBbbGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5UXTogcGFyYW1zLmRhdGE/LmkxOG4/LmxhbmcgfVxuICAgIH0pXG4gIH1cblxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIGN1c3RvbUluZm86IHtcbiAgICAgIGNsYXNzTmFtZTogJ0Nsb3VkYmFzZScsXG4gICAgICBtZXRob2ROYW1lOiAnY2FsbENvbnRhaW5lcicsXG4gICAgfSxcbiAgICB0aXRsZTogJ+iwg+eUqOWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjYWxsQ29udGFpbmVyKCkg55qE6K+t5rOV5oiW5Y+C5pWw5piv5ZCm5q2j56GuJyxcbiAgICAgICcgIDIgLSDln5/lkI0gJiDot6/lvoTmmK/lkKblrZjlnKgnLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWAsXG4gICAgXSxcbiAgfSlcbiAgcHVibGljIGFzeW5jIGNhbGxDb250YWluZXIob3B0aW9uczogSUNhbGxDb250YWluZXJPcHRpb25zLCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgYXdhaXQgdGhpcy5pbml0Q29udGFpbmVyKHRoaXMuY29uZmlnKVxuICAgIGNvbnN0IFNDT1BFID0gYCR7Q09NUE9ORU5UX05BTUV9LmNhbGxDb250YWluZXJgXG4gICAgY29uc3QgeyBjYWxsQ29udGFpbmVyIH06IHsgY2FsbENvbnRhaW5lcjogKG9wdGlvbnM6IElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucykgPT4gdm9pZCB9ID0gKGF3YWl0IHRoaXMud2FzbSkgYXMgYW55XG5cbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGRhdGEsXG4gICAgICB0aW1lb3V0ID0gNjAwMDAsXG4gICAgICBkYXRhVHlwZSA9ICdqc29uJyxcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JyxcbiAgICAgIC4uLnJlc3RPcHRpb25zXG4gICAgfSA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfVxuXG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgdXJsJylcbiAgICB9XG5cbiAgICBpZiAoIW1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCBtZXRob2QnKVxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlciA9IHsgLi4udGhpcy5kZWZhdWx0SGVhZGVycywgLi4ub3B0aW9ucy5oZWFkZXIgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
|
|
@@ -51,6 +51,7 @@ exports.request = void 0;
|
|
|
51
51
|
var utilities_1 = require("@cloudbase/utilities");
|
|
52
52
|
var constants_1 = require("../constants");
|
|
53
53
|
var index_1 = require("./index");
|
|
54
|
+
var __1 = require("..");
|
|
54
55
|
var getSdkName = utilities_1.constants.getSdkName, ERRORS = utilities_1.constants.ERRORS;
|
|
55
56
|
function request(_a) {
|
|
56
57
|
var url = _a.url, _b = _a.method, method = _b === void 0 ? 'GET' : _b, _c = _a.header, header = _c === void 0 ? {} : _c, data = _a.data, _d = _a.timeout, timeout = _d === void 0 ? 60000 : _d, _e = _a.dataType, dataType = _e === void 0 ? 'json' : _e, _f = _a.responseType, responseType = _f === void 0 ? 'text' : _f, mode = _a.mode;
|
|
@@ -65,7 +66,7 @@ function request(_a) {
|
|
|
65
66
|
new Promise(function (_, reject) {
|
|
66
67
|
setTimeout(function () {
|
|
67
68
|
var _a;
|
|
68
|
-
var error = new Error('请求超时');
|
|
69
|
+
var error = new Error((0, __1.t)('请求超时'));
|
|
69
70
|
error.code = 'SERVER_TIMEOUT';
|
|
70
71
|
if (!done) {
|
|
71
72
|
(_a = abortController.abort) === null || _a === void 0 ? void 0 : _a.call(abortController);
|
|
@@ -102,4 +103,4 @@ function request(_a) {
|
|
|
102
103
|
});
|
|
103
104
|
}
|
|
104
105
|
exports.request = request;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdEO0FBQ2hELDBDQUE2QztBQUM3QyxpQ0FBOEM7QUFDOUMsd0JBQXNCO0FBQ2QsSUFBQSxVQUFVLEdBQWEscUJBQVMsV0FBdEIsRUFBRSxNQUFNLEdBQUsscUJBQVMsT0FBZCxDQUFjO0FBZ0J4QyxTQUFzQixPQUFPLENBQUMsRUFTZDtRQVJkLEdBQUcsU0FBQSxFQUNILGNBQWMsRUFBZCxNQUFNLG1CQUFHLEtBQUssS0FBQSxFQUNkLGNBQVcsRUFBWCxNQUFNLG1CQUFHLEVBQUUsS0FBQSxFQUNYLElBQUksVUFBQSxFQUNKLGVBQWUsRUFBZixPQUFPLG1CQUFHLEtBQUssS0FBQSxFQUNmLGdCQUFpQixFQUFqQixRQUFRLG1CQUFHLE1BQU0sS0FBQSxFQUNqQixvQkFBcUIsRUFBckIsWUFBWSxtQkFBRyxNQUFNLEtBQUEsRUFDckIsSUFBSSxVQUFBOzs7O1lBRUUsT0FBTyxnQkFBUSxNQUFNLENBQUUsQ0FBQTtZQUU3QixJQUFJLEdBQUcsSUFBQSw0QkFBb0IsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFcEMsZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7WUFDekMsSUFBSSxHQUFHLEtBQUssQ0FBQTtZQUNoQixXQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLElBQUksT0FBTyxDQUFDLFVBQUMsQ0FBQyxFQUFFLE1BQU07d0JBQ3BCLFVBQVUsQ0FBQzs7NEJBQ1QsSUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBQSxLQUFDLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FDakM7NEJBQUMsS0FBYSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQTs0QkFDdkMsSUFBSSxDQUFDLElBQUksRUFBRTtnQ0FDVCxNQUFBLGVBQWUsQ0FBQyxLQUFLLCtEQUFJLENBQUE7NkJBQzFCOzRCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTt3QkFDZixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7b0JBQ2IsQ0FBQyxDQUFDO29CQUNGLEtBQUssQ0FBQyxHQUFHLEVBQUU7d0JBQ1QsTUFBTSxRQUFBO3dCQUNOLE9BQU8sU0FBQTt3QkFDUCxJQUFJLEVBQUUsSUFBVzt3QkFDakIsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNO3dCQUM5QixJQUFJLE1BQUE7cUJBQ0wsQ0FBQyxDQUFDLElBQUksQ0FDTCxVQUFDLFFBQVE7d0JBQ1AsSUFBSSxHQUFHLElBQUksQ0FBQTt3QkFDWCxJQUFJLFlBQVksS0FBSyxhQUFhLEVBQUU7NEJBQ2xDLE9BQU8sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFBO3lCQUM5Qjt3QkFDRCxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUU7NEJBQ3ZCLElBQUk7Z0NBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7NkJBQ3ZCOzRCQUFDLE9BQU8sQ0FBQyxFQUFFO2dDQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBSSxVQUFVLEVBQUUsZUFBSyxNQUFNLENBQUMsY0FBYyxlQUFLLDBCQUFjLCtDQUE0QyxDQUFFLENBQUE7NkJBQzVIO3lCQUNGO3dCQUNELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO29CQUN4QixDQUFDLEVBQ0QsVUFBQyxDQUFDO3dCQUNBLElBQUksR0FBRyxJQUFJLENBQUE7d0JBQ1gsTUFBTSxDQUFDLENBQUE7b0JBQ1QsQ0FBQyxDQUNGO2lCQUNGLENBQUMsRUFBQTs7O0NBQ0g7QUF0REQsMEJBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBDT01QT05FTlRfTkFNRSB9IGZyb20gJy4uL2NvbnN0YW50cydcbmltcG9ydCB7IHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi9pbmRleCdcbmltcG9ydCB7IHQgfSBmcm9tICcuLidcbmNvbnN0IHsgZ2V0U2RrTmFtZSwgRVJST1JTIH0gPSBjb25zdGFudHNcblxuaW50ZXJmYWNlIElSZXF1ZXN0UG9ycHMge1xuICB1cmw6IHN0cmluZ1xuICBkYXRhPzogc3RyaW5nIHwgb2JqZWN0IHwgQXJyYXlCdWZmZXJcbiAgaGVhZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB0aW1lb3V0PzogbnVtYmVyXG4gIG1ldGhvZD86IHN0cmluZ1xuICBkYXRhVHlwZT86ICdqc29uJyB8IHN0cmluZ1xuICByZXNwb25zZVR5cGU/OiAndGV4dCcgfCAnYXJyYXlCdWZmZXInXG4gIG1vZGU/OiAnY29ycycgfCAnbm8tY29ycycgfCAnc2FtZS1vcmlnaW4nXG59XG5cbi8qKlxuICog5bCB6KOF5a+56b2QIHd4LnJlcXVlc3RcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcXVlc3Qoe1xuICB1cmwsXG4gIG1ldGhvZCA9ICdHRVQnLFxuICBoZWFkZXIgPSB7fSxcbiAgZGF0YSxcbiAgdGltZW91dCA9IDYwMDAwLFxuICBkYXRhVHlwZSA9ICdqc29uJyxcbiAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICBtb2RlLFxufTogSVJlcXVlc3RQb3Jwcykge1xuICBjb25zdCBoZWFkZXJzID0geyAuLi5oZWFkZXIgfVxuXG4gIGRhdGEgPSBzZXJpYWxpemVSZXF1ZXN0Qm9keShoZWFkZXJzLCBkYXRhKVxuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICBsZXQgZG9uZSA9IGZhbHNlXG4gIHJldHVybiBQcm9taXNlLnJhY2UoW1xuICAgIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcih0KCfor7fmsYLotoXml7YnKSlcbiAgICAgICAgOyhlcnJvciBhcyBhbnkpLmNvZGUgPSAnU0VSVkVSX1RJTUVPVVQnXG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydD8uKClcbiAgICAgICAgfVxuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9LCB0aW1lb3V0KVxuICAgIH0pLFxuICAgIGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kLFxuICAgICAgaGVhZGVycyxcbiAgICAgIGJvZHk6IGRhdGEgYXMgYW55LFxuICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgbW9kZSxcbiAgICB9KS50aGVuKFxuICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGRvbmUgPSB0cnVlXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICdhcnJheUJ1ZmZlcicpIHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhVHlwZSA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFske2dldFNka05hbWUoKX1dWyR7RVJST1JTLklOVkFMSURfUEFSQU1TfV1bJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gcmVzcG9uc2UgZGF0YSBtdXN0IGJlIGpzb25gLClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKVxuICAgICAgfSxcbiAgICAgIChlKSA9PiB7XG4gICAgICAgIGRvbmUgPSB0cnVlXG4gICAgICAgIHRocm93IGVcbiAgICAgIH0sXG4gICAgKSxcbiAgXSlcbn1cbiJdfQ==
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types';
|
|
2
2
|
import { ICallContainerOptions, IContianerConfig } from '@cloudbase/types/container';
|
|
3
|
+
export declare let t: (str: any) => any;
|
|
3
4
|
export declare class CloudbaseContainers {
|
|
4
5
|
private readonly config;
|
|
5
6
|
private wasm;
|
|
6
7
|
private containerInitPromise;
|
|
8
|
+
private defaultHeaders;
|
|
7
9
|
constructor(config: IContianerConfig);
|
|
8
10
|
callContainer(options: ICallContainerOptions, callback?: Function): Promise<any>;
|
|
9
11
|
initContainer(config: Omit<IContianerConfig, 'wasmUrl' | 'jsUrl'>): Promise<any>;
|
package/dist/esm/index.js
CHANGED
|
@@ -80,25 +80,26 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
80
80
|
}
|
|
81
81
|
return t;
|
|
82
82
|
};
|
|
83
|
-
import { constants, utils, helpers } from '@cloudbase/utilities';
|
|
83
|
+
import { constants, utils, helpers, langEvent } from '@cloudbase/utilities';
|
|
84
84
|
import { isBuffer, parseURL, serializeRequestBody } from './utils';
|
|
85
85
|
import { COMPONENT_NAME } from './constants';
|
|
86
86
|
var ERRORS = constants.ERRORS, COMMUNITY_SITE_URL = constants.COMMUNITY_SITE_URL;
|
|
87
87
|
var execCallback = utils.execCallback, printWarn = utils.printWarn;
|
|
88
88
|
var catchErrorsDecorator = helpers.catchErrorsDecorator;
|
|
89
|
+
export var t = function (str) { return str; };
|
|
89
90
|
var getExportFunction = function () {
|
|
90
|
-
throw new Error(
|
|
91
|
+
throw new Error("getExportFunction ".concat(t('未实现')));
|
|
91
92
|
};
|
|
92
93
|
var loadJSExportFunction = function () {
|
|
93
|
-
throw new Error(
|
|
94
|
+
throw new Error("loadJSExportFunction ".concat(t('未实现')));
|
|
94
95
|
};
|
|
95
96
|
if (globalThis.IS_MP_BUILD) {
|
|
96
97
|
getExportFunction = function () {
|
|
97
|
-
new Error('小程序不支持 wasm 加载');
|
|
98
|
+
new Error(t('小程序不支持 wasm 加载'));
|
|
98
99
|
};
|
|
99
100
|
loadJSExportFunction = function (jsUrl) {
|
|
100
101
|
if (jsUrl) {
|
|
101
|
-
new Error('小程序不支持动态 js 加载');
|
|
102
|
+
new Error(t('小程序不支持动态 js 加载'));
|
|
102
103
|
}
|
|
103
104
|
return {
|
|
104
105
|
initContainer: globalThis.cloudbase_private_link.initContainer,
|
|
@@ -141,16 +142,17 @@ function genContainerError(data, scope, defaultMessage) {
|
|
|
141
142
|
export var CloudbaseContainers = (function () {
|
|
142
143
|
function CloudbaseContainers(config) {
|
|
143
144
|
var _this = this;
|
|
144
|
-
var _a;
|
|
145
|
+
var _a, _b;
|
|
145
146
|
this.config = __assign(__assign({}, config), { jsUrl: typeof config.jsUrl === 'string'
|
|
146
147
|
? {
|
|
147
148
|
vm: config.jsUrl,
|
|
148
149
|
}
|
|
149
150
|
: config.jsUrl });
|
|
151
|
+
t = ((_a = config.i18n) === null || _a === void 0 ? void 0 : _a.t) || (function (str) { return str; });
|
|
150
152
|
if (!this.config.wasmUrl && this.config.publicKey) {
|
|
151
153
|
}
|
|
152
|
-
else if (!this.config.wasmUrl && !((
|
|
153
|
-
throw new InvalieParamsError("".concat(COMPONENT_NAME), '缺少 privatelink sdk 地址');
|
|
154
|
+
else if (!this.config.wasmUrl && !((_b = this.config.jsUrl) === null || _b === void 0 ? void 0 : _b.vm) && !globalThis.cloudbase_private_link) {
|
|
155
|
+
throw new InvalieParamsError("".concat(COMPONENT_NAME), t('缺少 privatelink sdk 地址'));
|
|
154
156
|
}
|
|
155
157
|
if (this.config.wasmUrl) {
|
|
156
158
|
this.wasm = getExportFunction(this.config.wasmUrl).catch(function (e) {
|
|
@@ -173,30 +175,37 @@ export var CloudbaseContainers = (function () {
|
|
|
173
175
|
callContainer: globalThis.cloudbase_private_link.callContainer,
|
|
174
176
|
});
|
|
175
177
|
}
|
|
178
|
+
langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, function (params) {
|
|
179
|
+
var _a;
|
|
180
|
+
var _b, _c, _d, _e;
|
|
181
|
+
t = ((_c = (_b = params.data) === null || _b === void 0 ? void 0 : _b.i18n) === null || _c === void 0 ? void 0 : _c.t) || (function (str) { return str; });
|
|
182
|
+
_this.defaultHeaders = __assign(__assign({}, _this.defaultHeaders), (_a = {}, _a[langEvent.LANG_CHANGE_EVENT] = (_e = (_d = params.data) === null || _d === void 0 ? void 0 : _d.i18n) === null || _e === void 0 ? void 0 : _e.lang, _a));
|
|
183
|
+
});
|
|
176
184
|
}
|
|
177
185
|
CloudbaseContainers.prototype.callContainer = function (options, callback) {
|
|
178
186
|
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
-
var SCOPE, callContainer, _a, url, method,
|
|
180
|
-
var _b, _c, _d, _e
|
|
181
|
-
return __generator(this, function (
|
|
182
|
-
switch (
|
|
187
|
+
var SCOPE, callContainer, _a, url, method, data, timeout, dataType, responseType, restOptions, header, res, e_1;
|
|
188
|
+
var _b, _c, _d, _e;
|
|
189
|
+
return __generator(this, function (_f) {
|
|
190
|
+
switch (_f.label) {
|
|
183
191
|
case 0: return [4, this.initContainer(this.config)];
|
|
184
192
|
case 1:
|
|
185
|
-
|
|
193
|
+
_f.sent();
|
|
186
194
|
SCOPE = "".concat(COMPONENT_NAME, ".callContainer");
|
|
187
195
|
return [4, this.wasm];
|
|
188
196
|
case 2:
|
|
189
|
-
callContainer = (
|
|
190
|
-
_a = __assign({}, options), url = _a.url, method = (_b = _a.method, _b === void 0 ? 'GET' : _b),
|
|
197
|
+
callContainer = (_f.sent()).callContainer;
|
|
198
|
+
_a = __assign({}, options), url = _a.url, method = (_b = _a.method, _b === void 0 ? 'GET' : _b), data = _a.data, timeout = (_c = _a.timeout, _c === void 0 ? 60000 : _c), dataType = (_d = _a.dataType, _d === void 0 ? 'json' : _d), responseType = (_e = _a.responseType, _e === void 0 ? 'text' : _e), restOptions = __rest(_a, ["url", "method", "data", "timeout", "dataType", "responseType"]);
|
|
191
199
|
if (!url) {
|
|
192
200
|
throw new InvalieParamsError(SCOPE, 'invalid request url');
|
|
193
201
|
}
|
|
194
202
|
if (!method) {
|
|
195
203
|
throw new InvalieParamsError(SCOPE, 'invalid request method');
|
|
196
204
|
}
|
|
197
|
-
|
|
205
|
+
header = __assign(__assign({}, this.defaultHeaders), options.header);
|
|
206
|
+
_f.label = 3;
|
|
198
207
|
case 3:
|
|
199
|
-
|
|
208
|
+
_f.trys.push([3, 5, , 6]);
|
|
200
209
|
return [4, new Promise(function (resolve, reject) {
|
|
201
210
|
var params = __assign({ url: url, method: method, header: header, data: serializeRequestBody(header, data, method), timeout: timeout, dataType: dataType, responseType: responseType }, restOptions);
|
|
202
211
|
if (data
|
|
@@ -238,10 +247,10 @@ export var CloudbaseContainers = (function () {
|
|
|
238
247
|
} }));
|
|
239
248
|
})];
|
|
240
249
|
case 4:
|
|
241
|
-
res =
|
|
250
|
+
res = _f.sent();
|
|
242
251
|
return [2, execCallback(callback, null, res)];
|
|
243
252
|
case 5:
|
|
244
|
-
e_1 =
|
|
253
|
+
e_1 = _f.sent();
|
|
245
254
|
execCallback(callback, e_1);
|
|
246
255
|
return [3, 6];
|
|
247
256
|
case 6: return [2];
|
|
@@ -326,4 +335,4 @@ export function registerContainers(app) {
|
|
|
326
335
|
console.warn(e);
|
|
327
336
|
}
|
|
328
337
|
}
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHcEMsSUFBQSxNQUFNLEdBQXlCLFNBQVMsT0FBbEMsRUFBRSxrQkFBa0IsR0FBSyxTQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLEtBQUssYUFBckIsRUFBRSxTQUFTLEdBQUssS0FBSyxVQUFWLENBQVU7QUFDakMsSUFBQSxvQkFBb0IsR0FBSyxPQUFPLHFCQUFaLENBQVk7QUFHeEMsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBQ0Qsb0JBQW9CLEdBQUcsVUFBVSxLQUFLO1FBQ3BDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtTQUM1QjtRQUNELE9BQU87WUFDTCxhQUFhLEVBQUcs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aUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtLQUNqQztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgaXNCdWZmZXIsIHBhcnNlVVJMLCBzZXJpYWxpemVSZXF1ZXN0Qm9keSB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBDT01QT05FTlRfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuXG5kZWNsYXJlIGNvbnN0IGNsb3VkYmFzZTogSUNsb3VkYmFzZVxuY29uc3QgeyBFUlJPUlMsIENPTU1VTklUWV9TSVRFX1VSTCB9ID0gY29uc3RhbnRzXG5jb25zdCB7IGV4ZWNDYWxsYmFjaywgcHJpbnRXYXJuIH0gPSB1dGlsc1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVyc1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xubGV0IGdldEV4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKCdnZXRFeHBvcnRGdW5jdGlvbiDmnKrlrp7njrAnKVxufVxubGV0IGxvYWRKU0V4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKCdsb2FkSlNFeHBvcnRGdW5jdGlvbiDmnKrlrp7njrAnKVxufVxuXG5pZiAoZ2xvYmFsVGhpcy5JU19NUF9CVUlMRCkge1xuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgRXJyb3IoJ+Wwj+eoi+W6j+S4jeaUr+aMgSB3YXNtIOWKoOi9vScpXG4gIH1cbiAgbG9hZEpTRXhwb3J0RnVuY3Rpb24gPSBmdW5jdGlvbiAoanNVcmwpIHtcbiAgICBpZiAoanNVcmwpIHtcbiAgICAgIG5ldyBFcnJvcign5bCP56iL5bqP5LiN5pSv5oyB5Yqo5oCBIGpzIOWKoOi9vScpXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgIGNhbGxDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5jYWxsQ29udGFpbmVyLFxuICAgIH1cbiAgfVxufSBlbHNlIHtcbiAgY29uc3QgbG9hZGVyID0gcmVxdWlyZSgnLi91dGlscy9sb2FkZXInKVxuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5nZXRFeHBvcnRGdW5jdGlvblxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5sb2FkSlNFeHBvcnRGdW5jdGlvblxufVxuLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jbGFzcyBJbnZhbGllUGFyYW1zRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IGFueVxuICBjb25zdHJ1Y3RvcihzY29wZSwgbWVzc2FnZSkge1xuICAgIGNvbnN0IG1zZyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgIG1zZzogYFske3Njb3BlfV0gJHttZXNzYWdlfWAsXG4gICAgfSlcbiAgICBzdXBlcihtc2cpXG4gICAgdGhpcy5jb2RlID0gRVJST1JTLklOVkFMSURfUEFSQU1TXG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMgZXh0ZW5kcyBJQ2FsbENvbnRhaW5lck9wdGlvbnMge1xuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMge1xuICBjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz5cbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBnZW5Db250YWluZXJFcnJvcihkYXRhLCBzY29wZSA9IENPTVBPTkVOVF9OQU1FLCBkZWZhdWx0TWVzc2FnZSA9ICdjYWxsIGNvbnRhaW5lciBlcnJvcicpIHtcbiAgY29uc3QgZXJyb3IgPSBkYXRhIGluc3RhbmNlb2YgRXJyb3IgPyBkYXRhIDogbmV3IEVycm9yKGBbJHtzY29wZX1dICR7ZGF0YT8ubWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZX1gKVxuICA7KGVycm9yIGFzIGFueSkuY29kZSA9IGRhdGE/LmNvZGUgfHwgJ1VOS05PV05fRVJST1InXG4gIHJldHVybiBlcnJvclxufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRiYXNlQ29udGFpbmVycyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnICYgeyBqc1VybD86IHsgdmVuZGVyPzogc3RyaW5nOyB2bTogc3RyaW5nIH0gfVxuICBwcml2YXRlIHdhc206IFByb21pc2U8V2ViQXNzZW1ibHkuRXhwb3J0cz5cbiAgcHJpdmF0ZSBjb250YWluZXJJbml0UHJvbWlzZTogLyogUHJvbWlzZTxhbnk+Ki8gYW55IHwgbnVsbFxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAganNVcmw6XG4gICAgICAgIHR5cGVvZiBjb25maWcuanNVcmwgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICB2bTogY29uZmlnLmpzVXJsLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IChjb25maWcuanNVcmwgYXMgYW55KSxcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICAvLyDpnZ4gd2FtcyDkuJTmnIkgcHVibGljIGtleSDliJnlj6/kvb/nlKjpu5jorqTnmoQganMtc2Rr77yM5peg6ZyA5qCh6aqMXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmw/LnZtICYmICEoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoYCR7Q09NUE9ORU5UX05BTUV9YCwgJ+e8uuWwkSBwcml2YXRlbGluayBzZGsg5Zyw5Z2AJylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgY3VzdG9tSW5mbzoge1xuICAgICAgY2xhc3NOYW1lOiAnQ2xvdWRiYXNlJyxcbiAgICAgIG1ldGhvZE5hbWU6ICdjYWxsQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIHRpdGxlOiAn6LCD55So5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGNhbGxDb250YWluZXIoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOWfn+WQjSAmIOi3r+W+hOaYr+WQpuWtmOWcqCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgY2FsbENvbnRhaW5lcihvcHRpb25zOiBJQ2FsbENvbnRhaW5lck9wdGlvbnMsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcbiAgICBhd2FpdCB0aGlzLmluaXRDb250YWluZXIodGhpcy5jb25maWcpXG4gICAgY29uc3QgU0NPUEUgPSBgJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcmBcbiAgICBjb25zdCB7IGNhbGxDb250YWluZXIgfTogeyBjYWxsQ29udGFpbmVyOiAob3B0aW9uczogSUNhbGxUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGhlYWRlciA9IHt9LFxuICAgICAgZGF0YSxcbiAgICAgIHRpbWVvdXQgPSA2MDAwMCxcbiAgICAgIGRhdGFUeXBlID0gJ2pzb24nLFxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCB1cmwnKVxuICAgIH1cblxuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpXG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBR3BDLElBQUEsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsWUFBWSxHQUFnQixLQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLEtBQUssVUFBVixDQUFVO0FBQ2pDLElBQUEsb0JBQW9CLEdBQUssT0FBTyxxQkFBWixDQUFZO0FBRXhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsRUFBSCxDQUFHLENBQUE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQUNELElBQUksb0JBQW9CLEdBQWE7SUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBd0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFFLENBQUMsQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFFRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUU7SUFDMUIsaUJBQWlCLEdBQUc7UUFDbEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixD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QUFrQixDQUFFO2FBQ2xEO1NBQ0YsQ0FBQzs7aURBQ29FLFFBQVE7OzREQTRGN0U7SUF3QkgsMEJBQUM7Q0FBQSxBQW5MRCxJQW1MQztBQUVELElBQU0sU0FBUyxHQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUEwQztJQUMzRSxJQUFJO1FBQ0YsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQ2pDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgSUNhbGxDb250YWluZXJPcHRpb25zLCBJQ29udGlhbmVyQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb250YWluZXInXG5pbXBvcnQgeyBjb25zdGFudHMsIHV0aWxzLCBoZWxwZXJzLCBsYW5nRXZlbnQgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IGlzQnVmZmVyLCBwYXJzZVVSTCwgc2VyaWFsaXplUmVxdWVzdEJvZHkgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZGVjbGFyZSBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2VcbmNvbnN0IHsgRVJST1JTLCBDT01NVU5JVFlfU0lURV9VUkwgfSA9IGNvbnN0YW50c1xuY29uc3QgeyBleGVjQ2FsbGJhY2ssIHByaW50V2FybiB9ID0gdXRpbHNcbmNvbnN0IHsgY2F0Y2hFcnJvcnNEZWNvcmF0b3IgfSA9IGhlbHBlcnNcblxuZXhwb3J0IGxldCB0ID0gc3RyID0+IHN0clxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xubGV0IGdldEV4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGBnZXRFeHBvcnRGdW5jdGlvbiAke3QoJ+acquWunueOsCcpfWApXG59XG5sZXQgbG9hZEpTRXhwb3J0RnVuY3Rpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYGxvYWRKU0V4cG9ydEZ1bmN0aW9uICR7dCgn5pyq5a6e546wJyl9YClcbn1cblxuaWYgKGdsb2JhbFRoaXMuSVNfTVBfQlVJTEQpIHtcbiAgZ2V0RXhwb3J0RnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgbmV3IEVycm9yKHQoJ+Wwj+eoi+W6j+S4jeaUr+aMgSB3YXNtIOWKoOi9vScpKVxuICB9XG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKGpzVXJsKSB7XG4gICAgaWYgKGpzVXJsKSB7XG4gICAgICBuZXcgRXJyb3IodCgn5bCP56iL5bqP5LiN5pSv5oyB5Yqo5oCBIGpzIOWKoOi9vScpKVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmluaXRDb250YWluZXIsXG4gICAgICBjYWxsQ29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuY2FsbENvbnRhaW5lcixcbiAgICB9XG4gIH1cbn0gZWxzZSB7XG4gIGNvbnN0IGxvYWRlciA9IHJlcXVpcmUoJy4vdXRpbHMvbG9hZGVyJylcbiAgZ2V0RXhwb3J0RnVuY3Rpb24gPSBsb2FkZXIuZ2V0RXhwb3J0RnVuY3Rpb25cbiAgbG9hZEpTRXhwb3J0RnVuY3Rpb24gPSBsb2FkZXIubG9hZEpTRXhwb3J0RnVuY3Rpb25cbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY2xhc3MgSW52YWxpZVBhcmFtc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBhbnlcbiAgY29uc3RydWN0b3Ioc2NvcGUsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCBtc2cgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICBtc2c6IGBbJHtzY29wZX1dICR7bWVzc2FnZX1gLFxuICAgIH0pXG4gICAgc3VwZXIobXNnKVxuICAgIHRoaXMuY29kZSA9IEVSUk9SUy5JTlZBTElEX1BBUkFNU1xuICB9XG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogdGhpcy5jb2RlLFxuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlLFxuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgSUNhbGxUY2JDb250YWluZXJPcHRpb25zIGV4dGVuZHMgSUNhbGxDb250YWluZXJPcHRpb25zIHtcbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5pbnRlcmZhY2UgSUluaXRUY2JDb250YWluZXJPcHRpb25zIHtcbiAgY29uZmlnOiBPbWl0PElDb250aWFuZXJDb25maWcsICd3YXNtVXJsJyB8ICdqc1VybCc+XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuZnVuY3Rpb24gZ2VuQ29udGFpbmVyRXJyb3IoZGF0YSwgc2NvcGUgPSBDT01QT05FTlRfTkFNRSwgZGVmYXVsdE1lc3NhZ2UgPSAnY2FsbCBjb250YWluZXIgZXJyb3InKSB7XG4gIGNvbnN0IGVycm9yID0gZGF0YSBpbnN0YW5jZW9mIEVycm9yID8gZGF0YSA6IG5ldyBFcnJvcihgWyR7c2NvcGV9XSAke2RhdGE/Lm1lc3NhZ2UgfHwgZGVmYXVsdE1lc3NhZ2V9YClcbiAgOyhlcnJvciBhcyBhbnkpLmNvZGUgPSBkYXRhPy5jb2RlIHx8ICdVTktOT1dOX0VSUk9SJ1xuICByZXR1cm4gZXJyb3Jcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkYmFzZUNvbnRhaW5lcnMge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZyAmIHsganNVcmw/OiB7IHZlbmRlcj86IHN0cmluZzsgdm06IHN0cmluZyB9IH1cbiAgcHJpdmF0ZSB3YXNtOiBQcm9taXNlPFdlYkFzc2VtYmx5LkV4cG9ydHM+XG4gIHByaXZhdGUgY29udGFpbmVySW5pdFByb21pc2U6IC8qIFByb21pc2U8YW55PiovIGFueSB8IG51bGxcbiAgcHJpdmF0ZSBkZWZhdWx0SGVhZGVyczogeyBbeDogc3RyaW5nXTogYW55IH1cblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGpzVXJsOlxuICAgICAgICB0eXBlb2YgY29uZmlnLmpzVXJsID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgdm06IGNvbmZpZy5qc1VybCxcbiAgICAgICAgICB9XG4gICAgICAgICAgOiAoY29uZmlnLmpzVXJsIGFzIGFueSksXG4gICAgfVxuICAgIHQgPSBjb25maWcuaTE4bj8udCB8fCAoc3RyID0+IHN0cilcblxuICAgIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIC8vIOmdniB3YW1zIOS4lOaciSBwdWJsaWMga2V5IOWImeWPr+S9v+eUqOm7mOiupOeahCBqcy1zZGvvvIzml6DpnIDmoKHpqoxcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpZy53YXNtVXJsICYmICF0aGlzLmNvbmZpZy5qc1VybD8udm0gJiYgIShnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluaykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihgJHtDT01QT05FTlRfTkFNRX1gLCB0KCfnvLrlsJEgcHJpdmF0ZWxpbmsgc2RrIOWcsOWdgCcpKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy53YXNtVXJsKSB7XG4gICAgICB0aGlzLndhc20gPSBnZXRFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy53YXNtVXJsKS5jYXRjaCgoZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuanNVcmwpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ2xvYWQgd2FtcyBlcnJvciwgZmFsbCBiYWNrIHRvIHVzZSBqcycsIGUpXG4gICAgICAgICAgcmV0dXJuIGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgICAgICB9XG4gICAgICAgIGlmICgoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgICAgICByZXR1cm4gKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rXG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmpzVXJsIHx8IHRoaXMuY29uZmlnLnB1YmxpY0tleSkge1xuICAgICAgdGhpcy53YXNtID0gbG9hZEpTRXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcuanNVcmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2FzbSA9IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIGluaXRDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgICBjYWxsQ29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuY2FsbENvbnRhaW5lcixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgbGFuZ0V2ZW50LmJ1cy5vbihsYW5nRXZlbnQuTEFOR19DSEFOR0VfRVZFTlQsIChwYXJhbXMpID0+IHtcbiAgICAgIHQgPSBwYXJhbXMuZGF0YT8uaTE4bj8udCB8fCAoc3RyID0+IHN0cilcbiAgICAgIHRoaXMuZGVmYXVsdEhlYWRlcnMgPSB7IC4uLnRoaXMuZGVmYXVsdEhlYWRlcnMsIFtsYW5nRXZlbnQuTEFOR19DSEFOR0VfRVZFTlRdOiBwYXJhbXMuZGF0YT8uaTE4bj8ubGFuZyB9XG4gICAgfSlcbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgY3VzdG9tSW5mbzoge1xuICAgICAgY2xhc3NOYW1lOiAnQ2xvdWRiYXNlJyxcbiAgICAgIG1ldGhvZE5hbWU6ICdjYWxsQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIHRpdGxlOiAn6LCD55So5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGNhbGxDb250YWluZXIoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOWfn+WQjSAmIOi3r+W+hOaYr+WQpuWtmOWcqCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgY2FsbENvbnRhaW5lcihvcHRpb25zOiBJQ2FsbENvbnRhaW5lck9wdGlvbnMsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcbiAgICBhd2FpdCB0aGlzLmluaXRDb250YWluZXIodGhpcy5jb25maWcpXG4gICAgY29uc3QgU0NPUEUgPSBgJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcmBcbiAgICBjb25zdCB7IGNhbGxDb250YWluZXIgfTogeyBjYWxsQ29udGFpbmVyOiAob3B0aW9uczogSUNhbGxUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcblxuICAgIGNvbnN0IHtcbiAgICAgIHVybCxcbiAgICAgIG1ldGhvZCA9ICdHRVQnLFxuICAgICAgZGF0YSxcbiAgICAgIHRpbWVvdXQgPSA2MDAwMCxcbiAgICAgIGRhdGFUeXBlID0gJ2pzb24nLFxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCB1cmwnKVxuICAgIH1cblxuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVyID0geyAuLi50aGlzLmRlZmF1bHRIZWFkZXJzLCAuLi5vcHRpb25zLmhlYWRlciB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBoZWFkZXIsXG4gICAgICAgICAgZGF0YTogc2VyaWFsaXplUmVxdWVzdEJvZHkoaGVhZGVyLCBkYXRhLCBtZXRob2QpLFxuICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgZGF0YVR5cGUsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlLFxuICAgICAgICAgIC4uLnJlc3RPcHRpb25zLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgICAmJiAoaXNCdWZmZXIocGFyYW1zLmRhdGEpIHx8IHR5cGVvZiBwYXJhbXMuZGF0YSA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgJiYgKGRhdGEgYXMgYW55KT8ubGVuZ3RoID4gMTAwMCAqIDEwMjQgKiAxMFxuICAgICAgICApIHtcbiAgICAgICAgICByZWplY3QobmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2JvZHkgdG9vIGxhcmdlJykpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kID09PSAnR0VUJykge1xuICAgICAgICAgIGxldCB7IGRhdGE6IGdldEJvZHkgfSA9IHBhcmFtc1xuICAgICAgICAgIGlmIChnZXRCb2R5KSB7XG4gICAgICAgICAgICBwYXJhbXMuZGF0YSA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWlzQnVmZmVyKGdldEJvZHkpICYmIHR5cGVvZiBnZXRCb2R5ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgbGlzdCA9IE9iamVjdC5lbnRyaWVzKGdldEJvZHkgfHwge30pLnJlZHVjZShcbiAgICAgICAgICAgICAgKGxpc3QsIFtrZXksIHZhbHVlXTogW3N0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbl0pID0+IHtcbiAgICAgICAgICAgICAgICBsaXN0LnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2YWx1ZSkpfWApXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAobGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZ2V0Qm9keSA9IGxpc3Quam9pbignJicpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXJhbXMuZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFVybCA9IHBhcnNlVVJMKHVybClcbiAgICAgICAgICAgIGlmIChwYXJzZWRVcmwuc2VhcmNoKSB7XG4gICAgICAgICAgICAgIHBhcnNlZFVybC5zZWFyY2ggKz0gYCYke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBhcnNlZFVybC5zZWFyY2ggPSBgPyR7cGFyYW1zLmRhdGF9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyYW1zLnVybCA9IHBhcnNlZFVybC5ocmVmXG4gICAgICAgICAgICBwYXJhbXMuZGF0YSA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxDb250YWluZXIoe1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICBzdWNjZXNzOiByZXNvbHZlLFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gcmVzIHx8IHt9XG4gICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IoZGF0YSwgU0NPUEUsICdjYWxsIGNvbnRhaW5lciBlcnJvcicpKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgcmV0dXJuIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgbnVsbCwgcmVzKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbml0Q29udGFpbmVyKGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPikge1xuICAgIGNvbnN0IHsgaW5pdENvbnRhaW5lciB9OiB7IGluaXRDb250YWluZXI6IChvcHRpb25zOiBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMpID0+IHZvaWQgfSA9IChhd2FpdCB0aGlzLndhc20pIGFzIGFueVxuICAgIGlmICghdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSkge1xuICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaW5pdENvbnRhaW5lcih7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChTdHJpbmcocmVzLnN0YXR1c0NvZGUpICE9PSAnMjAwJykge1xuICAgICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IocmVzLmRhdGEsIGAke0NPTVBPTkVOVF9OQU1FfS5pbml0Q29udGFpbmVyYCwgJ2luaXQgY29udGFpbmVyIGZhaWwnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc29sdmUocmVzKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFpbDogKHJlcykgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlID0gbnVsbFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlXG4gIH1cbn1cblxuY29uc3QgY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50ID0ge1xuICBuYW1lOiBDT01QT05FTlRfTkFNRSxcbiAgbmFtZXNwYWNlOiAnY29udGFpbmVyJyxcbiAgZW50aXR5KGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lckluc3RhbmNlKSB7XG4gICAgICBwcmludFdhcm4oRVJST1JTLklOVkFMSURfT1BFUkFUSU9OLCAnZXZlcnkgY2xvdWRiYXNlIGluc3RhbmNlIHNob3VsZCBoYXMgb25seSBvbmUgY29udGFpbmVyIG9iamVjdCcpXG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENsb3VkYmFzZUNvbnRhaW5lcnMoY29uZmlnKVxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSBpbnN0YW5jZVxuICAgIHRoaXMuY2FsbENvbnRhaW5lciA9IGluc3RhbmNlLmNhbGxDb250YWluZXIuYmluZChpbnN0YW5jZSlcblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlXG4gIH0sXG59XG50cnkge1xuICBjbG91ZGJhc2UucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxufSBjYXRjaCAoZSkge31cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29udGFpbmVycyhhcHA6IFBpY2s8SUNsb3VkYmFzZSwgJ3JlZ2lzdGVyQ29tcG9uZW50Jz4pIHtcbiAgdHJ5IHtcbiAgICBhcHAucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -48,6 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
import { constants } from '@cloudbase/utilities';
|
|
49
49
|
import { COMPONENT_NAME } from '../constants';
|
|
50
50
|
import { serializeRequestBody } from './index';
|
|
51
|
+
import { t } from '..';
|
|
51
52
|
var getSdkName = constants.getSdkName, ERRORS = constants.ERRORS;
|
|
52
53
|
export function request(_a) {
|
|
53
54
|
var url = _a.url, _b = _a.method, method = _b === void 0 ? 'GET' : _b, _c = _a.header, header = _c === void 0 ? {} : _c, data = _a.data, _d = _a.timeout, timeout = _d === void 0 ? 60000 : _d, _e = _a.dataType, dataType = _e === void 0 ? 'json' : _e, _f = _a.responseType, responseType = _f === void 0 ? 'text' : _f, mode = _a.mode;
|
|
@@ -62,7 +63,7 @@ export function request(_a) {
|
|
|
62
63
|
new Promise(function (_, reject) {
|
|
63
64
|
setTimeout(function () {
|
|
64
65
|
var _a;
|
|
65
|
-
var error = new Error('请求超时');
|
|
66
|
+
var error = new Error(t('请求超时'));
|
|
66
67
|
error.code = 'SERVER_TIMEOUT';
|
|
67
68
|
if (!done) {
|
|
68
69
|
(_a = abortController.abort) === null || _a === void 0 ? void 0 : _a.call(abortController);
|
|
@@ -98,4 +99,4 @@ export function request(_a) {
|
|
|
98
99
|
});
|
|
99
100
|
});
|
|
100
101
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDZCxJQUFBLFVBQVUsR0FBYSxTQUFTLFdBQXRCLEVBQUUsTUFBTSxHQUFLLFNBQVMsT0FBZCxDQUFjO0FBZ0J4QyxNQUFNLFVBQWdCLE9BQU8sQ0FBQyxFQVNkO1FBUmQsR0FBRyxTQUFBLEVBQ0gsY0FBYyxFQUFkLE1BQU0sbUJBQUcsS0FBSyxLQUFBLEVBQ2QsY0FBVyxFQUFYLE1BQU0sbUJBQUcsRUFBRSxLQUFBLEVBQ1gsSUFBSSxVQUFBLEVBQ0osZUFBZSxFQUFmLE9BQU8sbUJBQUcsS0FBSyxLQUFBLEVBQ2YsZ0JBQWlCLEVBQWpCLFFBQVEsbUJBQUcsTUFBTSxLQUFBLEVBQ2pCLG9CQUFxQixFQUFyQixZQUFZLG1CQUFHLE1BQU0sS0FBQSxFQUNyQixJQUFJLFVBQUE7Ozs7WUFFRSxPQUFPLGdCQUFRLE1BQU0sQ0FBRSxDQUFBO1lBRTdCLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFcEMsZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7WUFDekMsSUFBSSxHQUFHLEtBQUssQ0FBQTtZQUNoQixXQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLElBQUksT0FBTyxDQUFDLFVBQUMsQ0FBQyxFQUFFLE1BQU07d0JBQ3BCLFVBQVUsQ0FBQzs7NEJBQ1QsSUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ2pDOzRCQUFDLEtBQWEsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUE7NEJBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0NBQ1QsTUFBQSxlQUFlLENBQUMsS0FBSywrREFBSSxDQUFBOzZCQUMxQjs0QkFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ2YsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO29CQUNiLENBQUMsQ0FBQztvQkFDRixLQUFLLENBQUMsR0FBRyxFQUFFO3dCQUNULE1BQU0sUUFBQTt3QkFDTixPQUFPLFNBQUE7d0JBQ1AsSUFBSSxFQUFFLElBQVc7d0JBQ2pCLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTt3QkFDOUIsSUFBSSxNQUFBO3FCQUNMLENBQUMsQ0FBQyxJQUFJLENBQ0wsVUFBQyxRQUFRO3dCQUNQLElBQUksR0FBRyxJQUFJLENBQUE7d0JBQ1gsSUFBSSxZQUFZLEtBQUssYUFBYSxFQUFFOzRCQUNsQyxPQUFPLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQTt5QkFDOUI7d0JBQ0QsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFOzRCQUN2QixJQUFJO2dDQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBOzZCQUN2Qjs0QkFBQyxPQUFPLENBQUMsRUFBRTtnQ0FDVixNQUFNLElBQUksS0FBSyxDQUFDLFdBQUksVUFBVSxFQUFFLGVBQUssTUFBTSxDQUFDLGNBQWMsZUFBSyxjQUFjLCtDQUE0QyxDQUFFLENBQUE7NkJBQzVIO3lCQUNGO3dCQUNELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO29CQUN4QixDQUFDLEVBQ0QsVUFBQyxDQUFDO3dCQUNBLElBQUksR0FBRyxJQUFJLENBQUE7d0JBQ1gsTUFBTSxDQUFDLENBQUE7b0JBQ1QsQ0FBQyxDQUNGO2lCQUNGLENBQUMsRUFBQTs7O0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IENPTVBPTkVOVF9OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgc2VyaWFsaXplUmVxdWVzdEJvZHkgfSBmcm9tICcuL2luZGV4J1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uJ1xuY29uc3QgeyBnZXRTZGtOYW1lLCBFUlJPUlMgfSA9IGNvbnN0YW50c1xuXG5pbnRlcmZhY2UgSVJlcXVlc3RQb3JwcyB7XG4gIHVybDogc3RyaW5nXG4gIGRhdGE/OiBzdHJpbmcgfCBvYmplY3QgfCBBcnJheUJ1ZmZlclxuICBoZWFkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIHRpbWVvdXQ/OiBudW1iZXJcbiAgbWV0aG9kPzogc3RyaW5nXG4gIGRhdGFUeXBlPzogJ2pzb24nIHwgc3RyaW5nXG4gIHJlc3BvbnNlVHlwZT86ICd0ZXh0JyB8ICdhcnJheUJ1ZmZlcidcbiAgbW9kZT86ICdjb3JzJyB8ICduby1jb3JzJyB8ICdzYW1lLW9yaWdpbidcbn1cblxuLyoqXG4gKiDlsIHoo4Xlr7npvZAgd3gucmVxdWVzdFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdCh7XG4gIHVybCxcbiAgbWV0aG9kID0gJ0dFVCcsXG4gIGhlYWRlciA9IHt9LFxuICBkYXRhLFxuICB0aW1lb3V0ID0gNjAwMDAsXG4gIGRhdGFUeXBlID0gJ2pzb24nLFxuICByZXNwb25zZVR5cGUgPSAndGV4dCcsXG4gIG1vZGUsXG59OiBJUmVxdWVzdFBvcnBzKSB7XG4gIGNvbnN0IGhlYWRlcnMgPSB7IC4uLmhlYWRlciB9XG5cbiAgZGF0YSA9IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlcnMsIGRhdGEpXG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gIGxldCBkb25lID0gZmFsc2VcbiAgcmV0dXJuIFByb21pc2UucmFjZShbXG4gICAgbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKHQoJ+ivt+axgui2heaXticpKVxuICAgICAgICA7KGVycm9yIGFzIGFueSkuY29kZSA9ICdTRVJWRVJfVElNRU9VVCdcbiAgICAgICAgaWYgKCFkb25lKSB7XG4gICAgICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0Py4oKVxuICAgICAgICB9XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0sIHRpbWVvdXQpXG4gICAgfSksXG4gICAgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2QsXG4gICAgICBoZWFkZXJzLFxuICAgICAgYm9keTogZGF0YSBhcyBhbnksXG4gICAgICBzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICBtb2RlLFxuICAgIH0pLnRoZW4oXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgZG9uZSA9IHRydWVcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gJ2FycmF5QnVmZmVyJykge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5hcnJheUJ1ZmZlcigpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGFUeXBlID09PSAnanNvbicpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWyR7Z2V0U2RrTmFtZSgpfV1bJHtFUlJPUlMuSU5WQUxJRF9QQVJBTVN9XVske0NPTVBPTkVOVF9OQU1FfS5jYWxsQ29udGFpbmVyXSByZXNwb25zZSBkYXRhIG11c3QgYmUganNvbmAsKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpXG4gICAgICB9LFxuICAgICAgKGUpID0+IHtcbiAgICAgICAgZG9uZSA9IHRydWVcbiAgICAgICAgdGhyb3cgZVxuICAgICAgfSxcbiAgICApLFxuICBdKVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/container",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.4",
|
|
4
4
|
"description": "cloudbase javascript sdk functions componets",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"license": "Apache-2.0",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@cloudbase/adapter-interface": "^0.7.1",
|
|
34
|
-
"@cloudbase/utilities": "2.19.
|
|
34
|
+
"@cloudbase/utilities": "2.19.4"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "f3400578039e283b99e886d47aab709b0a08ccad",
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@cloudbase/types": "2.19.
|
|
38
|
+
"@cloudbase/types": "2.19.4",
|
|
39
39
|
"terser-webpack-plugin": "^3.0.2",
|
|
40
40
|
"webpack-bundle-analyzer": "^4.9.1"
|
|
41
41
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types'
|
|
2
2
|
import { ICloudbaseComponent } from '@cloudbase/types/component'
|
|
3
3
|
import { ICallContainerOptions, IContianerConfig } from '@cloudbase/types/container'
|
|
4
|
-
import { constants, utils, helpers } from '@cloudbase/utilities'
|
|
4
|
+
import { constants, utils, helpers, langEvent } from '@cloudbase/utilities'
|
|
5
5
|
import { isBuffer, parseURL, serializeRequestBody } from './utils'
|
|
6
6
|
import { COMPONENT_NAME } from './constants'
|
|
7
7
|
|
|
@@ -10,21 +10,23 @@ const { ERRORS, COMMUNITY_SITE_URL } = constants
|
|
|
10
10
|
const { execCallback, printWarn } = utils
|
|
11
11
|
const { catchErrorsDecorator } = helpers
|
|
12
12
|
|
|
13
|
+
export let t = str => str
|
|
14
|
+
|
|
13
15
|
/* eslint-disable */
|
|
14
16
|
let getExportFunction: Function = () => {
|
|
15
|
-
throw new Error(
|
|
17
|
+
throw new Error(`getExportFunction ${t('未实现')}`)
|
|
16
18
|
}
|
|
17
19
|
let loadJSExportFunction: Function = () => {
|
|
18
|
-
throw new Error(
|
|
20
|
+
throw new Error(`loadJSExportFunction ${t('未实现')}`)
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
if (globalThis.IS_MP_BUILD) {
|
|
22
24
|
getExportFunction = function () {
|
|
23
|
-
new Error('小程序不支持 wasm 加载')
|
|
25
|
+
new Error(t('小程序不支持 wasm 加载'))
|
|
24
26
|
}
|
|
25
27
|
loadJSExportFunction = function (jsUrl) {
|
|
26
28
|
if (jsUrl) {
|
|
27
|
-
new Error('小程序不支持动态 js 加载')
|
|
29
|
+
new Error(t('小程序不支持动态 js 加载'))
|
|
28
30
|
}
|
|
29
31
|
return {
|
|
30
32
|
initContainer: (globalThis as any).cloudbase_private_link.initContainer,
|
|
@@ -77,6 +79,7 @@ export class CloudbaseContainers {
|
|
|
77
79
|
private readonly config: IContianerConfig & { jsUrl?: { vender?: string; vm: string } }
|
|
78
80
|
private wasm: Promise<WebAssembly.Exports>
|
|
79
81
|
private containerInitPromise: /* Promise<any>*/ any | null
|
|
82
|
+
private defaultHeaders: { [x: string]: any }
|
|
80
83
|
|
|
81
84
|
constructor(config: IContianerConfig) {
|
|
82
85
|
this.config = {
|
|
@@ -88,11 +91,12 @@ export class CloudbaseContainers {
|
|
|
88
91
|
}
|
|
89
92
|
: (config.jsUrl as any),
|
|
90
93
|
}
|
|
94
|
+
t = config.i18n?.t || (str => str)
|
|
91
95
|
|
|
92
96
|
if (!this.config.wasmUrl && this.config.publicKey) {
|
|
93
97
|
// 非 wams 且有 public key 则可使用默认的 js-sdk,无需校验
|
|
94
98
|
} else if (!this.config.wasmUrl && !this.config.jsUrl?.vm && !(globalThis as any).cloudbase_private_link) {
|
|
95
|
-
throw new InvalieParamsError(`${COMPONENT_NAME}`, '缺少 privatelink sdk 地址')
|
|
99
|
+
throw new InvalieParamsError(`${COMPONENT_NAME}`, t('缺少 privatelink sdk 地址'))
|
|
96
100
|
}
|
|
97
101
|
|
|
98
102
|
if (this.config.wasmUrl) {
|
|
@@ -114,6 +118,11 @@ export class CloudbaseContainers {
|
|
|
114
118
|
callContainer: (globalThis as any).cloudbase_private_link.callContainer,
|
|
115
119
|
})
|
|
116
120
|
}
|
|
121
|
+
|
|
122
|
+
langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, (params) => {
|
|
123
|
+
t = params.data?.i18n?.t || (str => str)
|
|
124
|
+
this.defaultHeaders = { ...this.defaultHeaders, [langEvent.LANG_CHANGE_EVENT]: params.data?.i18n?.lang }
|
|
125
|
+
})
|
|
117
126
|
}
|
|
118
127
|
|
|
119
128
|
@catchErrorsDecorator({
|
|
@@ -133,10 +142,10 @@ export class CloudbaseContainers {
|
|
|
133
142
|
await this.initContainer(this.config)
|
|
134
143
|
const SCOPE = `${COMPONENT_NAME}.callContainer`
|
|
135
144
|
const { callContainer }: { callContainer: (options: ICallTcbContainerOptions) => void } = (await this.wasm) as any
|
|
145
|
+
|
|
136
146
|
const {
|
|
137
147
|
url,
|
|
138
148
|
method = 'GET',
|
|
139
|
-
header = {},
|
|
140
149
|
data,
|
|
141
150
|
timeout = 60000,
|
|
142
151
|
dataType = 'json',
|
|
@@ -154,7 +163,7 @@ export class CloudbaseContainers {
|
|
|
154
163
|
throw new InvalieParamsError(SCOPE, 'invalid request method')
|
|
155
164
|
}
|
|
156
165
|
|
|
157
|
-
|
|
166
|
+
const header = { ...this.defaultHeaders, ...options.header }
|
|
158
167
|
|
|
159
168
|
try {
|
|
160
169
|
const res = await new Promise((resolve, reject) => {
|
package/src/utils/request.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { constants } from '@cloudbase/utilities'
|
|
2
2
|
import { COMPONENT_NAME } from '../constants'
|
|
3
3
|
import { serializeRequestBody } from './index'
|
|
4
|
+
import { t } from '..'
|
|
4
5
|
const { getSdkName, ERRORS } = constants
|
|
5
6
|
|
|
6
7
|
interface IRequestPorps {
|
|
@@ -36,7 +37,7 @@ export async function request({
|
|
|
36
37
|
return Promise.race([
|
|
37
38
|
new Promise((_, reject) => {
|
|
38
39
|
setTimeout(() => {
|
|
39
|
-
const error = new Error('请求超时')
|
|
40
|
+
const error = new Error(t('请求超时'))
|
|
40
41
|
;(error as any).code = 'SERVER_TIMEOUT'
|
|
41
42
|
if (!done) {
|
|
42
43
|
abortController.abort?.()
|