@cloudbase/utilities 2.11.0 → 2.12.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.
|
@@ -136,24 +136,25 @@ var WebRequest = (function (_super) {
|
|
|
136
136
|
WebRequest.prototype.fetch = function (options) {
|
|
137
137
|
var _a;
|
|
138
138
|
return __awaiter(this, void 0, void 0, function () {
|
|
139
|
-
var abortController, url, _b, enableAbort, _c, stream, signal, timer, res;
|
|
139
|
+
var abortController, url, _b, enableAbort, _c, stream, signal, _timeout, timeout, timer, res;
|
|
140
140
|
var _this = this;
|
|
141
141
|
return __generator(this, function (_d) {
|
|
142
142
|
switch (_d.label) {
|
|
143
143
|
case 0:
|
|
144
144
|
abortController = new AbortController();
|
|
145
|
-
url = options.url, _b = options.enableAbort, enableAbort = _b === void 0 ? false : _b, _c = options.stream, stream = _c === void 0 ? false : _c, signal = options.signal;
|
|
145
|
+
url = options.url, _b = options.enableAbort, enableAbort = _b === void 0 ? false : _b, _c = options.stream, stream = _c === void 0 ? false : _c, signal = options.signal, _timeout = options.timeout;
|
|
146
|
+
timeout = _timeout !== null && _timeout !== void 0 ? _timeout : this.timeout;
|
|
146
147
|
if (signal) {
|
|
147
148
|
if (signal.aborted)
|
|
148
149
|
abortController.abort();
|
|
149
150
|
signal.addEventListener('abort', function () { return abortController.abort(); });
|
|
150
151
|
}
|
|
151
152
|
timer = null;
|
|
152
|
-
if (enableAbort &&
|
|
153
|
+
if (enableAbort && timeout) {
|
|
153
154
|
timer = setTimeout(function () {
|
|
154
155
|
console.warn(_this.timeoutMsg);
|
|
155
156
|
abortController.abort(new Error(_this.timeoutMsg));
|
|
156
|
-
},
|
|
157
|
+
}, timeout);
|
|
157
158
|
}
|
|
158
159
|
return [4, fetch(url, __assign(__assign({}, options), { signal: abortController.signal }))
|
|
159
160
|
.then(function (response) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -269,4 +270,4 @@ function genAdapter() {
|
|
|
269
270
|
return adapter;
|
|
270
271
|
}
|
|
271
272
|
exports.genAdapter = genAdapter;
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFTcUM7QUFDckMsd0NBQXNFO0FBQ3RFLGlEQUFvRDtBQUtwRDtJQUF5Qiw4QkFBa0I7SUFPekMsb0JBQVksTUFBc0I7UUFBbEMsWUFDRSxpQkFBTyxTQUtSO1FBSlMsSUFBQSxPQUFPLEdBQW9DLE1BQU0sUUFBMUMsRUFBRSxVQUFVLEdBQXdCLE1BQU0sV0FBOUIsRUFBRSxpQkFBaUIsR0FBSyxNQUFNLGtCQUFYLENBQVc7UUFDekQsS0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFBO1FBQzNCLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLE1BQU0sQ0FBQTtRQUN0QyxLQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQTs7SUFDckYsQ0FBQztJQUNNLHdCQUFHLEdBQVYsVUFBVyxPQUF3QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxPQUFPLHVCQUVaLE9BQU8sS0FDVixNQUFNLEVBQUUsS0FBSyxLQUVmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBQ00seUJBQUksR0FBWCxVQUFZLE9BQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sdUJBRVosT0FBTyxLQUNWLE1BQU0sRUFBRSxNQUFNLEtBRWhCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9B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ZGFwdGVySW50ZXJmYWNlLFxuICBBYnN0cmFjdFNES1JlcXVlc3QsXG4gIElSZXF1ZXN0T3B0aW9ucyxcbiAgUmVzcG9uc2VPYmplY3QsXG4gIElVcGxvYWRSZXF1ZXN0T3B0aW9ucyxcbiAgSVJlcXVlc3RDb25maWcsXG4gIElSZXF1ZXN0TWV0aG9kLFxuICBJRmV0Y2hPcHRpb25zLFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgaXNGb3JtRGF0YSwgZm9ybWF0VXJsLCB0b1F1ZXJ5U3RyaW5nIH0gZnJvbSAnLi4vLi4vbGlicy91dGlsJ1xuaW1wb3J0IHsgZ2V0UHJvdG9jb2wgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tbW9uJ1xuXG4vKipcbiAqIEBjbGFzcyBXZWJSZXF1ZXN0XG4gKi9cbmNsYXNzIFdlYlJlcXVlc3QgZXh0ZW5kcyBBYnN0cmFjdFNES1JlcXVlc3Qge1xuICAvLyDpu5jorqTkuI3pmZDotoXml7ZcbiAgcHJpdmF0ZSByZWFkb25seSB0aW1lb3V0OiBudW1iZXJcbiAgLy8g6LaF5pe25o+Q56S65paH5qGIXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dE1zZzogc3RyaW5nXG4gIC8vIOi2heaXtuWPl+mZkOivt+axguexu+Wei++8jOm7mOiupOaJgOacieivt+axguWdh+WPl+mZkFxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3RyaWN0ZWRNZXRob2RzOiBBcnJheTxJUmVxdWVzdE1ldGhvZD5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJUmVxdWVzdENvbmZpZykge1xuICAgIHN1cGVyKClcbiAgICBjb25zdCB7IHRpbWVvdXQsIHRpbWVvdXRNc2csIHJlc3RyaWN0ZWRNZXRob2RzIH0gPSBjb25maWdcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0IHx8IDBcbiAgICB0aGlzLnRpbWVvdXRNc2cgPSB0aW1lb3V0TXNnIHx8ICfor7fmsYLotoXml7YnXG4gICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcyA9IHJlc3RyaWN0ZWRNZXRob2RzIHx8IFsnZ2V0JywgJ3Bvc3QnLCAndXBsb2FkJywgJ2Rvd25sb2FkJ11cbiAgfVxuICBwdWJsaWMgZ2V0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ2dldCcpLFxuICAgIClcbiAgfVxuICBwdWJsaWMgcG9zdChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB9LFxuICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygncG9zdCcpLFxuICAgIClcbiAgfVxuICBwdWJsaWMgcHV0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgIH0pXG4gIH1cbiAgcHVibGljIHVwbG9hZChvcHRpb25zOiBJVXBsb2FkUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgeyBkYXRhLCBmaWxlLCBuYW1lLCBtZXRob2QsIGhlYWRlcnMgPSB7fSB9ID0gb3B0aW9uc1xuICAgIGNvbnN0IHJlcU1ldGhvZCA9IHsgcG9zdDogJ3Bvc3QnLCBwdXQ6ICdwdXQnIH1bbWV0aG9kPy50b0xvd2VyQ2FzZSgpXSB8fCAncHV0J1xuICAgIC8vIOS4iuS8oOaWueW8j+S4unBvc3Tml7bvvIzpnIDovazmjaLkuLpGb3JtRGF0YVxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgICBpZiAocmVxTWV0aG9kID09PSAncG9zdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCBkYXRhW2tleV0pXG4gICAgICB9KVxuICAgICAgZm9ybURhdGEuYXBwZW5kKCdrZXknLCBuYW1lKVxuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSlcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLFxuICAgICAgICAgIG1ldGhvZDogcmVxTWV0aG9kLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCd1cGxvYWQnKSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgYm9keTogZmlsZSxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCd1cGxvYWQnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIGFzeW5jIGRvd25sb2FkKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5nZXQoe1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBoZWFkZXJzOiB7fSwgLy8g5LiL6L296LWE5rqQ6K+35rGC5LiN57uP6L+Hc2VydmljZe+8jGhlYWRlcua4heepulxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbZGF0YV0pKVxuICAgICAgY29uc3QgZmlsZU5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQobmV3IFVSTChvcHRpb25zLnVybCkucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJylcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblxuICAgICAgbGluay5ocmVmID0gdXJsXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSlcbiAgICAgIGxpbmsuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspXG4gICAgICBsaW5rLmNsaWNrKClcbiAgICAgIC8vIOWbnuaUtuWGheWtmFxuICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgICB0ZW1wRmlsZVBhdGg6IG9wdGlvbnMudXJsLFxuICAgICAgfSlcbiAgICB9KVxuICB9XG4gIGFzeW5jIGZldGNoKG9wdGlvbnM6IElGZXRjaE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgY29uc3QgeyB1cmwsIGVuYWJsZUFib3J0ID0gZmFsc2UsIHN0cmVhbSA9IGZhbHNlLCBzaWduYWwgfSA9IG9wdGlvbnNcblxuICAgIGlmIChzaWduYWwpIHtcbiAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkgYWJvcnRDb250cm9sbGVyLmFib3J0KClcbiAgICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpID0+IGFib3J0Q29udHJvbGxlci5hYm9ydCgpKVxuICAgIH1cblxuICAgIGxldCB0aW1lciA9IG51bGxcbiAgICBpZiAoZW5hYmxlQWJvcnQgJiYgdGhpcy50aW1lb3V0KSB7XG4gICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKHRoaXMudGltZW91dE1zZykpXG4gICAgICB9LCB0aGlzLnRpbWVvdXQpXG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pXG4gICAgICAudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICAvLyA0MDQg562J562J5Lmf5Lya6L+bIHJlc29sdmXvvIzmiYDku6XopoHlho3pgJrov4cgb2sg5Yik5patXG4gICAgICAgIHJldHVybiByZXNwb25zZS5vayA/IHJlc3BvbnNlIDogUHJvbWlzZS5yZWplY3QoYXdhaXQgcmVzcG9uc2UuanNvbigpKVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoeCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh4KVxuICAgICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBzdHJlYW0gPyByZXMuYm9keSA6IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykgPyByZXMuanNvbigpIDogcmVzLnRleHQoKSxcbiAgICAgIHN0YXR1c0NvZGU6IHJlcy5zdGF0dXMsXG4gICAgICBoZWFkZXI6IHJlcy5oZWFkZXJzLFxuICAgIH1cbiAgfVxuICAvKipcbiAgICogQHBhcmFtIHtJUmVxdWVzdE9wdGlvbnN9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBlbmFibGVBYm9ydCDmmK/lkKbotoXml7bkuK3mlq3or7fmsYJcbiAgICovXG4gIHByb3RlY3RlZCByZXF1ZXN0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucywgZW5hYmxlQWJvcnQgPSBmYWxzZSk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCBtZXRob2QgPSBTdHJpbmcob3B0aW9ucy5tZXRob2QpLnRvTG93ZXJDYXNlKCkgfHwgJ2dldCdcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsLCBoZWFkZXJzID0ge30sIGRhdGEsIHJlc3BvbnNlVHlwZSwgd2l0aENyZWRlbnRpYWxzLCBib2R5LCBvblVwbG9hZFByb2dyZXNzIH0gPSBvcHRpb25zXG4gICAgICBjb25zdCByZWFsVXJsID0gZm9ybWF0VXJsKGdldFByb3RvY29sKCksIHVybCwgbWV0aG9kID09PSAnZ2V0JyA/IGRhdGEgOiB7fSlcbiAgICAgIGNvbnN0IGFqYXggPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgYWpheC5vcGVuKG1ldGhvZCwgcmVhbFVybClcbiAgICAgIHJlc3BvbnNlVHlwZSAmJiAoYWpheC5yZXNwb25zZVR5cGUgPSByZXNwb25zZVR5cGUpXG4gICAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgYWpheC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgaGVhZGVyc1trZXldKVxuICAgICAgfSlcbiAgICAgIGxldCB0aW1lclxuICAgICAgaWYgKG9uVXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgICAgYWpheC51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBvblVwbG9hZFByb2dyZXNzKVxuICAgICAgfVxuICAgICAgYWpheC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVzcG9uc2VPYmplY3QgPSB7fVxuICAgICAgICBpZiAoYWpheC5yZWFkeVN0YXRlID09PSA0KSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IGFqYXguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKClcbiAgICAgICAgICBjb25zdCBhcnIgPSBoZWFkZXJzLnRyaW0oKS5zcGxpdCgvW1xcclxcbl0rLylcbiAgICAgICAgICAvLyBDcmVhdGUgYSBtYXAgb2YgaGVhZGVyIG5hbWVzIHRvIHZhbHVlc1xuICAgICAgICAgIGNvbnN0IGhlYWRlck1hcCA9IHt9XG4gICAgICAgICAgYXJyLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gbGluZS5zcGxpdCgnOiAnKVxuICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcGFydHMuc2hpZnQoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnRzLmpvaW4oJzogJylcbiAgICAgICAgICAgIGhlYWRlck1hcFtoZWFkZXJdID0gdmFsdWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJlc3VsdC5oZWFkZXIgPSBoZWFkZXJNYXBcbiAgICAgICAgICByZXN1bHQuc3RhdHVzQ29kZSA9IGFqYXguc3RhdHVzXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIOS4iuS8oHBvc3Tor7fmsYLov5Tlm57mlbDmja7moLzlvI/kuLp4bWzvvIzmraTlpITlrrnplJlcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhID0gcmVzcG9uc2VUeXBlID09PSAnYmxvYicgPyBhamF4LnJlc3BvbnNlIDogSlNPTi5wYXJzZShhamF4LnJlc3BvbnNlVGV4dClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYWpheC5yZXNwb25zZSA6IGFqYXgucmVzcG9uc2VUZXh0XG4gICAgICAgICAgfVxuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGVuYWJsZUFib3J0ICYmIHRoaXMudGltZW91dCkge1xuICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUud2Fybih0aGlzLnRpbWVvdXRNc2cpXG4gICAgICAgICAgYWpheC5hYm9ydCgpXG4gICAgICAgIH0sIHRoaXMudGltZW91dClcbiAgICAgIH1cbiAgICAgIC8vIOWkhOeQhiBwYXlsb2FkXG4gICAgICBsZXQgcGF5bG9hZFxuICAgICAgaWYgKGlzRm9ybURhdGEoZGF0YSkpIHtcbiAgICAgICAgLy8gRm9ybURhdGHvvIzkuI3lpITnkIZcbiAgICAgICAgcGF5bG9hZCA9IGRhdGFcbiAgICAgIH0gZWxzZSBpZiAoaGVhZGVyc1snY29udGVudC10eXBlJ10gPT09ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKSB7XG4gICAgICAgIHBheWxvYWQgPSB0b1F1ZXJ5U3RyaW5nKGRhdGEpXG4gICAgICB9IGVsc2UgaWYgKGJvZHkpIHtcbiAgICAgICAgcGF5bG9hZCA9IGJvZHlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIOWFtuWug+aDheWGtVxuICAgICAgICBwYXlsb2FkID0gZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGlmICh3aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgYWpheC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlXG4gICAgICB9XG4gICAgICBhamF4LnNlbmQocGF5bG9hZClcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkFkYXB0ZXIoKSB7XG4gIGNvbnN0IGFkYXB0ZXI6IFNES0FkYXB0ZXJJbnRlcmZhY2UgPSB7XG4gICAgcm9vdDogd2luZG93LFxuICAgIHJlcUNsYXNzOiBXZWJSZXF1ZXN0LFxuICAgIHdzQ2xhc3M6IFdlYlNvY2tldCxcbiAgICBsb2NhbFN0b3JhZ2UsXG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXJcbn1cblxuZXhwb3J0IHsgZ2VuQWRhcHRlciwgV2ViUmVxdWVzdCB9XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFTcUM7QUFDckMsd0NBQXNFO0FBQ3RFLGlEQUFvRDtBQUtwRDtJQUF5Qiw4QkFBa0I7SUFPekMsb0JBQVksTUFBc0I7UUFBbEMsWUFDRSxpQkFBTyxTQUtSO1FBSlMsSUFBQSxPQUFPLEdBQW9DLE1BQU0sUUFBMUMsRUFBRSxVQUFVLEdBQXdCLE1BQU0sV0FBOUIsRUFBRSxpQkFBaUIsR0FBSyxNQUFNLGtCQUFYLENBQVc7UUFDekQsS0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFBO1FBQzNCLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLE1BQU0sQ0FBQTtRQUN0QyxLQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQTs7SUFDckYsQ0FBQztJQUNNLHdCQUFHLEdBQVYsVUFBVyxPQUF3QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxPQUFPLHVCQUVaLE9BQU8sS0FDVixNQUFNLEVBQUUsS0FBSyxLQUVmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBQ00seUJBQUksR0FBWCxVQUFZLE9BQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sdUJBRVosT0FBTyxLQUNWLE1BQU0sRUFBRSxNQUFNLEtBRWhCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9B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T0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVRLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU0RLQWRhcHRlckludGVyZmFjZSxcbiAgQWJzdHJhY3RTREtSZXF1ZXN0LFxuICBJUmVxdWVzdE9wdGlvbnMsXG4gIFJlc3BvbnNlT2JqZWN0LFxuICBJVXBsb2FkUmVxdWVzdE9wdGlvbnMsXG4gIElSZXF1ZXN0Q29uZmlnLFxuICBJUmVxdWVzdE1ldGhvZCxcbiAgSUZldGNoT3B0aW9ucyxcbn0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IGlzRm9ybURhdGEsIGZvcm1hdFVybCwgdG9RdWVyeVN0cmluZyB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbCdcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbW1vbidcblxuLyoqXG4gKiBAY2xhc3MgV2ViUmVxdWVzdFxuICovXG5jbGFzcyBXZWJSZXF1ZXN0IGV4dGVuZHMgQWJzdHJhY3RTREtSZXF1ZXN0IHtcbiAgLy8g6buY6K6k5LiN6ZmQ6LaF5pe2XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyXG4gIC8vIOi2heaXtuaPkOekuuaWh+ahiFxuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXRNc2c6IHN0cmluZ1xuICAvLyDotoXml7blj5fpmZDor7fmsYLnsbvlnovvvIzpu5jorqTmiYDmnInor7fmsYLlnYflj5fpmZBcbiAgcHJpdmF0ZSByZWFkb25seSByZXN0cmljdGVkTWV0aG9kczogQXJyYXk8SVJlcXVlc3RNZXRob2Q+XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSVJlcXVlc3RDb25maWcpIHtcbiAgICBzdXBlcigpXG4gICAgY29uc3QgeyB0aW1lb3V0LCB0aW1lb3V0TXNnLCByZXN0cmljdGVkTWV0aG9kcyB9ID0gY29uZmlnXG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dCB8fCAwXG4gICAgdGhpcy50aW1lb3V0TXNnID0gdGltZW91dE1zZyB8fCAn6K+35rGC6LaF5pe2J1xuICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMgPSByZXN0cmljdGVkTWV0aG9kcyB8fCBbJ2dldCcsICdwb3N0JywgJ3VwbG9hZCcsICdkb3dubG9hZCddXG4gIH1cbiAgcHVibGljIGdldChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCdnZXQnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIHBvc3Qob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ3Bvc3QnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIHB1dChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICB9KVxuICB9XG4gIHB1YmxpYyB1cGxvYWQob3B0aW9uczogSVVwbG9hZFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIGNvbnN0IHsgZGF0YSwgZmlsZSwgbmFtZSwgbWV0aG9kLCBoZWFkZXJzID0ge30gfSA9IG9wdGlvbnNcbiAgICBjb25zdCByZXFNZXRob2QgPSB7IHBvc3Q6ICdwb3N0JywgcHV0OiAncHV0JyB9W21ldGhvZD8udG9Mb3dlckNhc2UoKV0gfHwgJ3B1dCdcbiAgICAvLyDkuIrkvKDmlrnlvI/kuLpwb3N05pe277yM6ZyA6L2s5o2i5Li6Rm9ybURhdGFcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gICAgaWYgKHJlcU1ldGhvZCA9PT0gJ3Bvc3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgZGF0YVtrZXldKVxuICAgICAgfSlcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5JywgbmFtZSlcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAgICAgICBtZXRob2Q6IHJlcU1ldGhvZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJyksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIGJvZHk6IGZpbGUsXG4gICAgICB9LFxuICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJyksXG4gICAgKVxuICB9XG4gIHB1YmxpYyBhc3luYyBkb3dubG9hZChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZ2V0KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgaGVhZGVyczoge30sIC8vIOS4i+i9vei1hOa6kOivt+axguS4jee7j+i/h3NlcnZpY2XvvIxoZWFkZXLmuIXnqbpcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICB9KVxuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2RhdGFdKSlcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZGVjb2RlVVJJQ29tcG9uZW50KG5ldyBVUkwob3B0aW9ucy51cmwpLnBhdGhuYW1lLnNwbGl0KCcvJykucG9wKCkgfHwgJycpXG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cbiAgICAgIGxpbmsuaHJlZiA9IHVybFxuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpXG4gICAgICBsaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKVxuICAgICAgbGluay5jbGljaygpXG4gICAgICAvLyDlm57mlLblhoXlrZhcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluaylcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgdGVtcEZpbGVQYXRoOiBvcHRpb25zLnVybCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuICBhc3luYyBmZXRjaChvcHRpb25zOiBJRmV0Y2hPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICAgIGNvbnN0IHsgdXJsLCBlbmFibGVBYm9ydCA9IGZhbHNlLCBzdHJlYW0gPSBmYWxzZSwgc2lnbmFsLCB0aW1lb3V0OiBfdGltZW91dCB9ID0gb3B0aW9uc1xuXG4gICAgY29uc3QgdGltZW91dCA9IF90aW1lb3V0ID8/IHRoaXMudGltZW91dFxuXG4gICAgaWYgKHNpZ25hbCkge1xuICAgICAgaWYgKHNpZ25hbC5hYm9ydGVkKSBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKVxuICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gYWJvcnRDb250cm9sbGVyLmFib3J0KCkpXG4gICAgfVxuXG4gICAgbGV0IHRpbWVyID0gbnVsbFxuICAgIGlmIChlbmFibGVBYm9ydCAmJiB0aW1lb3V0KSB7XG4gICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKHRoaXMudGltZW91dE1zZykpXG4gICAgICB9LCB0aW1lb3V0KVxuICAgIH1cblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KVxuICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgLy8gNDA0IOetieetieS5n+S8mui/myByZXNvbHZl77yM5omA5Lul6KaB5YaN6YCa6L+HIG9rIOWIpOaWrVxuICAgICAgICByZXR1cm4gcmVzcG9uc2Uub2sgPyByZXNwb25zZSA6IFByb21pc2UucmVqZWN0KGF3YWl0IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKHgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoeClcbiAgICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogc3RyZWFtID8gcmVzLmJvZHkgOiByZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpID8gcmVzLmpzb24oKSA6IHJlcy50ZXh0KCksXG4gICAgICBzdGF0dXNDb2RlOiByZXMuc3RhdHVzLFxuICAgICAgaGVhZGVyOiByZXMuaGVhZGVycyxcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEBwYXJhbSB7SVJlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlQWJvcnQg5piv5ZCm6LaF5pe25Lit5pat6K+35rGCXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWVzdChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMsIGVuYWJsZUFib3J0ID0gZmFsc2UpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgbWV0aG9kID0gU3RyaW5nKG9wdGlvbnMubWV0aG9kKS50b0xvd2VyQ2FzZSgpIHx8ICdnZXQnXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCB7IHVybCwgaGVhZGVycyA9IHt9LCBkYXRhLCByZXNwb25zZVR5cGUsIHdpdGhDcmVkZW50aWFscywgYm9keSwgb25VcGxvYWRQcm9ncmVzcyB9ID0gb3B0aW9uc1xuICAgICAgY29uc3QgcmVhbFVybCA9IGZvcm1hdFVybChnZXRQcm90b2NvbCgpLCB1cmwsIG1ldGhvZCA9PT0gJ2dldCcgPyBkYXRhIDoge30pXG4gICAgICBjb25zdCBhamF4ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIGFqYXgub3BlbihtZXRob2QsIHJlYWxVcmwpXG4gICAgICByZXNwb25zZVR5cGUgJiYgKGFqYXgucmVzcG9uc2VUeXBlID0gcmVzcG9uc2VUeXBlKVxuICAgICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGFqYXguc2V0UmVxdWVzdEhlYWRlcihrZXksIGhlYWRlcnNba2V5XSlcbiAgICAgIH0pXG4gICAgICBsZXQgdGltZXJcbiAgICAgIGlmIChvblVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgIGFqYXgudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcGxvYWRQcm9ncmVzcylcbiAgICAgIH1cbiAgICAgIGFqYXgub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlc3BvbnNlT2JqZWN0ID0ge31cbiAgICAgICAgaWYgKGFqYXgucmVhZHlTdGF0ZSA9PT0gNCkge1xuICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBhamF4LmdldEFsbFJlc3BvbnNlSGVhZGVycygpXG4gICAgICAgICAgY29uc3QgYXJyID0gaGVhZGVycy50cmltKCkuc3BsaXQoL1tcXHJcXG5dKy8pXG4gICAgICAgICAgLy8gQ3JlYXRlIGEgbWFwIG9mIGhlYWRlciBuYW1lcyB0byB2YWx1ZXNcbiAgICAgICAgICBjb25zdCBoZWFkZXJNYXAgPSB7fVxuICAgICAgICAgIGFyci5mb3JFYWNoKChsaW5lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGxpbmUuc3BsaXQoJzogJylcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHBhcnRzLnNoaWZ0KCkudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJ0cy5qb2luKCc6ICcpXG4gICAgICAgICAgICBoZWFkZXJNYXBbaGVhZGVyXSA9IHZhbHVlXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXN1bHQuaGVhZGVyID0gaGVhZGVyTWFwXG4gICAgICAgICAgcmVzdWx0LnN0YXR1c0NvZGUgPSBhamF4LnN0YXR1c1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyDkuIrkvKBwb3N06K+35rGC6L+U5Zue5pWw5o2u5qC85byP5Li6eG1s77yM5q2k5aSE5a656ZSZXG4gICAgICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYWpheC5yZXNwb25zZSA6IEpTT04ucGFyc2UoYWpheC5yZXNwb25zZVRleHQpXG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmVzdWx0LmRhdGEgPSByZXNwb25zZVR5cGUgPT09ICdibG9iJyA/IGFqYXgucmVzcG9uc2UgOiBhamF4LnJlc3BvbnNlVGV4dFxuICAgICAgICAgIH1cbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlbmFibGVBYm9ydCAmJiB0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICAgIGFqYXguYWJvcnQoKVxuICAgICAgICB9LCB0aGlzLnRpbWVvdXQpXG4gICAgICB9XG4gICAgICAvLyDlpITnkIYgcGF5bG9hZFxuICAgICAgbGV0IHBheWxvYWRcbiAgICAgIGlmIChpc0Zvcm1EYXRhKGRhdGEpKSB7XG4gICAgICAgIC8vIEZvcm1EYXRh77yM5LiN5aSE55CGXG4gICAgICAgIHBheWxvYWQgPSBkYXRhXG4gICAgICB9IGVsc2UgaWYgKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID09PSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJykge1xuICAgICAgICBwYXlsb2FkID0gdG9RdWVyeVN0cmluZyhkYXRhKVxuICAgICAgfSBlbHNlIGlmIChib2R5KSB7XG4gICAgICAgIHBheWxvYWQgPSBib2R5XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyDlhbblroPmg4XlhrVcbiAgICAgICAgcGF5bG9hZCA9IGRhdGEgPyBKU09OLnN0cmluZ2lmeShkYXRhKSA6IHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBpZiAod2l0aENyZWRlbnRpYWxzKSB7XG4gICAgICAgIGFqYXgud2l0aENyZWRlbnRpYWxzID0gdHJ1ZVxuICAgICAgfVxuICAgICAgYWpheC5zZW5kKHBheWxvYWQpXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5BZGFwdGVyKCkge1xuICBjb25zdCBhZGFwdGVyOiBTREtBZGFwdGVySW50ZXJmYWNlID0ge1xuICAgIHJvb3Q6IHdpbmRvdyxcbiAgICByZXFDbGFzczogV2ViUmVxdWVzdCxcbiAgICB3c0NsYXNzOiBXZWJTb2NrZXQsXG4gICAgbG9jYWxTdG9yYWdlLFxuICB9XG4gIHJldHVybiBhZGFwdGVyXG59XG5cbmV4cG9ydCB7IGdlbkFkYXB0ZXIsIFdlYlJlcXVlc3QgfVxuIl19
|
|
@@ -133,24 +133,25 @@ var WebRequest = (function (_super) {
|
|
|
133
133
|
WebRequest.prototype.fetch = function (options) {
|
|
134
134
|
var _a;
|
|
135
135
|
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
-
var abortController, url, _b, enableAbort, _c, stream, signal, timer, res;
|
|
136
|
+
var abortController, url, _b, enableAbort, _c, stream, signal, _timeout, timeout, timer, res;
|
|
137
137
|
var _this = this;
|
|
138
138
|
return __generator(this, function (_d) {
|
|
139
139
|
switch (_d.label) {
|
|
140
140
|
case 0:
|
|
141
141
|
abortController = new AbortController();
|
|
142
|
-
url = options.url, _b = options.enableAbort, enableAbort = _b === void 0 ? false : _b, _c = options.stream, stream = _c === void 0 ? false : _c, signal = options.signal;
|
|
142
|
+
url = options.url, _b = options.enableAbort, enableAbort = _b === void 0 ? false : _b, _c = options.stream, stream = _c === void 0 ? false : _c, signal = options.signal, _timeout = options.timeout;
|
|
143
|
+
timeout = _timeout !== null && _timeout !== void 0 ? _timeout : this.timeout;
|
|
143
144
|
if (signal) {
|
|
144
145
|
if (signal.aborted)
|
|
145
146
|
abortController.abort();
|
|
146
147
|
signal.addEventListener('abort', function () { return abortController.abort(); });
|
|
147
148
|
}
|
|
148
149
|
timer = null;
|
|
149
|
-
if (enableAbort &&
|
|
150
|
+
if (enableAbort && timeout) {
|
|
150
151
|
timer = setTimeout(function () {
|
|
151
152
|
console.warn(_this.timeoutMsg);
|
|
152
153
|
abortController.abort(new Error(_this.timeoutMsg));
|
|
153
|
-
},
|
|
154
|
+
}, timeout);
|
|
154
155
|
}
|
|
155
156
|
return [4, fetch(url, __assign(__assign({}, options), { signal: abortController.signal }))
|
|
156
157
|
.then(function (response) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -265,4 +266,4 @@ function genAdapter() {
|
|
|
265
266
|
return adapter;
|
|
266
267
|
}
|
|
267
268
|
export { genAdapter, WebRequest };
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBRUwsa0JBQWtCLEdBT25CLE1BQU0sOEJBQThCLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBS3BEO0lBQXlCLDhCQUFrQjtJQU96QyxvQkFBWSxNQUFzQjtRQUFsQyxZQUNFLGlCQUFPLFNBS1I7UUFKUyxJQUFBLE9BQU8sR0FBb0MsTUFBTSxRQUExQyxFQUFFLFVBQVUsR0FBd0IsTUFBTSxXQUE5QixFQUFFLGlCQUFpQixHQUFLLE1BQU0sa0JBQVgsQ0FBVztRQUN6RCxLQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUE7UUFDM0IsS0FBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksTUFBTSxDQUFBO1FBQ3RDLEtBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBOztJQUNyRixDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9BQXdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sdUJBRVosT0FBTyxLQUNWLE1BQU0sRUFBRSxLQUFLLEtBRWYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDTSx5QkFBSSxHQUFYLFVBQVksT0FBd0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyx1QkFFWixPQUFPLEtB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T0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTREtBZGFwdGVySW50ZXJmYWNlLFxuICBBYnN0cmFjdFNES1JlcXVlc3QsXG4gIElSZXF1ZXN0T3B0aW9ucyxcbiAgUmVzcG9uc2VPYmplY3QsXG4gIElVcGxvYWRSZXF1ZXN0T3B0aW9ucyxcbiAgSVJlcXVlc3RDb25maWcsXG4gIElSZXF1ZXN0TWV0aG9kLFxuICBJRmV0Y2hPcHRpb25zLFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgaXNGb3JtRGF0YSwgZm9ybWF0VXJsLCB0b1F1ZXJ5U3RyaW5nIH0gZnJvbSAnLi4vLi4vbGlicy91dGlsJ1xuaW1wb3J0IHsgZ2V0UHJvdG9jb2wgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tbW9uJ1xuXG4vKipcbiAqIEBjbGFzcyBXZWJSZXF1ZXN0XG4gKi9cbmNsYXNzIFdlYlJlcXVlc3QgZXh0ZW5kcyBBYnN0cmFjdFNES1JlcXVlc3Qge1xuICAvLyDpu5jorqTkuI3pmZDotoXml7ZcbiAgcHJpdmF0ZSByZWFkb25seSB0aW1lb3V0OiBudW1iZXJcbiAgLy8g6LaF5pe25o+Q56S65paH5qGIXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dE1zZzogc3RyaW5nXG4gIC8vIOi2heaXtuWPl+mZkOivt+axguexu+Wei++8jOm7mOiupOaJgOacieivt+axguWdh+WPl+mZkFxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3RyaWN0ZWRNZXRob2RzOiBBcnJheTxJUmVxdWVzdE1ldGhvZD5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJUmVxdWVzdENvbmZpZykge1xuICAgIHN1cGVyKClcbiAgICBjb25zdCB7IHRpbWVvdXQsIHRpbWVvdXRNc2csIHJlc3RyaWN0ZWRNZXRob2RzIH0gPSBjb25maWdcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0IHx8IDBcbiAgICB0aGlzLnRpbWVvdXRNc2cgPSB0aW1lb3V0TXNnIHx8ICfor7fmsYLotoXml7YnXG4gICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcyA9IHJlc3RyaWN0ZWRNZXRob2RzIHx8IFsnZ2V0JywgJ3Bvc3QnLCAndXBsb2FkJywgJ2Rvd25sb2FkJ11cbiAgfVxuICBwdWJsaWMgZ2V0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ2dldCcpLFxuICAgIClcbiAgfVxuICBwdWJsaWMgcG9zdChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB9LFxuICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygncG9zdCcpLFxuICAgIClcbiAgfVxuICBwdWJsaWMgcHV0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgIH0pXG4gIH1cbiAgcHVibGljIHVwbG9hZChvcHRpb25zOiBJVXBsb2FkUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgeyBkYXRhLCBmaWxlLCBuYW1lLCBtZXRob2QsIGhlYWRlcnMgPSB7fSB9ID0gb3B0aW9uc1xuICAgIGNvbnN0IHJlcU1ldGhvZCA9IHsgcG9zdDogJ3Bvc3QnLCBwdXQ6ICdwdXQnIH1bbWV0aG9kPy50b0xvd2VyQ2FzZSgpXSB8fCAncHV0J1xuICAgIC8vIOS4iuS8oOaWueW8j+S4unBvc3Tml7bvvIzpnIDovazmjaLkuLpGb3JtRGF0YVxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgICBpZiAocmVxTWV0aG9kID09PSAncG9zdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCBkYXRhW2tleV0pXG4gICAgICB9KVxuICAgICAgZm9ybURhdGEuYXBwZW5kKCdrZXknLCBuYW1lKVxuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSlcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLFxuICAgICAgICAgIG1ldGhvZDogcmVxTWV0aG9kLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCd1cGxvYWQnKSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgYm9keTogZmlsZSxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCd1cGxvYWQnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIGFzeW5jIGRvd25sb2FkKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5nZXQoe1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBoZWFkZXJzOiB7fSwgLy8g5LiL6L296LWE5rqQ6K+35rGC5LiN57uP6L+Hc2VydmljZe+8jGhlYWRlcua4heepulxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbZGF0YV0pKVxuICAgICAgY29uc3QgZmlsZU5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQobmV3IFVSTChvcHRpb25zLnVybCkucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJylcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblxuICAgICAgbGluay5ocmVmID0gdXJsXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSlcbiAgICAgIGxpbmsuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspXG4gICAgICBsaW5rLmNsaWNrKClcbiAgICAgIC8vIOWbnuaUtuWGheWtmFxuICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgICB0ZW1wRmlsZVBhdGg6IG9wdGlvbnMudXJsLFxuICAgICAgfSlcbiAgICB9KVxuICB9XG4gIGFzeW5jIGZldGNoKG9wdGlvbnM6IElGZXRjaE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgY29uc3QgeyB1cmwsIGVuYWJsZUFib3J0ID0gZmFsc2UsIHN0cmVhbSA9IGZhbHNlLCBzaWduYWwgfSA9IG9wdGlvbnNcblxuICAgIGlmIChzaWduYWwpIHtcbiAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkgYWJvcnRDb250cm9sbGVyLmFib3J0KClcbiAgICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpID0+IGFib3J0Q29udHJvbGxlci5hYm9ydCgpKVxuICAgIH1cblxuICAgIGxldCB0aW1lciA9IG51bGxcbiAgICBpZiAoZW5hYmxlQWJvcnQgJiYgdGhpcy50aW1lb3V0KSB7XG4gICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKHRoaXMudGltZW91dE1zZykpXG4gICAgICB9LCB0aGlzLnRpbWVvdXQpXG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pXG4gICAgICAudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICAvLyA0MDQg562J562J5Lmf5Lya6L+bIHJlc29sdmXvvIzmiYDku6XopoHlho3pgJrov4cgb2sg5Yik5patXG4gICAgICAgIHJldHVybiByZXNwb25zZS5vayA/IHJlc3BvbnNlIDogUHJvbWlzZS5yZWplY3QoYXdhaXQgcmVzcG9uc2UuanNvbigpKVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoeCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh4KVxuICAgICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBzdHJlYW0gPyByZXMuYm9keSA6IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykgPyByZXMuanNvbigpIDogcmVzLnRleHQoKSxcbiAgICAgIHN0YXR1c0NvZGU6IHJlcy5zdGF0dXMsXG4gICAgICBoZWFkZXI6IHJlcy5oZWFkZXJzLFxuICAgIH1cbiAgfVxuICAvKipcbiAgICogQHBhcmFtIHtJUmVxdWVzdE9wdGlvbnN9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBlbmFibGVBYm9ydCDmmK/lkKbotoXml7bkuK3mlq3or7fmsYJcbiAgICovXG4gIHByb3RlY3RlZCByZXF1ZXN0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucywgZW5hYmxlQWJvcnQgPSBmYWxzZSk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCBtZXRob2QgPSBTdHJpbmcob3B0aW9ucy5tZXRob2QpLnRvTG93ZXJDYXNlKCkgfHwgJ2dldCdcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsLCBoZWFkZXJzID0ge30sIGRhdGEsIHJlc3BvbnNlVHlwZSwgd2l0aENyZWRlbnRpYWxzLCBib2R5LCBvblVwbG9hZFByb2dyZXNzIH0gPSBvcHRpb25zXG4gICAgICBjb25zdCByZWFsVXJsID0gZm9ybWF0VXJsKGdldFByb3RvY29sKCksIHVybCwgbWV0aG9kID09PSAnZ2V0JyA/IGRhdGEgOiB7fSlcbiAgICAgIGNvbnN0IGFqYXggPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgYWpheC5vcGVuKG1ldGhvZCwgcmVhbFVybClcbiAgICAgIHJlc3BvbnNlVHlwZSAmJiAoYWpheC5yZXNwb25zZVR5cGUgPSByZXNwb25zZVR5cGUpXG4gICAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgYWpheC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgaGVhZGVyc1trZXldKVxuICAgICAgfSlcbiAgICAgIGxldCB0aW1lclxuICAgICAgaWYgKG9uVXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgICAgYWpheC51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBvblVwbG9hZFByb2dyZXNzKVxuICAgICAgfVxuICAgICAgYWpheC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVzcG9uc2VPYmplY3QgPSB7fVxuICAgICAgICBpZiAoYWpheC5yZWFkeVN0YXRlID09PSA0KSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IGFqYXguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKClcbiAgICAgICAgICBjb25zdCBhcnIgPSBoZWFkZXJzLnRyaW0oKS5zcGxpdCgvW1xcclxcbl0rLylcbiAgICAgICAgICAvLyBDcmVhdGUgYSBtYXAgb2YgaGVhZGVyIG5hbWVzIHRvIHZhbHVlc1xuICAgICAgICAgIGNvbnN0IGhlYWRlck1hcCA9IHt9XG4gICAgICAgICAgYXJyLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gbGluZS5zcGxpdCgnOiAnKVxuICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcGFydHMuc2hpZnQoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnRzLmpvaW4oJzogJylcbiAgICAgICAgICAgIGhlYWRlck1hcFtoZWFkZXJdID0gdmFsdWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJlc3VsdC5oZWFkZXIgPSBoZWFkZXJNYXBcbiAgICAgICAgICByZXN1bHQuc3RhdHVzQ29kZSA9IGFqYXguc3RhdHVzXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIOS4iuS8oHBvc3Tor7fmsYLov5Tlm57mlbDmja7moLzlvI/kuLp4bWzvvIzmraTlpITlrrnplJlcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhID0gcmVzcG9uc2VUeXBlID09PSAnYmxvYicgPyBhamF4LnJlc3BvbnNlIDogSlNPTi5wYXJzZShhamF4LnJlc3BvbnNlVGV4dClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYWpheC5yZXNwb25zZSA6IGFqYXgucmVzcG9uc2VUZXh0XG4gICAgICAgICAgfVxuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGVuYWJsZUFib3J0ICYmIHRoaXMudGltZW91dCkge1xuICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUud2Fybih0aGlzLnRpbWVvdXRNc2cpXG4gICAgICAgICAgYWpheC5hYm9ydCgpXG4gICAgICAgIH0sIHRoaXMudGltZW91dClcbiAgICAgIH1cbiAgICAgIC8vIOWkhOeQhiBwYXlsb2FkXG4gICAgICBsZXQgcGF5bG9hZFxuICAgICAgaWYgKGlzRm9ybURhdGEoZGF0YSkpIHtcbiAgICAgICAgLy8gRm9ybURhdGHvvIzkuI3lpITnkIZcbiAgICAgICAgcGF5bG9hZCA9IGRhdGFcbiAgICAgIH0gZWxzZSBpZiAoaGVhZGVyc1snY29udGVudC10eXBlJ10gPT09ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKSB7XG4gICAgICAgIHBheWxvYWQgPSB0b1F1ZXJ5U3RyaW5nKGRhdGEpXG4gICAgICB9IGVsc2UgaWYgKGJvZHkpIHtcbiAgICAgICAgcGF5bG9hZCA9IGJvZHlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIOWFtuWug+aDheWGtVxuICAgICAgICBwYXlsb2FkID0gZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGlmICh3aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgYWpheC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlXG4gICAgICB9XG4gICAgICBhamF4LnNlbmQocGF5bG9hZClcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkFkYXB0ZXIoKSB7XG4gIGNvbnN0IGFkYXB0ZXI6IFNES0FkYXB0ZXJJbnRlcmZhY2UgPSB7XG4gICAgcm9vdDogd2luZG93LFxuICAgIHJlcUNsYXNzOiBXZWJSZXF1ZXN0LFxuICAgIHdzQ2xhc3M6IFdlYlNvY2tldCxcbiAgICBsb2NhbFN0b3JhZ2UsXG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXJcbn1cblxuZXhwb3J0IHsgZ2VuQWRhcHRlciwgV2ViUmVxdWVzdCB9XG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBRUwsa0JBQWtCLEdBT25CLE1BQU0sOEJBQThCLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBS3BEO0lBQXlCLDhCQUFrQjtJQU96QyxvQkFBWSxNQUFzQjtRQUFsQyxZQUNFLGlCQUFPLFNBS1I7UUFKUyxJQUFBLE9BQU8sR0FBb0MsTUFBTSxRQUExQyxFQUFFLFVBQVUsR0FBd0IsTUFBTSxXQUE5QixFQUFFLGlCQUFpQixHQUFLLE1BQU0sa0JBQVgsQ0FBVztRQUN6RCxLQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUE7UUFDM0IsS0FBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksTUFBTSxDQUFBO1FBQ3RDLEtBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBOztJQUNyRixDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9BQXdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sdUJBRVosT0FBTyxLQUNWLE1BQU0sRUFBRSxLQUFLLEtBRWYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDTSx5QkFBSSxHQUFYLFVBQVksT0FBd0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyx1QkFFWixPQUFPLEtB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O1FBQ1osUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsWUFBWSxjQUFBO0tBQ2IsQ0FBQTtJQUNELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU0RLQWRhcHRlckludGVyZmFjZSxcbiAgQWJzdHJhY3RTREtSZXF1ZXN0LFxuICBJUmVxdWVzdE9wdGlvbnMsXG4gIFJlc3BvbnNlT2JqZWN0LFxuICBJVXBsb2FkUmVxdWVzdE9wdGlvbnMsXG4gIElSZXF1ZXN0Q29uZmlnLFxuICBJUmVxdWVzdE1ldGhvZCxcbiAgSUZldGNoT3B0aW9ucyxcbn0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IGlzRm9ybURhdGEsIGZvcm1hdFVybCwgdG9RdWVyeVN0cmluZyB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbCdcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbW1vbidcblxuLyoqXG4gKiBAY2xhc3MgV2ViUmVxdWVzdFxuICovXG5jbGFzcyBXZWJSZXF1ZXN0IGV4dGVuZHMgQWJzdHJhY3RTREtSZXF1ZXN0IHtcbiAgLy8g6buY6K6k5LiN6ZmQ6LaF5pe2XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyXG4gIC8vIOi2heaXtuaPkOekuuaWh+ahiFxuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXRNc2c6IHN0cmluZ1xuICAvLyDotoXml7blj5fpmZDor7fmsYLnsbvlnovvvIzpu5jorqTmiYDmnInor7fmsYLlnYflj5fpmZBcbiAgcHJpdmF0ZSByZWFkb25seSByZXN0cmljdGVkTWV0aG9kczogQXJyYXk8SVJlcXVlc3RNZXRob2Q+XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSVJlcXVlc3RDb25maWcpIHtcbiAgICBzdXBlcigpXG4gICAgY29uc3QgeyB0aW1lb3V0LCB0aW1lb3V0TXNnLCByZXN0cmljdGVkTWV0aG9kcyB9ID0gY29uZmlnXG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dCB8fCAwXG4gICAgdGhpcy50aW1lb3V0TXNnID0gdGltZW91dE1zZyB8fCAn6K+35rGC6LaF5pe2J1xuICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMgPSByZXN0cmljdGVkTWV0aG9kcyB8fCBbJ2dldCcsICdwb3N0JywgJ3VwbG9hZCcsICdkb3dubG9hZCddXG4gIH1cbiAgcHVibGljIGdldChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCdnZXQnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIHBvc3Qob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ3Bvc3QnKSxcbiAgICApXG4gIH1cbiAgcHVibGljIHB1dChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICB9KVxuICB9XG4gIHB1YmxpYyB1cGxvYWQob3B0aW9uczogSVVwbG9hZFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIGNvbnN0IHsgZGF0YSwgZmlsZSwgbmFtZSwgbWV0aG9kLCBoZWFkZXJzID0ge30gfSA9IG9wdGlvbnNcbiAgICBjb25zdCByZXFNZXRob2QgPSB7IHBvc3Q6ICdwb3N0JywgcHV0OiAncHV0JyB9W21ldGhvZD8udG9Mb3dlckNhc2UoKV0gfHwgJ3B1dCdcbiAgICAvLyDkuIrkvKDmlrnlvI/kuLpwb3N05pe277yM6ZyA6L2s5o2i5Li6Rm9ybURhdGFcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gICAgaWYgKHJlcU1ldGhvZCA9PT0gJ3Bvc3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgZGF0YVtrZXldKVxuICAgICAgfSlcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5JywgbmFtZSlcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAgICAgICBtZXRob2Q6IHJlcU1ldGhvZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJyksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIGJvZHk6IGZpbGUsXG4gICAgICB9LFxuICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJyksXG4gICAgKVxuICB9XG4gIHB1YmxpYyBhc3luYyBkb3dubG9hZChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZ2V0KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgaGVhZGVyczoge30sIC8vIOS4i+i9vei1hOa6kOivt+axguS4jee7j+i/h3NlcnZpY2XvvIxoZWFkZXLmuIXnqbpcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICB9KVxuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2RhdGFdKSlcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZGVjb2RlVVJJQ29tcG9uZW50KG5ldyBVUkwob3B0aW9ucy51cmwpLnBhdGhuYW1lLnNwbGl0KCcvJykucG9wKCkgfHwgJycpXG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cbiAgICAgIGxpbmsuaHJlZiA9IHVybFxuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpXG4gICAgICBsaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKVxuICAgICAgbGluay5jbGljaygpXG4gICAgICAvLyDlm57mlLblhoXlrZhcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluaylcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgdGVtcEZpbGVQYXRoOiBvcHRpb25zLnVybCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuICBhc3luYyBmZXRjaChvcHRpb25zOiBJRmV0Y2hPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICAgIGNvbnN0IHsgdXJsLCBlbmFibGVBYm9ydCA9IGZhbHNlLCBzdHJlYW0gPSBmYWxzZSwgc2lnbmFsLCB0aW1lb3V0OiBfdGltZW91dCB9ID0gb3B0aW9uc1xuXG4gICAgY29uc3QgdGltZW91dCA9IF90aW1lb3V0ID8/IHRoaXMudGltZW91dFxuXG4gICAgaWYgKHNpZ25hbCkge1xuICAgICAgaWYgKHNpZ25hbC5hYm9ydGVkKSBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKVxuICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gYWJvcnRDb250cm9sbGVyLmFib3J0KCkpXG4gICAgfVxuXG4gICAgbGV0IHRpbWVyID0gbnVsbFxuICAgIGlmIChlbmFibGVBYm9ydCAmJiB0aW1lb3V0KSB7XG4gICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKHRoaXMudGltZW91dE1zZykpXG4gICAgICB9LCB0aW1lb3V0KVxuICAgIH1cblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KVxuICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgLy8gNDA0IOetieetieS5n+S8mui/myByZXNvbHZl77yM5omA5Lul6KaB5YaN6YCa6L+HIG9rIOWIpOaWrVxuICAgICAgICByZXR1cm4gcmVzcG9uc2Uub2sgPyByZXNwb25zZSA6IFByb21pc2UucmVqZWN0KGF3YWl0IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKHgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoeClcbiAgICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogc3RyZWFtID8gcmVzLmJvZHkgOiByZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpID8gcmVzLmpzb24oKSA6IHJlcy50ZXh0KCksXG4gICAgICBzdGF0dXNDb2RlOiByZXMuc3RhdHVzLFxuICAgICAgaGVhZGVyOiByZXMuaGVhZGVycyxcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEBwYXJhbSB7SVJlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlQWJvcnQg5piv5ZCm6LaF5pe25Lit5pat6K+35rGCXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWVzdChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMsIGVuYWJsZUFib3J0ID0gZmFsc2UpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgbWV0aG9kID0gU3RyaW5nKG9wdGlvbnMubWV0aG9kKS50b0xvd2VyQ2FzZSgpIHx8ICdnZXQnXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCB7IHVybCwgaGVhZGVycyA9IHt9LCBkYXRhLCByZXNwb25zZVR5cGUsIHdpdGhDcmVkZW50aWFscywgYm9keSwgb25VcGxvYWRQcm9ncmVzcyB9ID0gb3B0aW9uc1xuICAgICAgY29uc3QgcmVhbFVybCA9IGZvcm1hdFVybChnZXRQcm90b2NvbCgpLCB1cmwsIG1ldGhvZCA9PT0gJ2dldCcgPyBkYXRhIDoge30pXG4gICAgICBjb25zdCBhamF4ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIGFqYXgub3BlbihtZXRob2QsIHJlYWxVcmwpXG4gICAgICByZXNwb25zZVR5cGUgJiYgKGFqYXgucmVzcG9uc2VUeXBlID0gcmVzcG9uc2VUeXBlKVxuICAgICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGFqYXguc2V0UmVxdWVzdEhlYWRlcihrZXksIGhlYWRlcnNba2V5XSlcbiAgICAgIH0pXG4gICAgICBsZXQgdGltZXJcbiAgICAgIGlmIChvblVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgIGFqYXgudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcGxvYWRQcm9ncmVzcylcbiAgICAgIH1cbiAgICAgIGFqYXgub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlc3BvbnNlT2JqZWN0ID0ge31cbiAgICAgICAgaWYgKGFqYXgucmVhZHlTdGF0ZSA9PT0gNCkge1xuICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBhamF4LmdldEFsbFJlc3BvbnNlSGVhZGVycygpXG4gICAgICAgICAgY29uc3QgYXJyID0gaGVhZGVycy50cmltKCkuc3BsaXQoL1tcXHJcXG5dKy8pXG4gICAgICAgICAgLy8gQ3JlYXRlIGEgbWFwIG9mIGhlYWRlciBuYW1lcyB0byB2YWx1ZXNcbiAgICAgICAgICBjb25zdCBoZWFkZXJNYXAgPSB7fVxuICAgICAgICAgIGFyci5mb3JFYWNoKChsaW5lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGxpbmUuc3BsaXQoJzogJylcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHBhcnRzLnNoaWZ0KCkudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJ0cy5qb2luKCc6ICcpXG4gICAgICAgICAgICBoZWFkZXJNYXBbaGVhZGVyXSA9IHZhbHVlXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXN1bHQuaGVhZGVyID0gaGVhZGVyTWFwXG4gICAgICAgICAgcmVzdWx0LnN0YXR1c0NvZGUgPSBhamF4LnN0YXR1c1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyDkuIrkvKBwb3N06K+35rGC6L+U5Zue5pWw5o2u5qC85byP5Li6eG1s77yM5q2k5aSE5a656ZSZXG4gICAgICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYWpheC5yZXNwb25zZSA6IEpTT04ucGFyc2UoYWpheC5yZXNwb25zZVRleHQpXG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmVzdWx0LmRhdGEgPSByZXNwb25zZVR5cGUgPT09ICdibG9iJyA/IGFqYXgucmVzcG9uc2UgOiBhamF4LnJlc3BvbnNlVGV4dFxuICAgICAgICAgIH1cbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlbmFibGVBYm9ydCAmJiB0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4odGhpcy50aW1lb3V0TXNnKVxuICAgICAgICAgIGFqYXguYWJvcnQoKVxuICAgICAgICB9LCB0aGlzLnRpbWVvdXQpXG4gICAgICB9XG4gICAgICAvLyDlpITnkIYgcGF5bG9hZFxuICAgICAgbGV0IHBheWxvYWRcbiAgICAgIGlmIChpc0Zvcm1EYXRhKGRhdGEpKSB7XG4gICAgICAgIC8vIEZvcm1EYXRh77yM5LiN5aSE55CGXG4gICAgICAgIHBheWxvYWQgPSBkYXRhXG4gICAgICB9IGVsc2UgaWYgKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID09PSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJykge1xuICAgICAgICBwYXlsb2FkID0gdG9RdWVyeVN0cmluZyhkYXRhKVxuICAgICAgfSBlbHNlIGlmIChib2R5KSB7XG4gICAgICAgIHBheWxvYWQgPSBib2R5XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyDlhbblroPmg4XlhrVcbiAgICAgICAgcGF5bG9hZCA9IGRhdGEgPyBKU09OLnN0cmluZ2lmeShkYXRhKSA6IHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBpZiAod2l0aENyZWRlbnRpYWxzKSB7XG4gICAgICAgIGFqYXgud2l0aENyZWRlbnRpYWxzID0gdHJ1ZVxuICAgICAgfVxuICAgICAgYWpheC5zZW5kKHBheWxvYWQpXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5BZGFwdGVyKCkge1xuICBjb25zdCBhZGFwdGVyOiBTREtBZGFwdGVySW50ZXJmYWNlID0ge1xuICAgIHJvb3Q6IHdpbmRvdyxcbiAgICByZXFDbGFzczogV2ViUmVxdWVzdCxcbiAgICB3c0NsYXNzOiBXZWJTb2NrZXQsXG4gICAgbG9jYWxTdG9yYWdlLFxuICB9XG4gIHJldHVybiBhZGFwdGVyXG59XG5cbmV4cG9ydCB7IGdlbkFkYXB0ZXIsIFdlYlJlcXVlc3QgfVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/utilities",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "cloudbase javascript sdk utilities",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@cloudbase/adapter-interface": "^0.
|
|
27
|
-
"@cloudbase/types": "^2.
|
|
26
|
+
"@cloudbase/adapter-interface": "^0.7.0",
|
|
27
|
+
"@cloudbase/types": "^2.12.0",
|
|
28
28
|
"jwt-decode": "^3.1.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^22.5.4"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "1f2a798f80bf40e043b59d97325025788ea750f3"
|
|
34
34
|
}
|
|
@@ -112,7 +112,9 @@ class WebRequest extends AbstractSDKRequest {
|
|
|
112
112
|
}
|
|
113
113
|
async fetch(options: IFetchOptions): Promise<ResponseObject> {
|
|
114
114
|
const abortController = new AbortController()
|
|
115
|
-
const { url, enableAbort = false, stream = false, signal } = options
|
|
115
|
+
const { url, enableAbort = false, stream = false, signal, timeout: _timeout } = options
|
|
116
|
+
|
|
117
|
+
const timeout = _timeout ?? this.timeout
|
|
116
118
|
|
|
117
119
|
if (signal) {
|
|
118
120
|
if (signal.aborted) abortController.abort()
|
|
@@ -120,11 +122,11 @@ class WebRequest extends AbstractSDKRequest {
|
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
let timer = null
|
|
123
|
-
if (enableAbort &&
|
|
125
|
+
if (enableAbort && timeout) {
|
|
124
126
|
timer = setTimeout(() => {
|
|
125
127
|
console.warn(this.timeoutMsg)
|
|
126
128
|
abortController.abort(new Error(this.timeoutMsg))
|
|
127
|
-
},
|
|
129
|
+
}, timeout)
|
|
128
130
|
}
|
|
129
131
|
|
|
130
132
|
const res = await fetch(url, {
|