@ethlete/query 0.1.0-next.13 → 0.1.0-next.15
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/esm2020/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2020/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2020/lib/directives/query.directive.mjs +3 -3
- package/esm2020/lib/query/query.mjs +5 -1
- package/esm2020/lib/request/request.util.mjs +4 -4
- package/fesm2015/ethlete-query.mjs +16 -12
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +16 -12
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -39,9 +39,9 @@ export class InfinityQueryTriggerDirective {
|
|
|
39
39
|
this._observer.observe(this._elementRef.nativeElement);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
43
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
42
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -137,9 +137,9 @@ export class InfinityQueryDirective {
|
|
|
137
137
|
this._data$.next([]);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
141
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
140
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
141
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
143
143
|
type: Directive,
|
|
144
144
|
args: [{
|
|
145
145
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -84,9 +84,9 @@ export class QueryDirective {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
88
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
87
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: QueryDirective, decorators: [{
|
|
90
90
|
type: Directive,
|
|
91
91
|
args: [{
|
|
92
92
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -91,6 +91,10 @@ export class Query {
|
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
+
// For form data we need to remove content type header because browser will set it automatically including boundary
|
|
95
|
+
if (headers && 'Content-Type' in headers && headers['Content-Type'] === 'multipart/form-data') {
|
|
96
|
+
delete headers['Content-Type'];
|
|
97
|
+
}
|
|
94
98
|
request({
|
|
95
99
|
route: this._route,
|
|
96
100
|
init: {
|
|
@@ -187,4 +191,4 @@ export class Query {
|
|
|
187
191
|
}
|
|
188
192
|
}
|
|
189
193
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdEMsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFFZCxPQUFPLEVBQ1AsZUFBZSxHQUNoQixNQUFNLFlBQVksQ0FBQztBQWFwQixPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxPQUFPLEtBQUs7SUFjaEIsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sRUFBRSxH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UUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2lCQUN6QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWMsRUFBRSxJQUFvQjtRQUM5RCxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLDRDQUEwQjtnQkFDOUIsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksd0NBQXdCO2dCQUM1QixLQUFLO2dCQUNMLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUM7U0FDYjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUdxbCB9IGZyb20gJy4uL2dxbCc7XG5pbXBvcnQgeyBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lciwgUXVlcnlDbGllbnQsIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlIH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7XG4gIGJ1aWxkQm9keSxcbiAgZ3Vlc3NDb250ZW50VHlwZSxcbiAgaXNBYm9ydFJlcXVlc3RFcnJvcixcbiAgaXNSZXF1ZXN0RXJyb3IsXG4gIE1ldGhvZCBhcyBNZXRob2RUeXBlLFxuICByZXF1ZXN0LFxuICB0cmFuc2Zvcm1NZXRob2QsXG59IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgQmFzZUFyZ3VtZW50cyxcbiAgR3FsUXVlcnlDb25maWcsXG4gIFBvbGxDb25maWcsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVNZXRhLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUmVzdFF1ZXJ5Q29uZmlnLFxuICBSb3V0ZVR5cGUsXG4gIFJ1blF1ZXJ5T3B0aW9ucyxcbiAgV2l0aFVzZVJlc3VsdEluLFxufSBmcm9tICcuL3F1ZXJ5LnR5cGVzJztcbmltcG9ydCB7XG4gIGZpbHRlclN1Y2Nlc3MsXG4gIGlzR3FsUXVlcnlDb25maWcsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG4gIG1lcmdlSGVhZGVycyxcbiAgdGFrZVVudGlsUmVzcG9uc2UsXG59IGZyb20gJy4vcXVlcnkudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnk8XG4gIFJlc3BvbnNlLFxuICBBcmd1bWVudHMgZXh0ZW5kcyAoQmFzZUFyZ3VtZW50cyAmIFdpdGhVc2VSZXN1bHRJbjxSZXNwb25zZSwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4pIHwgdW5kZWZpbmVkLFxuICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICBNZXRob2QgZXh0ZW5kcyBNZXRob2RUeXBlLFxuICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuPiB7XG4gIHByaXZhdGUgX2N1cnJlbnRJZCA9IDA7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgcHJpdmF0ZSBfcG9sbGluZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX29uQWJvcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj47XG5cbiAgcHJpdmF0ZSBnZXQgX25leHRJZCgpIHtcbiAgICByZXR1cm4gKyt0aGlzLl9jdXJyZW50SWQ7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0V4cGlyZWQoKSB7XG4gICAgaWYgKCFpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHMgPSB0aGlzLnN0YXRlLm1ldGEuZXhwaXJlc0F0O1xuXG4gICAgaWYgKCF0cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRzIDwgRGF0ZS5ub3coKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NsaWVudDogUXVlcnlDbGllbnQsXG4gICAgcHJpdmF0ZSBfcXVlcnlDb25maWc6XG4gICAgICB8IFJlc3RRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj5cbiAgICAgIHwgR3FsUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICAgIHByaXZhdGUgX3JvdXRlOiBSb3V0ZSxcbiAgICBwcml2YXRlIF9hcmdzOiBBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gICkge1xuICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlTdGF0ZTxSZXR1cm5UeXBlPFJlc3BvbnNlVHJhbnNmb3JtZXI+LCBSZXNwb25zZT4+KHtcbiAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlByZXBhcmVkLFxuICAgICAgbWV0YTogeyBpZDogdGhpcy5fY3VycmVudElkIH0sXG4gICAgfSk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHRoaXMuX3F1ZXJ5Q29uZmlnKTtcbiAgfVxuXG4gIGV4ZWN1dGU8Q29tcHV0ZWRSZXNwb25zZSBleHRlbmRzIFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4+KG9wdGlvbnM/OiBSdW5RdWVyeU9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuaXNFeHBpcmVkICYmICFvcHRpb25zPy5za2lwQ2FjaGUgJiYgaXNRdWVyeVN0YXRlU3VjY2Vzcyh0aGlzLnN0YXRlKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSAmJiAhdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZXhlY3V0ZSBzZWN1cmUgcXVlcnkgd2l0aG91dCBhdXRoIHByb3ZpZGVyJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSB0aGlzLl9uZXh0SWQ7XG5cbiAgICBpZiAoaXNRdWVyeVN0YXRlTG9hZGluZyh0aGlzLl9zdGF0ZSQudmFsdWUpKSB7XG4gICAgICB0aGlzLmFib3J0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YSA9IHsgaWQgfTtcblxuICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkxvYWRpbmcsXG4gICAgICBtZXRhLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXBkYXRlVXNlUmVzdWx0SW5EZXBlbmRlbmNpZXMoKTtcblxuICAgIGxldCBib2R5OiBzdHJpbmcgfCBGb3JtRGF0YSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBjb250ZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoaXNHcWxRdWVyeUNvbmZpZyh0aGlzLl9xdWVyeUNvbmZpZykpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5VGVtcGxhdGUgPSB0aGlzLl9xdWVyeUNvbmZpZy5xdWVyeTtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdHJhbnNmb3JtR3FsKHF1ZXJ5VGVtcGxhdGUpO1xuXG4gICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICAgIGJvZHkgPSBxdWVyeSh0aGlzLl9hcmdzPy52YXJpYWJsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBib2R5ID0gYnVpbGRCb2R5KHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgICAgY29udGVudFR5cGUgPSBndWVzc0NvbnRlbnRUeXBlKHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgIH1cblxuICAgIGxldCBhdXRoSGVhZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuc2VjdXJlKSB7XG4gICAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXI7XG5cbiAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgYXV0aEhlYWRlciA9IGhlYWRlcjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXI/LmhlYWRlcikge1xuICAgICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSkge1xuICAgICAgICBhdXRoSGVhZGVyID0gdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlci5oZWFkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGhlYWRlcnMgPSBtZXJnZUhlYWRlcnMoYXV0aEhlYWRlciwgdGhpcy5fYXJncz8uaGVhZGVycyk7XG5cbiAgICBpZiAoY29udGVudFR5cGUgJiYgIWhlYWRlcnM/LlsnQ29udGVudC1UeXBlJ10gJiYgIWhlYWRlcnM/LlsnY29udGVudC10eXBlJ10pIHtcbiAgICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gY29udGVudFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoZWFkZXJzID0ge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXF1ZXN0PFJlc3BvbnNlPih7XG4gICAgICByb3V0ZTogdGhpcy5fcm91dGUsXG4gICAgICBpbml0OiB7XG4gICAgICAgIG1ldGhvZDogdHJhbnNmb3JtTWV0aG9kKHRoaXMuX3F1ZXJ5Q29uZmlnLm1ldGhvZCksXG4gICAgICAgIHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgYm9keSxcbiAgICAgICAgaGVhZGVyczogaGVhZGVycyB8fCB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgY2FjaGVBZGFwdGVyOiB0aGlzLl9jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmNhY2hlQWRhcHRlcixcbiAgICB9KVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzUmVzcG9uc2VPYmplY3QgPSB0eXBlb2YgcmVzcG9uc2UgPT09ICdvYmplY3QnO1xuXG4gICAgICAgIGNvbnN0IGlzR3FsID0gaXNHcWxRdWVyeUNvbmZpZyh0aGlzLl9xdWVyeUNvbmZpZyk7XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlRGF0YTogUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzR3FsICYmXG4gICAgICAgICAgaXNSZXNwb25zZU9iamVjdCAmJlxuICAgICAgICAgICEhcmVzcG9uc2UuZGF0YSAmJlxuICAgICAgICAgIHR5cGVvZiByZXNwb25zZS5kYXRhID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICdkYXRhJyBpbiByZXNwb25zZS5kYXRhXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3BvbnNlRGF0YSA9IChyZXNwb25zZS5kYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVsnZGF0YSddIGFzIFJlc3BvbnNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEgYXMgUmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFJlc3BvbnNlID0gdGhpcy5fcXVlcnlDb25maWcucmVzcG9uc2VUcmFuc2Zvcm1lclxuICAgICAgICAgID8gdGhpcy5fcXVlcnlDb25maWcucmVzcG9uc2VUcmFuc2Zvcm1lcihyZXNwb25zZURhdGEpXG4gICAgICAgICAgOiByZXNwb25zZURhdGE7XG5cbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlN1Y2Nlc3MsXG4gICAgICAgICAgcmVzcG9uc2U6IHRyYW5zZm9ybWVkUmVzcG9uc2UgYXMgQ29tcHV0ZWRSZXNwb25zZSxcbiAgICAgICAgICByYXdSZXNwb25zZTogcmVzcG9uc2VEYXRhIGFzIFJlc3BvbnNlLFxuICAgICAgICAgIG1ldGE6IHsgLi4ubWV0YSwgZXhwaXJlc0F0OiByZXNwb25zZS5leHBpcmVzSW5UaW1lc3RhbXAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4gdGhpcy5faGFuZGxlRXhlY3V0ZUVycm9yKGVycm9yLCBtZXRhKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFib3J0KCkge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9vbkFib3J0JC5uZXh0KCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHBvbGwoY29uZmlnOiBQb2xsQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBpbnRlcnZhbChjb25maWcuaW50ZXJ2YWwpXG4gICAgICAucGlwZSh0YWtlVW50aWwoY29uZmlnLnRha2VVbnRpbCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZXhlY3V0ZSh7IHNraXBDYWNoZTogdHJ1ZSB9KSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHN0b3BQb2xsaW5nKCkge1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVVzZVJlc3VsdEluRGVwZW5kZW5jaWVzKCkge1xuICAgIGlmICghdGhpcy5fYXJncz8udXNlUmVzdWx0SW4/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyU3VjY2VzcygpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fb25BYm9ydCQpLFxuICAgICAgICB0YWtlVW50aWxSZXNwb25zZSgpLFxuICAgICAgICB0YXAoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLl9hcmdzPy51c2VSZXN1bHRJbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgcXVlcnkgb2YgdGhpcy5fYXJncy51c2VSZXN1bHRJbikge1xuICAgICAgICAgICAgcXVlcnkuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgbWV0YTogeyAuLi5zdGF0ZS5tZXRhLCBpZDogcXVlcnkuX25leHRJZCB9LFxuICAgICAgICAgICAgICByYXdSZXNwb25zZTogc3RhdGUucmF3UmVzcG9uc2UsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBzdGF0ZS5yZXNwb25zZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVFeGVjdXRlRXJyb3IoZXJyb3I6IHVua25vd24sIG1ldGE6IFF1ZXJ5U3RhdGVNZXRhKSB7XG4gICAgaWYgKGlzQWJvcnRSZXF1ZXN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkNhbmNlbGxlZCxcbiAgICAgICAgbWV0YSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNSZXF1ZXN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkZhaWx1cmUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBtZXRhLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdEMsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFFZCxPQUFPLEVBQ1AsZUFBZSxHQUNoQixNQUFNLFlBQVksQ0FBQztBQWFwQixPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxPQUFPLEtBQUs7SUFjaEIsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sRUFBRSxH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Q2pCLElBQUksd0NBQXdCO29CQUM1QixJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztvQkFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2lCQUN6QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWMsRUFBRSxJQUFvQjtRQUM5RCxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLDRDQUEwQjtnQkFDOUIsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksd0NBQXdCO2dCQUM1QixLQUFLO2dCQUNMLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUM7U0FDYjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUdxbCB9IGZyb20gJy4uL2dxbCc7XG5pbXBvcnQgeyBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lciwgUXVlcnlDbGllbnQsIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlIH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7XG4gIGJ1aWxkQm9keSxcbiAgZ3Vlc3NDb250ZW50VHlwZSxcbiAgaXNBYm9ydFJlcXVlc3RFcnJvcixcbiAgaXNSZXF1ZXN0RXJyb3IsXG4gIE1ldGhvZCBhcyBNZXRob2RUeXBlLFxuICByZXF1ZXN0LFxuICB0cmFuc2Zvcm1NZXRob2QsXG59IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgQmFzZUFyZ3VtZW50cyxcbiAgR3FsUXVlcnlDb25maWcsXG4gIFBvbGxDb25maWcsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVNZXRhLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUmVzdFF1ZXJ5Q29uZmlnLFxuICBSb3V0ZVR5cGUsXG4gIFJ1blF1ZXJ5T3B0aW9ucyxcbiAgV2l0aFVzZVJlc3VsdEluLFxufSBmcm9tICcuL3F1ZXJ5LnR5cGVzJztcbmltcG9ydCB7XG4gIGZpbHRlclN1Y2Nlc3MsXG4gIGlzR3FsUXVlcnlDb25maWcsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG4gIG1lcmdlSGVhZGVycyxcbiAgdGFrZVVudGlsUmVzcG9uc2UsXG59IGZyb20gJy4vcXVlcnkudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnk8XG4gIFJlc3BvbnNlLFxuICBBcmd1bWVudHMgZXh0ZW5kcyAoQmFzZUFyZ3VtZW50cyAmIFdpdGhVc2VSZXN1bHRJbjxSZXNwb25zZSwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4pIHwgdW5kZWZpbmVkLFxuICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICBNZXRob2QgZXh0ZW5kcyBNZXRob2RUeXBlLFxuICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuPiB7XG4gIHByaXZhdGUgX2N1cnJlbnRJZCA9IDA7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgcHJpdmF0ZSBfcG9sbGluZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX29uQWJvcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj47XG5cbiAgcHJpdmF0ZSBnZXQgX25leHRJZCgpIHtcbiAgICByZXR1cm4gKyt0aGlzLl9jdXJyZW50SWQ7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0V4cGlyZWQoKSB7XG4gICAgaWYgKCFpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHMgPSB0aGlzLnN0YXRlLm1ldGEuZXhwaXJlc0F0O1xuXG4gICAgaWYgKCF0cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRzIDwgRGF0ZS5ub3coKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NsaWVudDogUXVlcnlDbGllbnQsXG4gICAgcHJpdmF0ZSBfcXVlcnlDb25maWc6XG4gICAgICB8IFJlc3RRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj5cbiAgICAgIHwgR3FsUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICAgIHByaXZhdGUgX3JvdXRlOiBSb3V0ZSxcbiAgICBwcml2YXRlIF9hcmdzOiBBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gICkge1xuICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlTdGF0ZTxSZXR1cm5UeXBlPFJlc3BvbnNlVHJhbnNmb3JtZXI+LCBSZXNwb25zZT4+KHtcbiAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlByZXBhcmVkLFxuICAgICAgbWV0YTogeyBpZDogdGhpcy5fY3VycmVudElkIH0sXG4gICAgfSk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHRoaXMuX3F1ZXJ5Q29uZmlnKTtcbiAgfVxuXG4gIGV4ZWN1dGU8Q29tcHV0ZWRSZXNwb25zZSBleHRlbmRzIFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4+KG9wdGlvbnM/OiBSdW5RdWVyeU9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuaXNFeHBpcmVkICYmICFvcHRpb25zPy5za2lwQ2FjaGUgJiYgaXNRdWVyeVN0YXRlU3VjY2Vzcyh0aGlzLnN0YXRlKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSAmJiAhdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZXhlY3V0ZSBzZWN1cmUgcXVlcnkgd2l0aG91dCBhdXRoIHByb3ZpZGVyJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSB0aGlzLl9uZXh0SWQ7XG5cbiAgICBpZiAoaXNRdWVyeVN0YXRlTG9hZGluZyh0aGlzLl9zdGF0ZSQudmFsdWUpKSB7XG4gICAgICB0aGlzLmFib3J0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YSA9IHsgaWQgfTtcblxuICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkxvYWRpbmcsXG4gICAgICBtZXRhLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXBkYXRlVXNlUmVzdWx0SW5EZXBlbmRlbmNpZXMoKTtcblxuICAgIGxldCBib2R5OiBzdHJpbmcgfCBGb3JtRGF0YSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBjb250ZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoaXNHcWxRdWVyeUNvbmZpZyh0aGlzLl9xdWVyeUNvbmZpZykpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5VGVtcGxhdGUgPSB0aGlzLl9xdWVyeUNvbmZpZy5xdWVyeTtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdHJhbnNmb3JtR3FsKHF1ZXJ5VGVtcGxhdGUpO1xuXG4gICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICAgIGJvZHkgPSBxdWVyeSh0aGlzLl9hcmdzPy52YXJpYWJsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBib2R5ID0gYnVpbGRCb2R5KHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgICAgY29udGVudFR5cGUgPSBndWVzc0NvbnRlbnRUeXBlKHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgIH1cblxuICAgIGxldCBhdXRoSGVhZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuc2VjdXJlKSB7XG4gICAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXI7XG5cbiAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgYXV0aEhlYWRlciA9IGhlYWRlcjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXI/LmhlYWRlcikge1xuICAgICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSkge1xuICAgICAgICBhdXRoSGVhZGVyID0gdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlci5oZWFkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGhlYWRlcnMgPSBtZXJnZUhlYWRlcnMoYXV0aEhlYWRlciwgdGhpcy5fYXJncz8uaGVhZGVycyk7XG5cbiAgICBpZiAoY29udGVudFR5cGUgJiYgIWhlYWRlcnM/LlsnQ29udGVudC1UeXBlJ10gJiYgIWhlYWRlcnM/LlsnY29udGVudC10eXBlJ10pIHtcbiAgICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gY29udGVudFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoZWFkZXJzID0ge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgZm9ybSBkYXRhIHdlIG5lZWQgdG8gcmVtb3ZlIGNvbnRlbnQgdHlwZSBoZWFkZXIgYmVjYXVzZSBicm93c2VyIHdpbGwgc2V0IGl0IGF1dG9tYXRpY2FsbHkgaW5jbHVkaW5nIGJvdW5kYXJ5XG4gICAgaWYgKGhlYWRlcnMgJiYgJ0NvbnRlbnQtVHlwZScgaW4gaGVhZGVycyAmJiBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9PT0gJ211bHRpcGFydC9mb3JtLWRhdGEnKSB7XG4gICAgICBkZWxldGUgaGVhZGVyc1snQ29udGVudC1UeXBlJ107XG4gICAgfVxuXG4gICAgcmVxdWVzdDxSZXNwb25zZT4oe1xuICAgICAgcm91dGU6IHRoaXMuX3JvdXRlLFxuICAgICAgaW5pdDoge1xuICAgICAgICBtZXRob2Q6IHRyYW5zZm9ybU1ldGhvZCh0aGlzLl9xdWVyeUNvbmZpZy5tZXRob2QpLFxuICAgICAgICBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIGJvZHksXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcnMgfHwgdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIGNhY2hlQWRhcHRlcjogdGhpcy5fY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5jYWNoZUFkYXB0ZXIsXG4gICAgfSlcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCBpc1Jlc3BvbnNlT2JqZWN0ID0gdHlwZW9mIHJlc3BvbnNlID09PSAnb2JqZWN0JztcblxuICAgICAgICBjb25zdCBpc0dxbCA9IGlzR3FsUXVlcnlDb25maWcodGhpcy5fcXVlcnlDb25maWcpO1xuXG4gICAgICAgIGxldCByZXNwb25zZURhdGE6IFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0dxbCAmJlxuICAgICAgICAgIGlzUmVzcG9uc2VPYmplY3QgJiZcbiAgICAgICAgICAhIXJlc3BvbnNlLmRhdGEgJiZcbiAgICAgICAgICB0eXBlb2YgcmVzcG9uc2UuZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAnZGF0YScgaW4gcmVzcG9uc2UuZGF0YVxuICAgICAgICApIHtcbiAgICAgICAgICByZXNwb25zZURhdGEgPSAocmVzcG9uc2UuZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbJ2RhdGEnXSBhcyBSZXNwb25zZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZURhdGEgPSByZXNwb25zZS5kYXRhIGFzIFJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRSZXNwb25zZSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHJhbnNmb3JtZXJcbiAgICAgICAgICA/IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHJhbnNmb3JtZXIocmVzcG9uc2VEYXRhKVxuICAgICAgICAgIDogcmVzcG9uc2VEYXRhO1xuXG4gICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5TdWNjZXNzLFxuICAgICAgICAgIHJlc3BvbnNlOiB0cmFuc2Zvcm1lZFJlc3BvbnNlIGFzIENvbXB1dGVkUmVzcG9uc2UsXG4gICAgICAgICAgcmF3UmVzcG9uc2U6IHJlc3BvbnNlRGF0YSBhcyBSZXNwb25zZSxcbiAgICAgICAgICBtZXRhOiB7IC4uLm1ldGEsIGV4cGlyZXNBdDogcmVzcG9uc2UuZXhwaXJlc0luVGltZXN0YW1wIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHRoaXMuX2hhbmRsZUV4ZWN1dGVFcnJvcihlcnJvciwgbWV0YSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhYm9ydCgpIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fb25BYm9ydCQubmV4dCgpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwb2xsKGNvbmZpZzogUG9sbENvbmZpZykge1xuICAgIGlmICh0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoY29uZmlnLmludGVydmFsKVxuICAgICAgLnBpcGUodGFrZVVudGlsKGNvbmZpZy50YWtlVW50aWwpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUgfSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdG9wUG9sbGluZygpIHtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVVc2VSZXN1bHRJbkRlcGVuZGVuY2llcygpIHtcbiAgICBpZiAoIXRoaXMuX2FyZ3M/LnVzZVJlc3VsdEluPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlclN1Y2Nlc3MoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uQWJvcnQkKSxcbiAgICAgICAgdGFrZVVudGlsUmVzcG9uc2UoKSxcbiAgICAgICAgdGFwKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5fYXJncz8udXNlUmVzdWx0SW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHF1ZXJ5IG9mIHRoaXMuX2FyZ3MudXNlUmVzdWx0SW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5Ll9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgIG1ldGE6IHsgLi4uc3RhdGUubWV0YSwgaWQ6IHF1ZXJ5Ll9uZXh0SWQgfSxcbiAgICAgICAgICAgICAgcmF3UmVzcG9uc2U6IHN0YXRlLnJhd1Jlc3BvbnNlLFxuICAgICAgICAgICAgICByZXNwb25zZTogc3RhdGUucmVzcG9uc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlRXhlY3V0ZUVycm9yKGVycm9yOiB1bmtub3duLCBtZXRhOiBRdWVyeVN0YXRlTWV0YSkge1xuICAgIGlmIChpc0Fib3J0UmVxdWVzdEVycm9yKGVycm9yKSkge1xuICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5DYW5jZWxsZWQsXG4gICAgICAgIG1ldGEsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGlzUmVxdWVzdEVycm9yKGVycm9yKSkge1xuICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5GYWlsdXJlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbWV0YSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -192,12 +192,12 @@ export const buildBody = (body) => {
|
|
|
192
192
|
if (typeof body === 'string') {
|
|
193
193
|
return body;
|
|
194
194
|
}
|
|
195
|
-
if (typeof body === 'object') {
|
|
196
|
-
return JSON.stringify(body);
|
|
197
|
-
}
|
|
198
195
|
if (body instanceof FormData) {
|
|
199
196
|
return body;
|
|
200
197
|
}
|
|
198
|
+
if (typeof body === 'object') {
|
|
199
|
+
return JSON.stringify(body);
|
|
200
|
+
}
|
|
201
201
|
throw invalidBodyError(body);
|
|
202
202
|
};
|
|
203
203
|
export const transformMethod = (method) => {
|
|
@@ -221,4 +221,4 @@ export const guessContentType = (body) => {
|
|
|
221
221
|
}
|
|
222
222
|
return null;
|
|
223
223
|
};
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3JlcXVlc3QvcmVxdWVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQ0FBcUMsR0FDdEMsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQ3RFLEtBQUssWUFBWSxNQUFNLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQzNFLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BSzFCLEVBQUUsRUFBRTtJQUNILElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0wsS0FBSyxHQUFH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SUFBSSxZQUFZLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUNoRCxJQUFJLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxLQUFLLFlBQVksRUFBRTtRQUNyRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsRUFBRTtJQUNoRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxZQUFZLENBQUM7S0FDckI7SUFFRCxJQUFJLElBQUksWUFBWSxRQUFRLEVBQUU7UUFDNUIsT0FBTyxxQkFBcUIsQ0FBQztLQUM5QjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sa0JBQWtCLENBQUM7S0FDM0I7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGludmFsaWRCYXNlUm91dGVFcnJvcixcbiAgaW52YWxpZEJvZHlFcnJvcixcbiAgaW52YWxpZFJvdXRlRXJyb3IsXG4gIHBhdGhQYXJhbXNNaXNzaW5nSW5Sb3V0ZUZ1bmN0aW9uRXJyb3IsXG59IGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBNZXRob2QsIFBhcmFtQXJyYXksIFBhcmFtcywgUXVlcnlQYXJhbXMsIFJlcXVlc3RFcnJvciwgVW5maWx0ZXJlZFBhcmFtUHJpbWl0aXZlIH0gZnJvbSAnLi9yZXF1ZXN0LnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGlzUmVxdWVzdEVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgUmVxdWVzdEVycm9yID0+XG4gIGVycm9yIGluc3RhbmNlb2YgT2JqZWN0ICYmICdjb2RlJyBpbiBlcnJvciAmJiAnbWVzc2FnZScgaW4gZXJyb3I7XG5cbmV4cG9ydCBjb25zdCBpc0Fib3J0UmVxdWVzdEVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgUmVxdWVzdEVycm9yID0+XG4gIGlzUmVxdWVzdEVycm9yKGVycm9yKSAmJiBlcnJvci5jb2RlID09PSAtMTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUm91dGUgPSAob3B0aW9uczoge1xuICBiYXNlOiBzdHJpbmc7XG4gIHJvdXRlOiAoKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBzdHJpbmcpIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcGF0aFBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBxdWVyeVBhcmFtcz86IFF1ZXJ5UGFyYW1zO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5iYXNlLmVuZHNXaXRoKCcvJykpIHtcbiAgICB0aHJvdyBpbnZhbGlkQmFzZVJvdXRlRXJyb3Iob3B0aW9ucy5iYXNlKTtcbiAgfVxuXG4gIGxldCByb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLnJvdXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhdGhQYXJhbXMpIHtcbiAgICAgIHRocm93IHBhdGhQYXJhbXNNaXNzaW5nSW5Sb3V0ZUZ1bmN0aW9uRXJyb3Iob3B0aW9ucy5yb3V0ZSh7fSkpO1xuICAgIH1cblxuICAgIHJvdXRlID0gb3B0aW9ucy5yb3V0ZShvcHRpb25zLnBhdGhQYXJhbXMpO1xuICB9IGVsc2Uge1xuICAgIHJvdXRlID0gb3B0aW9ucy5yb3V0ZSA/PyBudWxsO1xuICB9XG5cbiAgaWYgKHJvdXRlICYmICFyb3V0ZS5zdGFydHNXaXRoKCcvJykpIHtcbiAgICB0aHJvdyBpbnZhbGlkUm91dGVFcnJvcihyb3V0ZSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5xdWVyeVBhcmFtcykge1xuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYnVpbGRRdWVyeVN0cmluZyhvcHRpb25zLnF1ZXJ5UGFyYW1zKTtcblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgcm91dGUgPSByb3V0ZSA/IGAke3JvdXRlfT8ke3F1ZXJ5U3RyaW5nfWAgOiBgLz8ke3F1ZXJ5U3RyaW5nfWA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGAke29wdGlvbnMuYmFzZX0ke3JvdXRlID8/ICcnfWA7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRRdWVyeVN0cmluZyA9IChwYXJhbXM6IFF1ZXJ5UGFyYW1zKSA9PiB7XG4gIGNvbnN0IHZhbGlkUGFyYW1zID0gZmlsdGVySW52YWxpZFBhcmFtcyhwYXJhbXMpO1xuXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gT2JqZWN0LmtleXModmFsaWRQYXJhbXMpXG4gICAgLm1hcCgoa2V5KSA9PlxuICAgICAgQXJyYXkuaXNBcnJheSh2YWxpZFBhcmFtc1trZXldKVxuICAgICAgICA/IGJ1aWxkUXVlcnlBcnJheVN0cmluZyhrZXksIHZhbGlkUGFyYW1zW2tleV0gYXMgUGFyYW1BcnJheSlcbiAgICAgICAgOiBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbGlkUGFyYW1zW2tleV0gYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YCxcbiAgICApXG4gICAgLmpvaW4oJyYnKTtcblxuICByZXR1cm4gcXVlcnlTdHJpbmcgfHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFF1ZXJ5QXJyYXlTdHJpbmcgPSAoa2V5OiBzdHJpbmcsIGFycmF5OiBQYXJhbUFycmF5KSA9PiB7XG4gIGNvbnN0IHVyaUJyYWNrZXRzID0gZW5jb2RlVVJJQ29tcG9uZW50KCdbXScpO1xuXG4gIHJldHVybiBhcnJheVxuICAgIC5zbGljZSgpXG4gICAgLm1hcCgoaXRlbSkgPT4gYCR7a2V5fSR7dXJpQnJhY2tldHN9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0gYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YClcbiAgICAuam9pbignJicpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRmV0Y2hSZXNwb25zZSA9IChyZXNwb25zZTogdW5rbm93bik6IHJlc3BvbnNlIGlzIFJlc3BvbnNlID0+XG4gIHR5cGVvZiByZXNwb25zZSA9PT0gJ29iamVjdCcgJiZcbiAgcmVzcG9uc2UgIT09IG51bGwgJiZcbiAgJ3N0YXR1cycgaW4gcmVzcG9uc2UgJiZcbiAgJ3N0YXR1c1RleHQnIGluIHJlc3BvbnNlICYmXG4gICdqc29uJyBpbiByZXNwb25zZSAmJlxuICB0eXBlb2YgKHJlc3BvbnNlIGFzIFJlc3BvbnNlKVsnanNvbiddID09PSAnZnVuY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgZmlsdGVySW52YWxpZFBhcmFtcyA9IChwYXJhbXM6IFF1ZXJ5UGFyYW1zKSA9PiB7XG4gIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBQYXJhbXMgPSBPYmplY3QuZW50cmllcyhwYXJhbXMpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBba2V5LCB2YWx1ZV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBba2V5LCB2YWx1ZS5maWx0ZXIoKHYpID0+IGlzUGFyYW1WYWxpZCh2KSldO1xuICAgIH0pXG4gICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiBpc1BhcmFtVmFsaWQodmFsdWUgYXMgVW5maWx0ZXJlZFBhcmFtUHJpbWl0aXZlKSlcbiAgICAucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4uYWNjLCBba2V5IGFzIHN0cmluZ106IHZhbHVlIH0pLCB7fSk7XG5cbiAgcmV0dXJuIGZpbHRlcmVkUGFyYW1zO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGFyYW1WYWxpZCA9IChwcmltaXRpdmU6IFVuZmlsdGVyZWRQYXJhbVByaW1pdGl2ZSkgPT4ge1xuICBpZiAocHJpbWl0aXZlID09PSB1bmRlZmluZWQgfHwgcHJpbWl0aXZlID09PSBudWxsIHx8IHByaW1pdGl2ZSA9PT0gJycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1pdGl2ZSA9PT0gJ3N0cmluZycgJiYgcHJpbWl0aXZlLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1pdGl2ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4ocHJpbWl0aXZlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzID0gKGhlYWRlcnM6IEhlYWRlcnMpID0+IHtcbiAgY29uc3QgY2FjaGVDb250cm9sID0gaGVhZGVycy5nZXQoJ2NhY2hlLWNvbnRyb2wnKTtcbiAgY29uc3QgYWdlID0gaGVhZGVycy5nZXQoJ2FnZScpO1xuICBjb25zdCBleHBpcmVzID0gaGVhZGVycy5nZXQoJ2V4cGlyZXMnKTtcblxuICAvLyBJbiBzZWNvbmRzXG4gIGxldCBleHBpcmVzSW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4QWdlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBpZiAoY2FjaGVDb250cm9sPy5pbmNsdWRlcygnbm8tY2FjaGUnKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNhY2hlQ29udHJvbD8uaW5jbHVkZXMoJ21heC1hZ2UnKSkge1xuICAgIG1heEFnZSA9IHBhcnNlSW50KGNhY2hlQ29udHJvbC5zcGxpdCgnbWF4LWFnZT0nKVsxXSk7XG4gIH0gZWxzZSBpZiAoY2FjaGVDb250cm9sPy5pbmNsdWRlcygncy1tYXhhZ2UnKSkge1xuICAgIG1heEFnZSA9IHBhcnNlSW50KGNhY2hlQ29udHJvbC5zcGxpdCgncy1tYXhhZ2U9JylbMV0pO1xuICB9XG5cbiAgaWYgKG1heEFnZSAmJiBhZ2UpIHtcbiAgICBjb25zdCBhZ2VTZWNvbmRzID0gcGFyc2VJbnQoYWdlKTtcblxuICAgIGV4cGlyZXNJbiA9IG1heEFnZSAtIGFnZVNlY29uZHM7XG4gIH0gZWxzZSBpZiAoZXhwaXJlcykge1xuICAgIC8vIFVzZWQgYnkgc29tZSBhcGlzIHRvIHRlbGwgdGhlIHJlc3BvbnNlIHdpbGwgbmV2ZXIgZXhwaXJlXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGxldCB0aGUgcmVzcG9uc2UgZXhwaXJlIGFmdGVyIDEgaG91clxuICAgIGlmIChleHBpcmVzID09PSAnLTEnKSB7XG4gICAgICBleHBpcmVzSW4gPSAzNjAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleHBpcmVzRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xuXG4gICAgICAvLyBjaGVjayBpZiB0aGUgZGF0ZSBpcyB2YWxpZFxuICAgICAgaWYgKGV4cGlyZXNEYXRlLnRvU3RyaW5nKCkgIT09ICdJbnZhbGlkIERhdGUnKSB7XG4gICAgICAgIGV4cGlyZXNJbiA9IE1hdGguZmxvb3IoKGV4cGlyZXNEYXRlLmdldFRpbWUoKSAtIERhdGUubm93KCkpIC8gMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cGlyZXNJbjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzID0gKHNlY29uZHM6IG51bWJlciB8IG51bGwpID0+IHtcbiAgaWYgKHNlY29uZHMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc2Vjb25kcyAqIDEwMDApLmdldFRpbWUoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFJlcXVlc3RFcnJvciA9IGFzeW5jIDxFcnJvclJlc3BvbnNlID0gdW5rbm93bj4oXG4gIGVycm9yOiB1bmtub3duLFxuICByb3V0ZTogc3RyaW5nLFxuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0LFxuKSA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnJvci5jb2RlID09PSBlcnJvci5BQk9SVF9FUlIpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0xLFxuICAgICAgbWVzc2FnZTogJ1JlcXVlc3QgYWJvcnRlZCcsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7XG4gICAgY29uc3QgZXJyOiBSZXF1ZXN0RXJyb3I8bnVsbD4gPSB7XG4gICAgICBjb2RlOiAtMyxcbiAgICAgIG1lc3NhZ2U6ICdTeW50YXggZXJyb3InLFxuICAgICAgZGV0YWlsOiBudWxsLFxuICAgICAgcmF3OiBlcnJvcixcbiAgICAgIHJvdXRlLFxuICAgICAgcmVxdWVzdEluaXQsXG4gICAgfTtcblxuICAgIHJldHVybiBlcnI7XG4gIH1cblxuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPG51bGw+ID0ge1xuICAgICAgY29kZTogLTIsXG4gICAgICBtZXNzYWdlOiBgJHtlcnJvci5uYW1lfTogJHtlcnJvci5tZXNzYWdlfWAsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChpc0ZldGNoUmVzcG9uc2UoZXJyb3IpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBsZXQgZGV0YWlsOiBhbnkgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIGRldGFpbCA9IGF3YWl0IGVycm9yLmpzb24oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIG5vb3BcbiAgICB9XG5cbiAgICBpZiAoIWRldGFpbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZGV0YWlsID0gYXdhaXQgZXJyb3IudGV4dCgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIG5vb3BcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxFcnJvclJlc3BvbnNlPiA9IHtcbiAgICAgIGNvZGU6IGVycm9yLnN0YXR1cyxcbiAgICAgIG1lc3NhZ2U6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICBkZXRhaWwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPG51bGw+ID0ge1xuICAgIGNvZGU6IDAsXG4gICAgbWVzc2FnZTogJ1Vua25vd24gZXJyb3InLFxuICAgIGRldGFpbDogbnVsbCxcbiAgICByYXc6IGVycm9yLFxuICAgIHJvdXRlLFxuICAgIHJlcXVlc3RJbml0LFxuICB9O1xuXG4gIHJldHVybiBlcnI7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRCb2R5ID0gKGJvZHk6IHVua25vd24pID0+IHtcbiAgaWYgKGJvZHkgPT09IHVuZGVmaW5lZCB8fCBib2R5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICB9XG5cbiAgaWYgKGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgIHJldHVybiBib2R5O1xuICB9XG5cbiAgdGhyb3cgaW52YWxpZEJvZHlFcnJvcihib2R5KTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZXRob2QgPSAobWV0aG9kOiBNZXRob2QpID0+IHtcbiAgaWYgKG1ldGhvZCA9PT0gJ0dRTF9RVUVSWScgfHwgbWV0aG9kID09PSAnR1FMX01VVEFURScpIHtcbiAgICByZXR1cm4gJ1BPU1QnO1xuICB9XG5cbiAgcmV0dXJuIG1ldGhvZDtcbn07XG5cbmV4cG9ydCBjb25zdCBndWVzc0NvbnRlbnRUeXBlID0gKGJvZHk6IHVua25vd24pID0+IHtcbiAgaWYgKGJvZHkgPT09IG51bGwgfHwgYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICd0ZXh0L3BsYWluJztcbiAgfVxuXG4gIGlmIChib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICByZXR1cm4gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBib2R5ID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiAnYXBwbGljYXRpb24vanNvbic7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3JlcXVlc3QvcmVxdWVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQ0FBcUMsR0FDdEMsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQ3RFLEtBQUssWUFBWSxNQUFNLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQzNFLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BSzFCLEVBQUUsRUFBRTtJQUNILElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0wsS0FBSyxHQUFH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T0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzdCO0lBRUQsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUNoRCxJQUFJLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxLQUFLLFlBQVksRUFBRTtRQUNyRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFhLEVBQUUsRUFBRTtJQUNoRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxZQUFZLENBQUM7S0FDckI7SUFFRCxJQUFJLElBQUksWUFBWSxRQUFRLEVBQUU7UUFDNUIsT0FBTyxxQkFBcUIsQ0FBQztLQUM5QjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sa0JBQWtCLENBQUM7S0FDM0I7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGludmFsaWRCYXNlUm91dGVFcnJvcixcbiAgaW52YWxpZEJvZHlFcnJvcixcbiAgaW52YWxpZFJvdXRlRXJyb3IsXG4gIHBhdGhQYXJhbXNNaXNzaW5nSW5Sb3V0ZUZ1bmN0aW9uRXJyb3IsXG59IGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBNZXRob2QsIFBhcmFtQXJyYXksIFBhcmFtcywgUXVlcnlQYXJhbXMsIFJlcXVlc3RFcnJvciwgVW5maWx0ZXJlZFBhcmFtUHJpbWl0aXZlIH0gZnJvbSAnLi9yZXF1ZXN0LnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGlzUmVxdWVzdEVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgUmVxdWVzdEVycm9yID0+XG4gIGVycm9yIGluc3RhbmNlb2YgT2JqZWN0ICYmICdjb2RlJyBpbiBlcnJvciAmJiAnbWVzc2FnZScgaW4gZXJyb3I7XG5cbmV4cG9ydCBjb25zdCBpc0Fib3J0UmVxdWVzdEVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgUmVxdWVzdEVycm9yID0+XG4gIGlzUmVxdWVzdEVycm9yKGVycm9yKSAmJiBlcnJvci5jb2RlID09PSAtMTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUm91dGUgPSAob3B0aW9uczoge1xuICBiYXNlOiBzdHJpbmc7XG4gIHJvdXRlOiAoKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBzdHJpbmcpIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcGF0aFBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBxdWVyeVBhcmFtcz86IFF1ZXJ5UGFyYW1zO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5iYXNlLmVuZHNXaXRoKCcvJykpIHtcbiAgICB0aHJvdyBpbnZhbGlkQmFzZVJvdXRlRXJyb3Iob3B0aW9ucy5iYXNlKTtcbiAgfVxuXG4gIGxldCByb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLnJvdXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhdGhQYXJhbXMpIHtcbiAgICAgIHRocm93IHBhdGhQYXJhbXNNaXNzaW5nSW5Sb3V0ZUZ1bmN0aW9uRXJyb3Iob3B0aW9ucy5yb3V0ZSh7fSkpO1xuICAgIH1cblxuICAgIHJvdXRlID0gb3B0aW9ucy5yb3V0ZShvcHRpb25zLnBhdGhQYXJhbXMpO1xuICB9IGVsc2Uge1xuICAgIHJvdXRlID0gb3B0aW9ucy5yb3V0ZSA/PyBudWxsO1xuICB9XG5cbiAgaWYgKHJvdXRlICYmICFyb3V0ZS5zdGFydHNXaXRoKCcvJykpIHtcbiAgICB0aHJvdyBpbnZhbGlkUm91dGVFcnJvcihyb3V0ZSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5xdWVyeVBhcmFtcykge1xuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYnVpbGRRdWVyeVN0cmluZyhvcHRpb25zLnF1ZXJ5UGFyYW1zKTtcblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgcm91dGUgPSByb3V0ZSA/IGAke3JvdXRlfT8ke3F1ZXJ5U3RyaW5nfWAgOiBgLz8ke3F1ZXJ5U3RyaW5nfWA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGAke29wdGlvbnMuYmFzZX0ke3JvdXRlID8/ICcnfWA7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRRdWVyeVN0cmluZyA9IChwYXJhbXM6IFF1ZXJ5UGFyYW1zKSA9PiB7XG4gIGNvbnN0IHZhbGlkUGFyYW1zID0gZmlsdGVySW52YWxpZFBhcmFtcyhwYXJhbXMpO1xuXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gT2JqZWN0LmtleXModmFsaWRQYXJhbXMpXG4gICAgLm1hcCgoa2V5KSA9PlxuICAgICAgQXJyYXkuaXNBcnJheSh2YWxpZFBhcmFtc1trZXldKVxuICAgICAgICA/IGJ1aWxkUXVlcnlBcnJheVN0cmluZyhrZXksIHZhbGlkUGFyYW1zW2tleV0gYXMgUGFyYW1BcnJheSlcbiAgICAgICAgOiBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbGlkUGFyYW1zW2tleV0gYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YCxcbiAgICApXG4gICAgLmpvaW4oJyYnKTtcblxuICByZXR1cm4gcXVlcnlTdHJpbmcgfHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFF1ZXJ5QXJyYXlTdHJpbmcgPSAoa2V5OiBzdHJpbmcsIGFycmF5OiBQYXJhbUFycmF5KSA9PiB7XG4gIGNvbnN0IHVyaUJyYWNrZXRzID0gZW5jb2RlVVJJQ29tcG9uZW50KCdbXScpO1xuXG4gIHJldHVybiBhcnJheVxuICAgIC5zbGljZSgpXG4gICAgLm1hcCgoaXRlbSkgPT4gYCR7a2V5fSR7dXJpQnJhY2tldHN9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0gYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YClcbiAgICAuam9pbignJicpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRmV0Y2hSZXNwb25zZSA9IChyZXNwb25zZTogdW5rbm93bik6IHJlc3BvbnNlIGlzIFJlc3BvbnNlID0+XG4gIHR5cGVvZiByZXNwb25zZSA9PT0gJ29iamVjdCcgJiZcbiAgcmVzcG9uc2UgIT09IG51bGwgJiZcbiAgJ3N0YXR1cycgaW4gcmVzcG9uc2UgJiZcbiAgJ3N0YXR1c1RleHQnIGluIHJlc3BvbnNlICYmXG4gICdqc29uJyBpbiByZXNwb25zZSAmJlxuICB0eXBlb2YgKHJlc3BvbnNlIGFzIFJlc3BvbnNlKVsnanNvbiddID09PSAnZnVuY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgZmlsdGVySW52YWxpZFBhcmFtcyA9IChwYXJhbXM6IFF1ZXJ5UGFyYW1zKSA9PiB7XG4gIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBQYXJhbXMgPSBPYmplY3QuZW50cmllcyhwYXJhbXMpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBba2V5LCB2YWx1ZV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBba2V5LCB2YWx1ZS5maWx0ZXIoKHYpID0+IGlzUGFyYW1WYWxpZCh2KSldO1xuICAgIH0pXG4gICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiBpc1BhcmFtVmFsaWQodmFsdWUgYXMgVW5maWx0ZXJlZFBhcmFtUHJpbWl0aXZlKSlcbiAgICAucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4uYWNjLCBba2V5IGFzIHN0cmluZ106IHZhbHVlIH0pLCB7fSk7XG5cbiAgcmV0dXJuIGZpbHRlcmVkUGFyYW1zO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGFyYW1WYWxpZCA9IChwcmltaXRpdmU6IFVuZmlsdGVyZWRQYXJhbVByaW1pdGl2ZSkgPT4ge1xuICBpZiAocHJpbWl0aXZlID09PSB1bmRlZmluZWQgfHwgcHJpbWl0aXZlID09PSBudWxsIHx8IHByaW1pdGl2ZSA9PT0gJycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1pdGl2ZSA9PT0gJ3N0cmluZycgJiYgcHJpbWl0aXZlLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1pdGl2ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4ocHJpbWl0aXZlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzID0gKGhlYWRlcnM6IEhlYWRlcnMpID0+IHtcbiAgY29uc3QgY2FjaGVDb250cm9sID0gaGVhZGVycy5nZXQoJ2NhY2hlLWNvbnRyb2wnKTtcbiAgY29uc3QgYWdlID0gaGVhZGVycy5nZXQoJ2FnZScpO1xuICBjb25zdCBleHBpcmVzID0gaGVhZGVycy5nZXQoJ2V4cGlyZXMnKTtcblxuICAvLyBJbiBzZWNvbmRzXG4gIGxldCBleHBpcmVzSW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4QWdlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBpZiAoY2FjaGVDb250cm9sPy5pbmNsdWRlcygnbm8tY2FjaGUnKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNhY2hlQ29udHJvbD8uaW5jbHVkZXMoJ21heC1hZ2UnKSkge1xuICAgIG1heEFnZSA9IHBhcnNlSW50KGNhY2hlQ29udHJvbC5zcGxpdCgnbWF4LWFnZT0nKVsxXSk7XG4gIH0gZWxzZSBpZiAoY2FjaGVDb250cm9sPy5pbmNsdWRlcygncy1tYXhhZ2UnKSkge1xuICAgIG1heEFnZSA9IHBhcnNlSW50KGNhY2hlQ29udHJvbC5zcGxpdCgncy1tYXhhZ2U9JylbMV0pO1xuICB9XG5cbiAgaWYgKG1heEFnZSAmJiBhZ2UpIHtcbiAgICBjb25zdCBhZ2VTZWNvbmRzID0gcGFyc2VJbnQoYWdlKTtcblxuICAgIGV4cGlyZXNJbiA9IG1heEFnZSAtIGFnZVNlY29uZHM7XG4gIH0gZWxzZSBpZiAoZXhwaXJlcykge1xuICAgIC8vIFVzZWQgYnkgc29tZSBhcGlzIHRvIHRlbGwgdGhlIHJlc3BvbnNlIHdpbGwgbmV2ZXIgZXhwaXJlXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGxldCB0aGUgcmVzcG9uc2UgZXhwaXJlIGFmdGVyIDEgaG91clxuICAgIGlmIChleHBpcmVzID09PSAnLTEnKSB7XG4gICAgICBleHBpcmVzSW4gPSAzNjAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleHBpcmVzRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xuXG4gICAgICAvLyBjaGVjayBpZiB0aGUgZGF0ZSBpcyB2YWxpZFxuICAgICAgaWYgKGV4cGlyZXNEYXRlLnRvU3RyaW5nKCkgIT09ICdJbnZhbGlkIERhdGUnKSB7XG4gICAgICAgIGV4cGlyZXNJbiA9IE1hdGguZmxvb3IoKGV4cGlyZXNEYXRlLmdldFRpbWUoKSAtIERhdGUubm93KCkpIC8gMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cGlyZXNJbjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzID0gKHNlY29uZHM6IG51bWJlciB8IG51bGwpID0+IHtcbiAgaWYgKHNlY29uZHMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc2Vjb25kcyAqIDEwMDApLmdldFRpbWUoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFJlcXVlc3RFcnJvciA9IGFzeW5jIDxFcnJvclJlc3BvbnNlID0gdW5rbm93bj4oXG4gIGVycm9yOiB1bmtub3duLFxuICByb3V0ZTogc3RyaW5nLFxuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0LFxuKSA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnJvci5jb2RlID09PSBlcnJvci5BQk9SVF9FUlIpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0xLFxuICAgICAgbWVzc2FnZTogJ1JlcXVlc3QgYWJvcnRlZCcsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7XG4gICAgY29uc3QgZXJyOiBSZXF1ZXN0RXJyb3I8bnVsbD4gPSB7XG4gICAgICBjb2RlOiAtMyxcbiAgICAgIG1lc3NhZ2U6ICdTeW50YXggZXJyb3InLFxuICAgICAgZGV0YWlsOiBudWxsLFxuICAgICAgcmF3OiBlcnJvcixcbiAgICAgIHJvdXRlLFxuICAgICAgcmVxdWVzdEluaXQsXG4gICAgfTtcblxuICAgIHJldHVybiBlcnI7XG4gIH1cblxuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPG51bGw+ID0ge1xuICAgICAgY29kZTogLTIsXG4gICAgICBtZXNzYWdlOiBgJHtlcnJvci5uYW1lfTogJHtlcnJvci5tZXNzYWdlfWAsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChpc0ZldGNoUmVzcG9uc2UoZXJyb3IpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBsZXQgZGV0YWlsOiBhbnkgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIGRldGFpbCA9IGF3YWl0IGVycm9yLmpzb24oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIG5vb3BcbiAgICB9XG5cbiAgICBpZiAoIWRldGFpbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZGV0YWlsID0gYXdhaXQgZXJyb3IudGV4dCgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIG5vb3BcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxFcnJvclJlc3BvbnNlPiA9IHtcbiAgICAgIGNvZGU6IGVycm9yLnN0YXR1cyxcbiAgICAgIG1lc3NhZ2U6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICBkZXRhaWwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPG51bGw+ID0ge1xuICAgIGNvZGU6IDAsXG4gICAgbWVzc2FnZTogJ1Vua25vd24gZXJyb3InLFxuICAgIGRldGFpbDogbnVsbCxcbiAgICByYXc6IGVycm9yLFxuICAgIHJvdXRlLFxuICAgIHJlcXVlc3RJbml0LFxuICB9O1xuXG4gIHJldHVybiBlcnI7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRCb2R5ID0gKGJvZHk6IHVua25vd24pID0+IHtcbiAgaWYgKGJvZHkgPT09IHVuZGVmaW5lZCB8fCBib2R5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICBpZiAoYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICB9XG5cbiAgdGhyb3cgaW52YWxpZEJvZHlFcnJvcihib2R5KTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZXRob2QgPSAobWV0aG9kOiBNZXRob2QpID0+IHtcbiAgaWYgKG1ldGhvZCA9PT0gJ0dRTF9RVUVSWScgfHwgbWV0aG9kID09PSAnR1FMX01VVEFURScpIHtcbiAgICByZXR1cm4gJ1BPU1QnO1xuICB9XG5cbiAgcmV0dXJuIG1ldGhvZDtcbn07XG5cbmV4cG9ydCBjb25zdCBndWVzc0NvbnRlbnRUeXBlID0gKGJvZHk6IHVua25vd24pID0+IHtcbiAgaWYgKGJvZHkgPT09IG51bGwgfHwgYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICd0ZXh0L3BsYWluJztcbiAgfVxuXG4gIGlmIChib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICByZXR1cm4gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBib2R5ID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiAnYXBwbGljYXRpb24vanNvbic7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|
|
@@ -245,12 +245,12 @@ const buildBody = (body) => {
|
|
|
245
245
|
if (typeof body === 'string') {
|
|
246
246
|
return body;
|
|
247
247
|
}
|
|
248
|
-
if (typeof body === 'object') {
|
|
249
|
-
return JSON.stringify(body);
|
|
250
|
-
}
|
|
251
248
|
if (body instanceof FormData) {
|
|
252
249
|
return body;
|
|
253
250
|
}
|
|
251
|
+
if (typeof body === 'object') {
|
|
252
|
+
return JSON.stringify(body);
|
|
253
|
+
}
|
|
254
254
|
throw invalidBodyError(body);
|
|
255
255
|
};
|
|
256
256
|
const transformMethod = (method) => {
|
|
@@ -593,6 +593,10 @@ class Query {
|
|
|
593
593
|
};
|
|
594
594
|
}
|
|
595
595
|
}
|
|
596
|
+
// For form data we need to remove content type header because browser will set it automatically including boundary
|
|
597
|
+
if (headers && 'Content-Type' in headers && headers['Content-Type'] === 'multipart/form-data') {
|
|
598
|
+
delete headers['Content-Type'];
|
|
599
|
+
}
|
|
596
600
|
request({
|
|
597
601
|
route: this._route,
|
|
598
602
|
init: {
|
|
@@ -777,9 +781,9 @@ class QueryDirective {
|
|
|
777
781
|
}
|
|
778
782
|
}
|
|
779
783
|
}
|
|
780
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
781
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
784
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
785
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: QueryDirective, decorators: [{
|
|
783
787
|
type: Directive,
|
|
784
788
|
args: [{
|
|
785
789
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1075,9 +1079,9 @@ class InfinityQueryDirective {
|
|
|
1075
1079
|
this._data$.next([]);
|
|
1076
1080
|
}
|
|
1077
1081
|
}
|
|
1078
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
1079
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
1080
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
1082
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1083
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
1084
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
1081
1085
|
type: Directive,
|
|
1082
1086
|
args: [{
|
|
1083
1087
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1128,9 +1132,9 @@ class InfinityQueryTriggerDirective {
|
|
|
1128
1132
|
this._observer.observe(this._elementRef.nativeElement);
|
|
1129
1133
|
}
|
|
1130
1134
|
}
|
|
1131
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
1132
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
1133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
1135
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1136
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
1137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
1134
1138
|
type: Directive,
|
|
1135
1139
|
args: [{
|
|
1136
1140
|
// eslint-disable-next-line @angular-eslint/directive-selector
|