@cloudbase/container 2.5.38-alpha.1 → 2.5.39-beta.0
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 +0 -9
- package/dist/cjs/index.js +155 -70
- package/dist/cjs/utils/index.d.ts +1 -1
- package/dist/cjs/utils/index.js +13 -31
- package/dist/esm/index.d.ts +0 -9
- package/dist/esm/index.js +151 -69
- package/dist/esm/utils/index.d.ts +1 -1
- package/dist/esm/utils/index.js +13 -31
- package/package.json +7 -11
- package/src/index.ts +167 -77
- package/src/utils/index.ts +11 -29
- package/dist/cjs/utils/loader.d.ts +0 -8
- package/dist/cjs/utils/loader.js +0 -185
- package/dist/esm/utils/loader.d.ts +0 -8
- package/dist/esm/utils/loader.js +0 -177
- package/dist/miniprogram/index.js +0 -1
- package/src/utils/loader.ts +0 -138
- package/webpack/web.prod.js +0 -84
- package/webpack/webpack.miniprogram.js +0 -22
package/dist/esm/index.js
CHANGED
|
@@ -81,36 +81,14 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
81
81
|
return t;
|
|
82
82
|
};
|
|
83
83
|
import { constants, utils, helpers } from '@cloudbase/utilities';
|
|
84
|
+
import decompress from 'brotli/decompress';
|
|
85
|
+
import Go from './go_wams_exec';
|
|
84
86
|
import { isBuffer, parseURL, serializeRequestBody } from './utils';
|
|
87
|
+
import { request } from './utils/request';
|
|
85
88
|
import { COMPONENT_NAME } from './constants';
|
|
86
89
|
var ERRORS = constants.ERRORS, COMMUNITY_SITE_URL = constants.COMMUNITY_SITE_URL;
|
|
87
90
|
var execCallback = utils.execCallback, printWarn = utils.printWarn;
|
|
88
91
|
var catchErrorsDecorator = helpers.catchErrorsDecorator;
|
|
89
|
-
var getExportFunction = function () {
|
|
90
|
-
throw new Error('getExportFunction 未实现');
|
|
91
|
-
};
|
|
92
|
-
var loadJSExportFunction = function () {
|
|
93
|
-
throw new Error('loadJSExportFunction 未实现');
|
|
94
|
-
};
|
|
95
|
-
if (globalThis.IS_MP_BUILD) {
|
|
96
|
-
getExportFunction = function () {
|
|
97
|
-
new Error('小程序不支持 wasm 加载');
|
|
98
|
-
};
|
|
99
|
-
loadJSExportFunction = function (jsUrl) {
|
|
100
|
-
if (jsUrl) {
|
|
101
|
-
new Error('小程序不支持动态 js 加载');
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
initContainer: globalThis.cloudbase_private_link.initContainer,
|
|
105
|
-
callContainer: globalThis.cloudbase_private_link.callContainer,
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
var loader = require('./utils/loader');
|
|
111
|
-
getExportFunction = loader.getExportFunction;
|
|
112
|
-
loadJSExportFunction = loader.loadJSExportFunction;
|
|
113
|
-
}
|
|
114
92
|
var InvalieParamsError = (function (_super) {
|
|
115
93
|
__extends(InvalieParamsError, _super);
|
|
116
94
|
function InvalieParamsError(scope, message) {
|
|
@@ -138,46 +116,45 @@ function genContainerError(data, scope, defaultMessage) {
|
|
|
138
116
|
error.code = (data === null || data === void 0 ? void 0 : data.code) || 'UNKNOWN_ERROR';
|
|
139
117
|
return error;
|
|
140
118
|
}
|
|
141
|
-
|
|
119
|
+
var CloudbaseContainers = (function () {
|
|
142
120
|
function CloudbaseContainers(config) {
|
|
143
121
|
var _this = this;
|
|
144
|
-
|
|
145
|
-
this.config
|
|
146
|
-
? {
|
|
147
|
-
vm: config.jsUrl,
|
|
148
|
-
}
|
|
149
|
-
: config.jsUrl });
|
|
150
|
-
if (!this.config.wasmUrl && this.config.publicKey) {
|
|
151
|
-
}
|
|
152
|
-
else if (!this.config.wasmUrl && !((_a = this.config.jsUrl) === null || _a === void 0 ? void 0 : _a.vm) && !globalThis.cloudbase_private_link) {
|
|
122
|
+
this.config = __assign({}, config);
|
|
123
|
+
if (!this.config.wasmUrl && !this.config.jsUrl && !window.cloudbase_private_link) {
|
|
153
124
|
throw new InvalieParamsError("".concat(COMPONENT_NAME), '缺少 privatelink sdk 地址');
|
|
154
125
|
}
|
|
155
126
|
if (this.config.wasmUrl) {
|
|
156
|
-
this.wasm = getExportFunction(this.config.wasmUrl
|
|
127
|
+
this.wasm = getExportFunction(this.config.wasmUrl, {
|
|
128
|
+
utils: {
|
|
129
|
+
info: function (e) {
|
|
130
|
+
console.log(e);
|
|
131
|
+
},
|
|
132
|
+
request: request,
|
|
133
|
+
},
|
|
134
|
+
}).catch(function (e) {
|
|
157
135
|
if (_this.config.jsUrl) {
|
|
158
136
|
console.warn('load wams error, fall back to use js', e);
|
|
159
137
|
return loadJSExportFunction(_this.config.jsUrl);
|
|
160
138
|
}
|
|
161
|
-
if (
|
|
162
|
-
return
|
|
139
|
+
if (window.cloudbase_private_link) {
|
|
140
|
+
return window.cloudbase_private_link;
|
|
163
141
|
}
|
|
164
142
|
throw e;
|
|
165
143
|
});
|
|
166
144
|
}
|
|
167
|
-
else if (this.config.jsUrl
|
|
145
|
+
else if (this.config.jsUrl) {
|
|
168
146
|
this.wasm = loadJSExportFunction(this.config.jsUrl);
|
|
169
147
|
}
|
|
170
148
|
else {
|
|
171
149
|
this.wasm = Promise.resolve({
|
|
172
|
-
initContainer:
|
|
173
|
-
callContainer:
|
|
150
|
+
initContainer: window.cloudbase_private_link.initContainer,
|
|
151
|
+
callContainer: window.cloudbase_private_link.callContainer,
|
|
174
152
|
});
|
|
175
153
|
}
|
|
176
154
|
}
|
|
177
155
|
CloudbaseContainers.prototype.callContainer = function (options, callback) {
|
|
178
156
|
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
-
var SCOPE, callContainer, _a, url, method, header, data, timeout, dataType, responseType, restOptions, res, e_1;
|
|
180
|
-
var _b, _c, _d, _e, _f;
|
|
157
|
+
var SCOPE, callContainer, _a, url, _b, method, _c, header, data, _d, timeout, _e, dataType, _f, responseType, restOptions, res, e_1;
|
|
181
158
|
return __generator(this, function (_g) {
|
|
182
159
|
switch (_g.label) {
|
|
183
160
|
case 0: return [4, this.initContainer(this.config)];
|
|
@@ -187,7 +164,7 @@ export var CloudbaseContainers = (function () {
|
|
|
187
164
|
return [4, this.wasm];
|
|
188
165
|
case 2:
|
|
189
166
|
callContainer = (_g.sent()).callContainer;
|
|
190
|
-
_a = __assign({}, options), url = _a.url,
|
|
167
|
+
_a = __assign({}, options), 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, restOptions = __rest(_a, ["url", "method", "header", "data", "timeout", "dataType", "responseType"]);
|
|
191
168
|
if (!url) {
|
|
192
169
|
throw new InvalieParamsError(SCOPE, 'invalid request url');
|
|
193
170
|
}
|
|
@@ -198,32 +175,25 @@ export var CloudbaseContainers = (function () {
|
|
|
198
175
|
case 3:
|
|
199
176
|
_g.trys.push([3, 5, , 6]);
|
|
200
177
|
return [4, new Promise(function (resolve, reject) {
|
|
201
|
-
var params = __assign({ url: url, method: method, header: header, data: serializeRequestBody(header, data
|
|
202
|
-
if (data
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (!isBuffer(getBody) && typeof getBody !== 'string') {
|
|
214
|
-
var list = Object.entries(getBody || {}).reduce(function (list, _a) {
|
|
215
|
-
var key = _a[0], value = _a[1];
|
|
216
|
-
list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(String(value))));
|
|
217
|
-
return list;
|
|
218
|
-
}, []);
|
|
219
|
-
if (list.length) {
|
|
220
|
-
getBody = list.join('&');
|
|
178
|
+
var params = __assign({ url: url, method: method, header: header, data: serializeRequestBody(header, data), timeout: timeout, dataType: dataType, responseType: responseType }, restOptions);
|
|
179
|
+
if (params.data !== undefined && !isBuffer(params.data)) {
|
|
180
|
+
if (typeof params.data !== 'string' && method === 'GET') {
|
|
181
|
+
try {
|
|
182
|
+
var list = Object.entries(params.data || {}).reduce(function (list, _a) {
|
|
183
|
+
var key = _a[0], value = _a[1];
|
|
184
|
+
list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(String(value))));
|
|
185
|
+
return list;
|
|
186
|
+
}, []);
|
|
187
|
+
if (list.length) {
|
|
188
|
+
params.data = list.join('&');
|
|
189
|
+
}
|
|
221
190
|
}
|
|
191
|
+
catch (e) { }
|
|
222
192
|
}
|
|
223
|
-
if (typeof params.data === 'string') {
|
|
193
|
+
if (method === 'GET' && typeof params.data === 'string') {
|
|
224
194
|
var parsedUrl = parseURL(url);
|
|
225
195
|
if (parsedUrl.search) {
|
|
226
|
-
parsedUrl.search +=
|
|
196
|
+
parsedUrl.search += params.data;
|
|
227
197
|
}
|
|
228
198
|
else {
|
|
229
199
|
parsedUrl.search = "?".concat(params.data);
|
|
@@ -232,6 +202,12 @@ export var CloudbaseContainers = (function () {
|
|
|
232
202
|
params.data = undefined;
|
|
233
203
|
}
|
|
234
204
|
}
|
|
205
|
+
if (data
|
|
206
|
+
&& (isBuffer(params.data) || typeof params.data === 'string')
|
|
207
|
+
&& (data === null || data === void 0 ? void 0 : data.length) > 1000 * 1024 * 10) {
|
|
208
|
+
reject(new InvalieParamsError(SCOPE, 'body too large'));
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
235
211
|
callContainer(__assign(__assign({}, params), { success: resolve, fail: function (res) {
|
|
236
212
|
var data = (res || {}).data;
|
|
237
213
|
reject(genContainerError(data, SCOPE, 'call container error'));
|
|
@@ -252,7 +228,6 @@ export var CloudbaseContainers = (function () {
|
|
|
252
228
|
CloudbaseContainers.prototype.initContainer = function (config) {
|
|
253
229
|
return __awaiter(this, void 0, void 0, function () {
|
|
254
230
|
var initContainer;
|
|
255
|
-
var _this = this;
|
|
256
231
|
return __generator(this, function (_a) {
|
|
257
232
|
switch (_a.label) {
|
|
258
233
|
case 0: return [4, this.wasm];
|
|
@@ -270,7 +245,7 @@ export var CloudbaseContainers = (function () {
|
|
|
270
245
|
},
|
|
271
246
|
fail: function (res) {
|
|
272
247
|
reject(genContainerError(res.data, "".concat(COMPONENT_NAME, ".initContainer"), 'init container fail'));
|
|
273
|
-
|
|
248
|
+
this._containerInitPromis = null;
|
|
274
249
|
},
|
|
275
250
|
});
|
|
276
251
|
});
|
|
@@ -326,4 +301,111 @@ export function registerContainers(app) {
|
|
|
326
301
|
console.warn(e);
|
|
327
302
|
}
|
|
328
303
|
}
|
|
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=
|
|
304
|
+
function getExportFunction(url, module, mode) {
|
|
305
|
+
if (mode === void 0) { mode = 'go'; }
|
|
306
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
307
|
+
function instantiateStreaming(resp, importObject, brotliCompressed) {
|
|
308
|
+
if (brotliCompressed === void 0) { brotliCompressed = false; }
|
|
309
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
310
|
+
var source, buffer;
|
|
311
|
+
return __generator(this, function (_a) {
|
|
312
|
+
switch (_a.label) {
|
|
313
|
+
case 0:
|
|
314
|
+
if (!(brotliCompressed || !WebAssembly.instantiateStreaming)) return [3, 3];
|
|
315
|
+
return [4, resp];
|
|
316
|
+
case 1: return [4, (_a.sent()).arrayBuffer()];
|
|
317
|
+
case 2:
|
|
318
|
+
source = _a.sent();
|
|
319
|
+
buffer = brotliCompressed ? decompress(new Int8Array(source)) : source;
|
|
320
|
+
return [2, WebAssembly.instantiate(buffer, importObject)];
|
|
321
|
+
case 3: return [2, WebAssembly.instantiateStreaming(resp, importObject)];
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
var importObject, go, brotliCompressed, reuslt;
|
|
327
|
+
return __generator(this, function (_a) {
|
|
328
|
+
switch (_a.label) {
|
|
329
|
+
case 0:
|
|
330
|
+
importObject = __assign({ env: {
|
|
331
|
+
memoryBase: 0,
|
|
332
|
+
tableBase: 0,
|
|
333
|
+
memory: new WebAssembly.Memory({
|
|
334
|
+
initial: 256,
|
|
335
|
+
}),
|
|
336
|
+
} }, module);
|
|
337
|
+
brotliCompressed = isBrotliCompressed(url);
|
|
338
|
+
if (mode === 'go') {
|
|
339
|
+
go = new Go();
|
|
340
|
+
go._initedModulePromise = new Promise(function (resolve) {
|
|
341
|
+
go._initedModuleResolve = resolve;
|
|
342
|
+
});
|
|
343
|
+
importObject = __assign(__assign({}, go.importObject), { env: __assign(__assign({}, go.importObject.env), { exportModule: function (module) {
|
|
344
|
+
return go._initedModuleResolve(module);
|
|
345
|
+
} }) });
|
|
346
|
+
}
|
|
347
|
+
return [4, instantiateStreaming(fetch(url), importObject, brotliCompressed)];
|
|
348
|
+
case 1:
|
|
349
|
+
reuslt = _a.sent();
|
|
350
|
+
if (!(mode === 'go')) return [3, 3];
|
|
351
|
+
return [4, Promise.race([
|
|
352
|
+
go.run(reuslt.instance),
|
|
353
|
+
new Promise(function (resolve) { return setTimeout(function () {
|
|
354
|
+
resolve(null);
|
|
355
|
+
}, 500); }),
|
|
356
|
+
])];
|
|
357
|
+
case 2:
|
|
358
|
+
_a.sent();
|
|
359
|
+
return [2, {
|
|
360
|
+
callContainer: window.callContainer,
|
|
361
|
+
initContainer: window.initContainer,
|
|
362
|
+
}];
|
|
363
|
+
case 3: return [2, reuslt.instance.exports];
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
function loadUmdModule(jsUrl, umdModuleName, targetDoc) {
|
|
369
|
+
if (targetDoc === void 0) { targetDoc = document; }
|
|
370
|
+
return new Promise(function (resolve, reject) {
|
|
371
|
+
var win = targetDoc.defaultView;
|
|
372
|
+
var script = targetDoc.createElement('script');
|
|
373
|
+
script.setAttribute('src', jsUrl);
|
|
374
|
+
script.setAttribute('class', umdModuleName);
|
|
375
|
+
script.addEventListener('load', function () {
|
|
376
|
+
if (Object.prototype.hasOwnProperty.call(win, umdModuleName)) {
|
|
377
|
+
return resolve(win[umdModuleName]);
|
|
378
|
+
}
|
|
379
|
+
var error = new Error("Fail to load UMD module ".concat(umdModuleName, " from [").concat(jsUrl, "]."));
|
|
380
|
+
return reject(error);
|
|
381
|
+
});
|
|
382
|
+
script.addEventListener('error', function (e) {
|
|
383
|
+
var error = new Error("main bundle [".concat(umdModuleName, "] load failed from [").concat(jsUrl, "]: ").concat((e === null || e === void 0 ? void 0 : e.message) || ''));
|
|
384
|
+
reject(error);
|
|
385
|
+
});
|
|
386
|
+
targetDoc.body.appendChild(script);
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
function loadJSExportFunction(url) {
|
|
390
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
391
|
+
return __generator(this, function (_a) {
|
|
392
|
+
return [2, loadUmdModule(url, 'cloudbase_private_link')];
|
|
393
|
+
});
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
function isBrotliCompressed(url) {
|
|
397
|
+
var brotliCompressed = false;
|
|
398
|
+
var pathname = '';
|
|
399
|
+
try {
|
|
400
|
+
var location_1 = parseURL(url);
|
|
401
|
+
pathname = location_1.pathname;
|
|
402
|
+
}
|
|
403
|
+
catch (e) {
|
|
404
|
+
pathname = url;
|
|
405
|
+
}
|
|
406
|
+
if (/\.br$/.test(pathname)) {
|
|
407
|
+
brotliCompressed = true;
|
|
408
|
+
}
|
|
409
|
+
return brotliCompressed;
|
|
410
|
+
}
|
|
411
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRWhFLE9BQU8sVUFBVSxNQUFNLG1CQUFtQixDQUFBO0FBRTFDLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBSXBDLElBQUEsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsWUFBWSxHQUFnQixLQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLEtBQUssVUFBVixDQUFVO0FBQ2pDLElBQUEsb0JBQW9CLEdBQUssT0FBTyxxQkFBWixDQUFZO0FBRXhDO0lBQWlDLHNDQUFLO0lBRXBDLDRCQUFZLEtBQUssRUFBRSxPQUFPO1FBQTFCLGlCQU9DO1FBTkMsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7WUFDM0IsR0FBRyxFQUFFLFdBQUksS0FBSyxlQUFLLE9BQU8sQ0FBRTtTQUM3QixDQUFDLENBQUE7Z0JBQ0Ysa0JBQU0sR0FBRyxDQUFDO1FBQ1YsS0FBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFBOztJQUNuQyxDQUFDO0lBQ0QsbUNB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Q0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLE9BQU8sS0FBSSxFQUFFLENBQUUsQ0FBQyxDQUFBO1lBQzFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO1FBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsU0FBZSxvQkFBb0IsQ0FBQyxHQUFHOzs7WUFDckMsV0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDLEVBQUE7OztDQUNwRDtBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBRztJQUM3QixJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtJQUU1QixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFDakIsSUFBSTtRQUNGLElBQU0sVUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM5QixRQUFRLEdBQUcsVUFBUSxDQUFDLFFBQVEsQ0FBQTtLQUM3QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsUUFBUSxHQUFHLEdBQUcsQ0FBQTtLQUNmO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzFCLGdCQUFnQixHQUFHLElBQUksQ0FBQTtLQUN4QjtJQUNELE9BQU8sZ0JBQWdCLENBQUE7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgSUNhbGxDb250YWluZXJPcHRpb25zLCBJQ29udGlhbmVyQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb250YWluZXInXG5pbXBvcnQgeyBjb25zdGFudHMsIHV0aWxzLCBoZWxwZXJzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG4vLyBpbXBvcnQgYnJvdGxpUHJvbWlzZSBmcm9tICdicm90bGktZGVjLXdhc20nIC8vIEltcG9ydCB0aGUgZGVmYXVsdCBleHBvcnRcbmltcG9ydCBkZWNvbXByZXNzIGZyb20gJ2Jyb3RsaS9kZWNvbXByZXNzJ1xuXG5pbXBvcnQgR28gZnJvbSAnLi9nb193YW1zX2V4ZWMnXG5pbXBvcnQgeyBpc0J1ZmZlciwgcGFyc2VVUkwsIHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IHJlcXVlc3QgfSBmcm9tICcuL3V0aWxzL3JlcXVlc3QnXG5pbXBvcnQgeyBDT01QT05FTlRfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuXG5kZWNsYXJlIGNvbnN0IGNsb3VkYmFzZTogSUNsb3VkYmFzZVxuXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZXhlY0NhbGxiYWNrLCBwcmludFdhcm4gfSA9IHV0aWxzXG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yIH0gPSBoZWxwZXJzXG5cbmNsYXNzIEludmFsaWVQYXJhbXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogYW55XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgbXNnOiBgWyR7c2NvcGV9XSAke21lc3NhZ2V9YCxcbiAgICB9KVxuICAgIHN1cGVyKG1zZylcbiAgICB0aGlzLmNvZGUgPSBFUlJPUlMuSU5WQUxJRF9QQVJBTVNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucyBleHRlbmRzIElDYWxsQ29udGFpbmVyT3B0aW9ucyB7XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIElJbml0VGNiQ29udGFpbmVyT3B0aW9ucyB7XG4gIGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPlxuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmZ1bmN0aW9uIGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIHNjb3BlID0gQ09NUE9ORU5UX05BTUUsIGRlZmF1bHRNZXNzYWdlID0gJ2NhbGwgY29udGFpbmVyIGVycm9yJykge1xuICBjb25zdCBlcnJvciA9IGRhdGEgaW5zdGFuY2VvZiBFcnJvciA/IGRhdGEgOiBuZXcgRXJyb3IoYFske3Njb3BlfV0gJHtkYXRhPy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlfWApXG4gIDsoZXJyb3IgYXMgYW55KS5jb2RlID0gZGF0YT8uY29kZSB8fCAnVU5LTk9XTl9FUlJPUidcbiAgcmV0dXJuIGVycm9yXG59XG5cbmNsYXNzIENsb3VkYmFzZUNvbnRhaW5lcnMge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZ1xuICBwcml2YXRlIHdhc206IFByb21pc2U8V2ViQXNzZW1ibHkuRXhwb3J0cz5cbiAgcHJpdmF0ZSBjb250YWluZXJJbml0UHJvbWlzZTogLyogUHJvbWlzZTxhbnk+Ki8gYW55IHwgbnVsbFxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgIH1cblxuICAgIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmwgJiYgISh3aW5kb3cgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKGAke0NPTVBPTkVOVF9OQU1FfWAsICfnvLrlsJEgcHJpdmF0ZWxpbmsgc2RrIOWcsOWdgCcpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLndhc21VcmwpIHtcbiAgICAgIHRoaXMud2FzbSA9IGdldEV4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLndhc21VcmwsIHtcbiAgICAgICAgdXRpbHM6IHtcbiAgICAgICAgICBpbmZvKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9LFxuICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfSBpZiAoKHdpbmRvdyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgICAgICByZXR1cm4gKHdpbmRvdyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuanNVcmwpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAod2luZG93IGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgICBjYWxsQ29udGFpbmVyOiAod2luZG93IGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5jYWxsQ29udGFpbmVyLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIGN1c3RvbUluZm86IHtcbiAgICAgIGNsYXNzTmFtZTogJ0Nsb3VkYmFzZScsXG4gICAgICBtZXRob2ROYW1lOiAnY2FsbENvbnRhaW5lcicsXG4gICAgfSxcbiAgICB0aXRsZTogJ+iwg+eUqOWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjYWxsQ29udGFpbmVyKCkg55qE6K+t5rOV5oiW5Y+C5pWw5piv5ZCm5q2j56GuJyxcbiAgICAgICcgIDIgLSDln5/lkI0gJiDot6/lvoTmmK/lkKblrZjlnKgnLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWAsXG4gICAgXSxcbiAgfSlcbiAgcHVibGljIGFzeW5jIGNhbGxDb250YWluZXIob3B0aW9uczogSUNhbGxDb250YWluZXJPcHRpb25zLCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgYXdhaXQgdGhpcy5pbml0Q29udGFpbmVyKHRoaXMuY29uZmlnKVxuICAgIGNvbnN0IFNDT1BFID0gYCR7Q09NUE9ORU5UX05BTUV9LmNhbGxDb250YWluZXJgXG4gICAgY29uc3QgeyBjYWxsQ29udGFpbmVyIH06IHsgY2FsbENvbnRhaW5lcjogKG9wdGlvbnM6IElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucykgPT4gdm9pZCB9ID0gKGF3YWl0IHRoaXMud2FzbSkgYXMgYW55XG4gICAgY29uc3Qge1xuICAgICAgdXJsLFxuICAgICAgbWV0aG9kID0gJ0dFVCcsXG4gICAgICBoZWFkZXIgPSB7fSxcbiAgICAgIGRhdGEsXG4gICAgICB0aW1lb3V0ID0gNjAwMDAsXG4gICAgICBkYXRhVHlwZSA9ICdqc29uJyxcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JyxcbiAgICAgIC4uLnJlc3RPcHRpb25zXG4gICAgfSA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfVxuXG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgdXJsJylcbiAgICB9XG5cbiAgICBpZiAoIW1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCBtZXRob2QnKVxuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmVcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIGhlYWRlcixcbiAgICAgICAgICBkYXRhOiBzZXJpYWxpemVSZXF1ZXN0Qm9keShoZWFkZXIsIGRhdGEpLFxuICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgZGF0YVR5cGUsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlLFxuICAgICAgICAgIC4uLnJlc3RPcHRpb25zLFxuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIOmdniBidWZmZXJcbiAgICAgICAgICovXG4gICAgICAgIGlmIChwYXJhbXMuZGF0YSAhPT0gdW5kZWZpbmVkICYmICFpc0J1ZmZlcihwYXJhbXMuZGF0YSkpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHBhcmFtcy5kYXRhICE9PSAnc3RyaW5nJyAmJiBtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBsaXN0ID0gT2JqZWN0LmVudHJpZXMocGFyYW1zLmRhdGEgfHwge30pLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobGlzdCwgW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGlmIChsaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5kYXRhID0gbGlzdC5qb2luKCcmJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobWV0aG9kID09PSAnR0VUJyAmJiB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IHBhcmFtcy5kYXRhXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZGF0YVxuICAgICAgICAgICYmIChpc0J1ZmZlcihwYXJhbXMuZGF0YSkgfHwgdHlwZW9mIHBhcmFtcy5kYXRhID09PSAnc3RyaW5nJylcbiAgICAgICAgICAmJiAoZGF0YSBhcyBhbnkpPy5sZW5ndGggPiAxMDAwICogMTAyNCAqIDEwXG4gICAgICAgICkge1xuICAgICAgICAgIHJlamVjdChuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnYm9keSB0b28gbGFyZ2UnKSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxDb250YWluZXIoe1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICBzdWNjZXNzOiByZXNvbHZlLFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gcmVzIHx8IHt9XG4gICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IoZGF0YSwgU0NPUEUsICdjYWxsIGNvbnRhaW5lciBlcnJvcicpKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgcmV0dXJuIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgbnVsbCwgcmVzKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbml0Q29udGFpbmVyKGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPikge1xuICAgIGNvbnN0IHsgaW5pdENvbnRhaW5lciB9OiB7IGluaXRDb250YWluZXI6IChvcHRpb25zOiBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMpID0+IHZvaWQgfSA9IChhd2FpdCB0aGlzLndhc20pIGFzIGFueVxuICAgIGlmICghdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSkge1xuICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaW5pdENvbnRhaW5lcih7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWwocmVzKSB7XG4gICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IocmVzLmRhdGEsIGAke0NPTVBPTkVOVF9OQU1FfS5pbml0Q29udGFpbmVyYCwgJ2luaXQgY29udGFpbmVyIGZhaWwnKSlcbiAgICAgICAgICAgIHRoaXMuX2NvbnRhaW5lckluaXRQcm9taXMgPSBudWxsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5pdFByb21pc2VcbiAgfVxufVxuXG5jb25zdCBjb21wb25lbnQ6IElDbG91ZGJhc2VDb21wb25lbnQgPSB7XG4gIG5hbWU6IENPTVBPTkVOVF9OQU1FLFxuICBuYW1lc3BhY2U6ICdjb250YWluZXInLFxuICBlbnRpdHkoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVySW5zdGFuY2UpIHtcbiAgICAgIHByaW50V2FybihFUlJPUlMuSU5WQUxJRF9PUEVSQVRJT04sICdldmVyeSBjbG91ZGJhc2UgaW5zdGFuY2Ugc2hvdWxkIGhhcyBvbmx5IG9uZSBjb250YWluZXIgb2JqZWN0JylcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlXG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ2xvdWRiYXNlQ29udGFpbmVycyhjb25maWcpXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZSA9IGluc3RhbmNlXG4gICAgdGhpcy5jYWxsQ29udGFpbmVyID0gaW5zdGFuY2UuY2FsbENvbnRhaW5lci5iaW5kKGluc3RhbmNlKVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgfSxcbn1cbnRyeSB7XG4gIGNsb3VkYmFzZS5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG59IGNhdGNoIChlKSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250YWluZXJzKGFwcDogUGljazxJQ2xvdWRiYXNlLCAncmVnaXN0ZXJDb21wb25lbnQnPikge1xuICB0cnkge1xuICAgIGFwcC5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oZSlcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRFeHBvcnRGdW5jdGlvbih1cmwsIG1vZHVsZSwgbW9kZSA9ICdnbycpIHtcbiAgYXN5bmMgZnVuY3Rpb24gaW5zdGFudGlhdGVTdHJlYW1pbmcocmVzcCwgaW1wb3J0T2JqZWN0LCBicm90bGlDb21wcmVzc2VkID0gZmFsc2UpIHtcbiAgICBpZiAoYnJvdGxpQ29tcHJlc3NlZCB8fCAhV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGF3YWl0IChhd2FpdCByZXNwKS5hcnJheUJ1ZmZlcigpXG4gICAgICBjb25zdCBidWZmZXIgPSBicm90bGlDb21wcmVzc2VkID8gZGVjb21wcmVzcyhuZXcgSW50OEFycmF5KHNvdXJjZSkpIDogc291cmNlXG4gICAgICByZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyLCBpbXBvcnRPYmplY3QpXG4gICAgfVxuXG4gICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKHJlc3AsIGltcG9ydE9iamVjdClcbiAgfVxuXG4gIGxldCBpbXBvcnRPYmplY3QgPSB7XG4gICAgZW52OiB7XG4gICAgICBtZW1vcnlCYXNlOiAwLFxuICAgICAgdGFibGVCYXNlOiAwLFxuICAgICAgbWVtb3J5OiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtcbiAgICAgICAgaW5pdGlhbDogMjU2LFxuICAgICAgfSksXG4gICAgICAvLyB0YWJsZTogbmV3IFdlYkFzc2VtYmx5LlRhYmxlKHtcbiAgICAgIC8vICAgaW5pdGlhbDogMixcbiAgICAgIC8vICAgZWxlbWVudDogJ2FueWZ1bmMnLFxuICAgICAgLy8gfSksXG4gICAgfSxcbiAgICAuLi5tb2R1bGUsXG4gIH1cbiAgbGV0IGdvXG4gIGNvbnN0IGJyb3RsaUNvbXByZXNzZWQgPSBpc0Jyb3RsaUNvbXByZXNzZWQodXJsKVxuXG4gIGlmIChtb2RlID09PSAnZ28nKSB7XG4gICAgZ28gPSBuZXcgR28oKVxuICAgIGdvLl9pbml0ZWRNb2R1bGVQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGdvLl9pbml0ZWRNb2R1bGVSZXNvbHZlID0gcmVzb2x2ZVxuICAgIH0pXG4gICAgaW1wb3J0T2JqZWN0ID0ge1xuICAgICAgLi4uZ28uaW1wb3J0T2JqZWN0LFxuICAgICAgZW52OiB7XG4gICAgICAgIC4uLmdvLmltcG9ydE9iamVjdC5lbnYsXG4gICAgICAgIGV4cG9ydE1vZHVsZShtb2R1bGUpIHtcbiAgICAgICAgICByZXR1cm4gZ28uX2luaXRlZE1vZHVsZVJlc29sdmUobW9kdWxlKVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXVzbHQgPSBhd2FpdCBpbnN0YW50aWF0ZVN0cmVhbWluZyhmZXRjaCh1cmwpLCBpbXBvcnRPYmplY3QsIGJyb3RsaUNvbXByZXNzZWQpXG5cbiAgaWYgKG1vZGUgPT09ICdnbycpIHtcbiAgICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgICAgZ28ucnVuKHJldXNsdC5pbnN0YW5jZSksXG4gICAgICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICB9LCA1MDApLCksXG4gICAgXSlcblxuICAgIHJldHVybiB7XG4gICAgICBjYWxsQ29udGFpbmVyOiAod2luZG93IGFzIGFueSkuY2FsbENvbnRhaW5lcixcbiAgICAgIGluaXRDb250YWluZXI6ICh3aW5kb3cgYXMgYW55KS5pbml0Q29udGFpbmVyLFxuICAgIH1cbiAgfVxuXG4gIC8vIGlmIChtb2RlID09PSAnZ28nKSB7XG4gIC8vICAgZ28ucnVuKHJldXNsdC5pbnN0YW5jZSlcbiAgLy8gICBjb25zdCBtb2R1bGUgPSBhd2FpdCBnby5faW5pdGVkTW9kdWxlUHJvbWlzZVxuICAvLyAgIHJldHVybiBtb2R1bGVcbiAgLy8gfVxuXG4gIHJldHVybiByZXVzbHQuaW5zdGFuY2UuZXhwb3J0c1xufVxuXG5mdW5jdGlvbiBsb2FkVW1kTW9kdWxlKGpzVXJsOiBzdHJpbmcsIHVtZE1vZHVsZU5hbWU6IHN0cmluZywgdGFyZ2V0RG9jOiBEb2N1bWVudCA9IGRvY3VtZW50KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCB3aW4gPSB0YXJnZXREb2MuZGVmYXVsdFZpZXdcblxuICAgIGNvbnN0IHNjcmlwdCA9IHRhcmdldERvYy5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKVxuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ3NyYycsIGpzVXJsKVxuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgdW1kTW9kdWxlTmFtZSlcbiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwod2luLCB1bWRNb2R1bGVOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSh3aW5bdW1kTW9kdWxlTmFtZSBhcyBhbnldKVxuICAgICAgfVxuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYEZhaWwgdG8gbG9hZCBVTUQgbW9kdWxlICR7dW1kTW9kdWxlTmFtZX0gZnJvbSBbJHtqc1VybH1dLmApXG4gICAgICByZXR1cm4gcmVqZWN0KGVycm9yKVxuICAgIH0pXG5cbiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZSkgPT4ge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYG1haW4gYnVuZGxlIFske3VtZE1vZHVsZU5hbWV9XSBsb2FkIGZhaWxlZCBmcm9tIFske2pzVXJsfV06ICR7ZT8ubWVzc2FnZSB8fCAnJ31gKVxuICAgICAgcmVqZWN0KGVycm9yKVxuICAgIH0pXG4gICAgdGFyZ2V0RG9jLmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KVxuICB9KVxufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkSlNFeHBvcnRGdW5jdGlvbih1cmwpIHtcbiAgcmV0dXJuIGxvYWRVbWRNb2R1bGUodXJsLCAnY2xvdWRiYXNlX3ByaXZhdGVfbGluaycpXG59XG5cbmZ1bmN0aW9uIGlzQnJvdGxpQ29tcHJlc3NlZCh1cmwpIHtcbiAgbGV0IGJyb3RsaUNvbXByZXNzZWQgPSBmYWxzZVxuXG4gIGxldCBwYXRobmFtZSA9ICcnXG4gIHRyeSB7XG4gICAgY29uc3QgbG9jYXRpb24gPSBwYXJzZVVSTCh1cmwpXG4gICAgcGF0aG5hbWUgPSBsb2NhdGlvbi5wYXRobmFtZVxuICB9IGNhdGNoIChlKSB7XG4gICAgcGF0aG5hbWUgPSB1cmxcbiAgfVxuXG4gIGlmICgvXFwuYnIkLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgIGJyb3RsaUNvbXByZXNzZWQgPSB0cnVlXG4gIH1cbiAgcmV0dXJuIGJyb3RsaUNvbXByZXNzZWRcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function parseURL(_url: string): HTMLAnchorElement | URL;
|
|
2
2
|
export declare function isBuffer(buf: any): boolean;
|
|
3
|
-
export declare function serializeRequestBody<T>(headers: any, data: T
|
|
3
|
+
export declare function serializeRequestBody<T>(headers: any, data: T): T | string;
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -12,36 +12,14 @@ export function parseURL(_url) {
|
|
|
12
12
|
export function isBuffer(buf) {
|
|
13
13
|
return buf instanceof ArrayBuffer || ArrayBuffer.isView(buf);
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
var list = Object.entries(data || {}).reduce(function (list, _a) {
|
|
17
|
-
var key = _a[0], value = _a[1];
|
|
18
|
-
list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value)));
|
|
19
|
-
return list;
|
|
20
|
-
}, []);
|
|
21
|
-
if (list.length) {
|
|
22
|
-
return list.join('&');
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export function serializeRequestBody(headers, data, method) {
|
|
26
|
-
if (method === void 0) { method = 'POST'; }
|
|
15
|
+
export function serializeRequestBody(headers, data) {
|
|
27
16
|
var res = data;
|
|
28
|
-
var
|
|
17
|
+
var contentType_key = 'Content-Type';
|
|
29
18
|
if (typeof data === 'object' && !isBuffer(data)) {
|
|
30
|
-
if (!headers[
|
|
31
|
-
headers[
|
|
32
|
-
}
|
|
33
|
-
var contentType = headers[contentTypeKey] || headers['content-type'];
|
|
34
|
-
if (method === 'GET') {
|
|
35
|
-
try {
|
|
36
|
-
return object2Qs(data) || '';
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
throw new Error(JSON.stringify({
|
|
40
|
-
code: ERRORS.INVALID_PARAMS,
|
|
41
|
-
msg: "[".concat(COMPONENT_NAME, ".callContainer] invalid data in query method, ").concat(e.message),
|
|
42
|
-
}));
|
|
43
|
-
}
|
|
19
|
+
if (!headers[contentType_key] && !headers['content-type']) {
|
|
20
|
+
headers[contentType_key] = 'application/json';
|
|
44
21
|
}
|
|
22
|
+
var contentType = headers[contentType_key] || headers['content-type'];
|
|
45
23
|
switch (contentType) {
|
|
46
24
|
case 'application/json': {
|
|
47
25
|
try {
|
|
@@ -57,9 +35,13 @@ export function serializeRequestBody(headers, data, method) {
|
|
|
57
35
|
}
|
|
58
36
|
case 'application/x-www-form-urlencoded': {
|
|
59
37
|
try {
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
38
|
+
var list = Object.entries(data || {}).reduce(function (list, _a) {
|
|
39
|
+
var key = _a[0], value = _a[1];
|
|
40
|
+
list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value)));
|
|
41
|
+
return list;
|
|
42
|
+
}, []);
|
|
43
|
+
if (list.length) {
|
|
44
|
+
res = list.join('&');
|
|
63
45
|
}
|
|
64
46
|
}
|
|
65
47
|
catch (e) {
|
|
@@ -74,4 +56,4 @@ export function serializeRequestBody(headers, data, method) {
|
|
|
74
56
|
}
|
|
75
57
|
return res;
|
|
76
58
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDckMsSUFBQSxNQUFNLEdBQUssU0FBUyxPQUFkLENBQWM7QUFFNUIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFZO0lBQ25DLElBQUksUUFBUSxFQUFFO1FBQ1osSUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNiLE9BQU8sQ0FBQyxDQUFBO0tBQ1Q7SUFDRCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLFlBQVksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxPQUFPLEVBQUUsSUFBTztJQUN0RCxJQUFJLEdBQUcsR0FBZSxJQUFJLENBQUE7SUFDMUIsSUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFBO0lBQ3RDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDekQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGtCQUFrQixDQUFBO1NBQzlDO1FBRUQsSUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV2RSxRQUFRLFdBQVcsRUFBRTtZQUNuQixLQUFLLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3ZCLElBQUk7b0JBQ0YsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7aUJBQzNCO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjO3dCQUMzQixHQUFHLEVBQUUsV0FBSSxjQUFjLCtFQUFxRSxDQUFDLENBQUMsT0FBTyxDQUFFO3FCQUN4RyxDQUFDLENBQUUsQ0FBQTtpQkFDTDtnQkFDRCxNQUFLO2FBQ047WUFDRCxLQUFLLG1DQUFtQyxDQUFDLENBQUM7Z0JBQ3hDLElBQUk7b0JBQ0YsSUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxFQUFFLEVBQThCOzRCQUE3QixHQUFHLFFBQUEsRUFBRSxLQUFLLFFBQUE7d0JBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsY0FBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7d0JBQ3BFLE9BQU8sSUFBSSxDQUFBO29CQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtvQkFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2YsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7cUJBQ3JCO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjO3dCQUMzQixHQUFHLEVBQUUsV0FBSSxjQUFjLCtGQUFxRixDQUFDLENBQUMsT0FBTyxDQUFFO3FCQUN4SCxDQUFDLENBQUUsQ0FBQTtpQkFDTDtnQkFDRCxNQUFLO2FBQ047U0FDRjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBDT01QT05FTlRfTkFNRSB9IGZyb20gJy4uL2NvbnN0YW50cydcbmNvbnN0IHsgRVJST1JTIH0gPSBjb25zdGFudHNcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVVJMKF91cmw6IHN0cmluZykge1xuICBpZiAoZG9jdW1lbnQpIHtcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgYS5ocmVmID0gX3VybFxuICAgIHJldHVybiBhXG4gIH1cbiAgcmV0dXJuIG5ldyBVUkwobmV3IFJlcXVlc3QoX3VybCkudXJsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCdWZmZXIoYnVmOiBhbnkpIHtcbiAgcmV0dXJuIGJ1ZiBpbnN0YW5jZW9mIEFycmF5QnVmZmVyIHx8IEFycmF5QnVmZmVyLmlzVmlldyhidWYpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVSZXF1ZXN0Qm9keTxUPihoZWFkZXJzLCBkYXRhOiBUKTogVCB8IHN0cmluZyB7XG4gIGxldCByZXM6IFQgfCBzdHJpbmcgPSBkYXRhXG4gIGNvbnN0IGNvbnRlbnRUeXBlX2tleSA9ICdDb250ZW50LVR5cGUnXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgIWlzQnVmZmVyKGRhdGEpKSB7XG4gICAgaWYgKCFoZWFkZXJzW2NvbnRlbnRUeXBlX2tleV0gJiYgIWhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICBoZWFkZXJzW2NvbnRlbnRUeXBlX2tleV0gPSAnYXBwbGljYXRpb24vanNvbidcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50VHlwZSA9IGhlYWRlcnNbY29udGVudFR5cGVfa2V5XSB8fCBoZWFkZXJzWydjb250ZW50LXR5cGUnXVxuXG4gICAgc3dpdGNoIChjb250ZW50VHlwZSkge1xuICAgICAgY2FzZSAnYXBwbGljYXRpb24vanNvbic6IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXMgPSBKU09OLnN0cmluZ2lmeShkYXRhKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgICAgIG1zZzogYFske0NPTVBPTkVOVF9OQU1FfS5jYWxsQ29udGFpbmVyXSBpbnZhbGlkIGRhdGEgd2l0aCBjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24sICR7ZS5tZXNzYWdlfWAsXG4gICAgICAgICAgfSksKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbGlzdCA9IE9iamVjdC5lbnRyaWVzKGRhdGEgfHwge30pLnJlZHVjZSgobGlzdCwgW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XG4gICAgICAgICAgICBsaXN0LnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKVxuICAgICAgICAgICAgcmV0dXJuIGxpc3RcbiAgICAgICAgICB9LCBbXSlcbiAgICAgICAgICBpZiAobGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlcyA9IGxpc3Quam9pbignJicpXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgICAgIG1zZzogYFske0NPTVBPTkVOVF9OQU1FfS5jYWxsQ29udGFpbmVyXSBpbnZhbGlkIGRhdGEgd2l0aCBjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCwke2UubWVzc2FnZX1gLFxuICAgICAgICAgIH0pLClcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/container",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.39-beta.0",
|
|
4
4
|
"description": "cloudbase javascript sdk functions componets",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
|
-
"miniprogram": "dist/miniprogram",
|
|
8
7
|
"scripts": {
|
|
9
|
-
"tsc": "rm -rf dist/
|
|
8
|
+
"tsc": "rm -rf dist/ && tsc -p tsconfig.esm.json && tsc -p tsconfig.json",
|
|
10
9
|
"lint": "eslint --fix \"./src/**/*.ts\"",
|
|
11
10
|
"build": "npm run lint && npm run tsc",
|
|
12
|
-
"build:mp": "webpack --config ./webpack/webpack.miniprogram.js",
|
|
13
11
|
"precommit": "npm run lint"
|
|
14
12
|
},
|
|
15
13
|
"publishConfig": {
|
|
@@ -31,12 +29,10 @@
|
|
|
31
29
|
"license": "Apache-2.0",
|
|
32
30
|
"dependencies": {
|
|
33
31
|
"@cloudbase/adapter-interface": "^0.4.1",
|
|
34
|
-
"@cloudbase/utilities": "^2.5.25-beta.0"
|
|
35
|
-
},
|
|
36
|
-
"gitHead": "0d182ece790ba8a0ef254f63f6a06ab3e878a302",
|
|
37
|
-
"devDependencies": {
|
|
38
32
|
"@cloudbase/types": "^2.5.25-beta.0",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
33
|
+
"@cloudbase/utilities": "^2.5.25-beta.0",
|
|
34
|
+
"brotli": "^1.3.3",
|
|
35
|
+
"brotli-dec-wasm": "^2.0.1"
|
|
36
|
+
},
|
|
37
|
+
"gitHead": "3b38f0f9222b02585f8918b150a82f5c230e9b49"
|
|
42
38
|
}
|