@vendure/admin-ui 2.1.6 → 2.2.0-next.1
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/catalog/catalog.module.d.ts +4 -3
- package/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.d.ts +19 -0
- package/catalog/components/facet-detail/facet-detail.component.d.ts +9 -12
- package/catalog/components/product-variant-list/product-variant-list.component.d.ts +2 -2
- package/catalog/public_api.d.ts +1 -0
- package/core/common/generated-types.d.ts +104 -43
- package/core/common/utilities/interpolate-description.d.ts +1 -1
- package/core/common/version.d.ts +1 -1
- package/core/components/app-shell/app-shell.component.d.ts +1 -0
- package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +9 -3
- package/core/core.module.d.ts +1 -1
- package/core/providers/currency/currency.service.d.ts +10 -0
- package/core/providers/i18n/i18n.service.d.ts +6 -0
- package/core/public_api.d.ts +1 -0
- package/core/shared/components/chart/chart.component.d.ts +3 -0
- package/core/shared/components/chart/tooltip-plugin.d.ts +16 -1
- package/core/shared/components/configurable-input/configurable-input.component.d.ts +3 -0
- package/core/shared/components/currency-input/currency-input.component.d.ts +6 -3
- package/core/shared/pipes/locale-currency.pipe.d.ts +5 -2
- package/esm2022/catalog/catalog.module.mjs +17 -3
- package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +44 -0
- package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +85 -120
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +5 -2
- package/esm2022/catalog/components/product-list/product-list.component.mjs +26 -14
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +36 -15
- package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +1 -1
- package/esm2022/catalog/public_api.mjs +2 -1
- package/esm2022/core/common/generated-types.mjs +5 -5
- package/esm2022/core/common/utilities/interpolate-description.mjs +3 -3
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/app-shell/app-shell.component.mjs +15 -10
- package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +42 -273
- package/esm2022/core/core.module.mjs +13 -5
- package/esm2022/core/data/definitions/facet-definitions.mjs +2 -2
- package/esm2022/core/data/definitions/settings-definitions.mjs +2 -1
- package/esm2022/core/providers/currency/currency.service.mjs +21 -0
- package/esm2022/core/providers/i18n/i18n.service.mjs +11 -1
- package/esm2022/core/providers/localization/localization.service.mjs +4 -4
- package/esm2022/core/public_api.mjs +2 -1
- package/esm2022/core/shared/components/chart/chart.component.mjs +12 -5
- package/esm2022/core/shared/components/chart/tooltip-plugin.mjs +6 -14
- package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +15 -13
- package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +17 -14
- package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +11 -7
- package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +4 -4
- package/esm2022/react/react-hooks/use-query.mjs +61 -1
- package/fesm2022/vendure-admin-ui-catalog.mjs +197 -148
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +130 -317
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs +3 -3
- package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-react.mjs +61 -1
- package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
- package/package.json +14 -14
- package/react/react-hooks/use-query.d.ts +59 -0
- package/settings/components/administrator-list/administrator-list.component.d.ts +2 -0
- package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -1
- package/static/i18n-messages/ar.json +1 -2
- package/static/i18n-messages/cs.json +1 -2
- package/static/i18n-messages/de.json +1 -2
- package/static/i18n-messages/en.json +1 -2
- package/static/i18n-messages/es.json +1 -2
- package/static/i18n-messages/fa.json +3 -4
- package/static/i18n-messages/fr.json +1 -2
- package/static/i18n-messages/he.json +1 -2
- package/static/i18n-messages/hr.json +1 -2
- package/static/i18n-messages/it.json +2 -3
- package/static/i18n-messages/nb.json +795 -0
- package/static/i18n-messages/ne.json +2 -3
- package/static/i18n-messages/pl.json +1 -2
- package/static/i18n-messages/pt_BR.json +1 -1
- package/static/i18n-messages/pt_PT.json +1 -2
- package/static/i18n-messages/ru.json +1 -2
- package/static/i18n-messages/uk.json +1 -2
- package/static/i18n-messages/zh_Hans.json +1 -2
- package/static/i18n-messages/zh_Hant.json +1 -2
- package/static/vendure-ui-config.json +262 -6
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Optional, Pipe } from '@angular/core';
|
|
2
2
|
import { LocaleBasePipe } from './locale-base.pipe';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../
|
|
4
|
+
import * as i1 from "../../providers/currency/currency.service";
|
|
5
|
+
import * as i2 from "../../data/providers/data.service";
|
|
5
6
|
/**
|
|
6
7
|
* @description
|
|
7
8
|
* Formats a Vendure monetary value (in cents) into the correct format for the configured currency and display
|
|
@@ -15,27 +16,30 @@ import * as i1 from "../../data/providers/data.service";
|
|
|
15
16
|
* @docsCategory pipes
|
|
16
17
|
*/
|
|
17
18
|
export class LocaleCurrencyPipe extends LocaleBasePipe {
|
|
18
|
-
constructor(dataService, changeDetectorRef) {
|
|
19
|
+
constructor(currencyService, dataService, changeDetectorRef) {
|
|
19
20
|
super(dataService, changeDetectorRef);
|
|
21
|
+
this.currencyService = currencyService;
|
|
20
22
|
}
|
|
21
23
|
transform(value, ...args) {
|
|
22
24
|
const [currencyCode, locale] = args;
|
|
23
25
|
if (typeof value === 'number') {
|
|
24
26
|
const activeLocale = this.getActiveLocale(locale);
|
|
25
|
-
const majorUnits = value
|
|
27
|
+
const majorUnits = this.currencyService.toMajorUnits(value);
|
|
26
28
|
try {
|
|
27
29
|
return new Intl.NumberFormat(activeLocale, {
|
|
28
30
|
style: 'currency',
|
|
29
31
|
currency: currencyCode,
|
|
32
|
+
minimumFractionDigits: this.currencyService.precision,
|
|
33
|
+
maximumFractionDigits: this.currencyService.precision,
|
|
30
34
|
}).format(majorUnits);
|
|
31
35
|
}
|
|
32
36
|
catch (e) {
|
|
33
|
-
return majorUnits.toFixed(
|
|
37
|
+
return majorUnits.toFixed(this.currencyService.precision);
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
return value;
|
|
37
41
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LocaleCurrencyPipe, deps: [{ token: i1.DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LocaleCurrencyPipe, deps: [{ token: i1.CurrencyService }, { token: i2.DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
39
43
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.2", ngImport: i0, type: LocaleCurrencyPipe, name: "localeCurrency", pure: false }); }
|
|
40
44
|
}
|
|
41
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LocaleCurrencyPipe, decorators: [{
|
|
@@ -44,9 +48,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
44
48
|
name: 'localeCurrency',
|
|
45
49
|
pure: false,
|
|
46
50
|
}]
|
|
47
|
-
}], ctorParameters: function () { return [{ type: i1.DataService, decorators: [{
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.CurrencyService }, { type: i2.DataService, decorators: [{
|
|
48
52
|
type: Optional
|
|
49
53
|
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
50
54
|
type: Optional
|
|
51
55
|
}] }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWN1cnJlbmN5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9waXBlcy9sb2NhbGUtY3VycmVuY3kucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVwRDs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBRWxELFlBQ1ksZUFBZ0MsRUFDNUIsV0FBeUIsRUFDekIsaUJBQXFDO1FBRWpELEtBQUssQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUo5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFLNUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFjLEVBQUUsR0FBRyxJQUFlO1FBQ3hDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsSUFBSTtnQkFDQSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUU7b0JBQ3ZDLEtBQUssRUFBRSxVQUFVO29CQUNqQixRQUFRLEVBQUUsWUFBbUI7b0JBQzdCLHFCQUFxQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztvQkFDckQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTO2lCQUN4RCxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pCO1lBQUMsT0FBTyxDQUFNLEVBQUU7Z0JBQ2IsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDN0Q7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBM0JRLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLElBQUksRUFBRSxLQUFLO2lCQUNkOzswQkFLUSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9jdXJyZW5jeS9jdXJyZW5jeS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IExvY2FsZUJhc2VQaXBlIH0gZnJvbSAnLi9sb2NhbGUtYmFzZS5waXBlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogRm9ybWF0cyBhIFZlbmR1cmUgbW9uZXRhcnkgdmFsdWUgKGluIGNlbnRzKSBpbnRvIHRoZSBjb3JyZWN0IGZvcm1hdCBmb3IgdGhlIGNvbmZpZ3VyZWQgY3VycmVuY3kgYW5kIGRpc3BsYXlcclxuICogbG9jYWxlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBIVE1MXHJcbiAqIHt7IHZhcmlhbnQucHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3kgfX1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcGlwZXNcclxuICovXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdsb2NhbGVDdXJyZW5jeScsXHJcbiAgICBwdXJlOiBmYWxzZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsZUN1cnJlbmN5UGlwZSBleHRlbmRzIExvY2FsZUJhc2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICByZWFkb25seSBwcmVjaXNpb25GYWN0b3I6IG51bWJlcjtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2UsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgZGF0YVNlcnZpY2U/OiBEYXRhU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBjaGFuZ2VEZXRlY3RvclJlZj86IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZGF0YVNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHVua25vd24sIC4uLmFyZ3M6IHVua25vd25bXSk6IHN0cmluZyB8IHVua25vd24ge1xyXG4gICAgICAgIGNvbnN0IFtjdXJyZW5jeUNvZGUsIGxvY2FsZV0gPSBhcmdzO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUxvY2FsZSA9IHRoaXMuZ2V0QWN0aXZlTG9jYWxlKGxvY2FsZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IG1ham9yVW5pdHMgPSB0aGlzLmN1cnJlbmN5U2VydmljZS50b01ham9yVW5pdHModmFsdWUpO1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChhY3RpdmVMb2NhbGUsIHtcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogY3VycmVuY3lDb2RlIGFzIGFueSxcclxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnByZWNpc2lvbixcclxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnByZWNpc2lvbixcclxuICAgICAgICAgICAgICAgIH0pLmZvcm1hdChtYWpvclVuaXRzKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFqb3JVbml0cy50b0ZpeGVkKHRoaXMuY3VycmVuY3lTZXJ2aWNlLnByZWNpc2lvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -40,18 +40,18 @@ export class OrderSummaryWidgetComponent {
|
|
|
40
40
|
.refetchOnChannelChange()
|
|
41
41
|
.mapStream(data => data.orders)), shareReplay(1));
|
|
42
42
|
this.totalOrderCount$ = orderSummary$.pipe(map(res => res.totalItems));
|
|
43
|
-
this.totalOrderValue$ = orderSummary$.pipe(map(res => res.items.reduce((total, order) => total + order.totalWithTax, 0)
|
|
43
|
+
this.totalOrderValue$ = orderSummary$.pipe(map(res => res.items.reduce((total, order) => total + order.totalWithTax, 0)));
|
|
44
44
|
this.currencyCode$ = this.dataService.settings
|
|
45
45
|
.getActiveChannel()
|
|
46
46
|
.refetchOnChannelChange()
|
|
47
47
|
.mapStream(data => data.activeChannel.defaultCurrencyCode || undefined);
|
|
48
48
|
}
|
|
49
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: OrderSummaryWidgetComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: OrderSummaryWidgetComponent, selector: "vdr-order-summary-widget", ngImport: i0, template: "<div class=\"stats\">\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">{{ totalOrderCount$ | async }}</div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-orders' | translate }}</div>\r\n </div>\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">\r\n {{ totalOrderValue$ | async |
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: OrderSummaryWidgetComponent, selector: "vdr-order-summary-widget", ngImport: i0, template: "<div class=\"stats\">\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">{{ totalOrderCount$ | async }}</div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-orders' | translate }}</div>\r\n </div>\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">\r\n {{ totalOrderValue$ | async | localeCurrency: (currencyCode$ | async) || undefined }}\r\n </div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-order-value' | translate }}</div>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <div class=\"flex\" *ngIf=\"selection$ | async as selection\">\r\n <button class=\"button-small\" [class.active]=\"selection.date === today\" (click)=\"selection$.next({timeframe: 'day', date: today})\">\r\n {{ 'dashboard.today' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.date === yesterday\" (click)=\"selection$.next({timeframe: 'day', date: yesterday})\">\r\n {{ 'dashboard.yesterday' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.timeframe === 'week'\" (click)=\"selection$.next({timeframe: 'week'})\">\r\n {{ 'dashboard.thisWeek' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.timeframe === 'month'\" (click)=\"selection$.next({timeframe: 'month'})\">\r\n {{ 'dashboard.thisMonth' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"date-range p5\" *ngIf=\"dateRange$ | async as range\">\r\n {{ range.start | localeDate }} - {{ range.end | localeDate }}\r\n </div>\r\n</div>\r\n", styles: [".stats{display:flex;justify-content:space-evenly}.stat{text-align:center}.stat-figure{font-size:2rem;line-height:3rem}.stat-label{text-transform:uppercase}.date-range{margin-top:0}.footer{margin-top:24px;display:flex;flex-direction:column;justify-content:space-between}.button-small.active{background-color:var(--color-primary-200);color:var(--color-primary-900)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: OrderSummaryWidgetComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'vdr-order-summary-widget', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stats\">\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">{{ totalOrderCount$ | async }}</div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-orders' | translate }}</div>\r\n </div>\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">\r\n {{ totalOrderValue$ | async |
|
|
54
|
+
args: [{ selector: 'vdr-order-summary-widget', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stats\">\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">{{ totalOrderCount$ | async }}</div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-orders' | translate }}</div>\r\n </div>\r\n <div class=\"stat\">\r\n <div class=\"stat-figure\">\r\n {{ totalOrderValue$ | async | localeCurrency: (currencyCode$ | async) || undefined }}\r\n </div>\r\n <div class=\"stat-label\">{{ 'dashboard.total-order-value' | translate }}</div>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <div class=\"flex\" *ngIf=\"selection$ | async as selection\">\r\n <button class=\"button-small\" [class.active]=\"selection.date === today\" (click)=\"selection$.next({timeframe: 'day', date: today})\">\r\n {{ 'dashboard.today' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.date === yesterday\" (click)=\"selection$.next({timeframe: 'day', date: yesterday})\">\r\n {{ 'dashboard.yesterday' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.timeframe === 'week'\" (click)=\"selection$.next({timeframe: 'week'})\">\r\n {{ 'dashboard.thisWeek' | translate }}\r\n </button>\r\n <button class=\"ml-1 button-small\" [class.active]=\"selection.timeframe === 'month'\" (click)=\"selection$.next({timeframe: 'month'})\">\r\n {{ 'dashboard.thisMonth' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"date-range p5\" *ngIf=\"dateRange$ | async as range\">\r\n {{ range.start | localeDate }} - {{ range.end | localeDate }}\r\n </div>\r\n</div>\r\n", styles: [".stats{display:flex;justify-content:space-evenly}.stat{text-align:center}.stat-figure{font-size:2rem;line-height:3rem}.stat-label{text-transform:uppercase}.date-range{margin-top:0}.footer{margin-top:24px;display:flex;flex-direction:column;justify-content:space-between}.button-small.active{background-color:var(--color-primary-200);color:var(--color-primary-900)}\n"] }]
|
|
55
55
|
}], ctorParameters: function () { return [{ type: i1.DataService }]; } });
|
|
56
56
|
export class OrderSummaryWidgetModule {
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: OrderSummaryWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
65
65
|
declarations: [OrderSummaryWidgetComponent],
|
|
66
66
|
}]
|
|
67
67
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3VtbWFyeS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmQvc3JjL3dpZGdldHMvb3JkZXItc3VtbWFyeS13aWRnZXQvb3JkZXItc3VtbWFyeS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmQvc3JjL3dpZGdldHMvb3JkZXItc3VtbWFyeS13aWRnZXQvb3JkZXItc3VtbWFyeS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBZSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFJbkYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztDQVduQyxDQUFDO0FBUUYsTUFBTSxPQUFPLDJCQUEyQjtJQVlwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVg1QyxVQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBSW5FLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBd0M7WUFDcEUsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUc0QyxDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQyxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUU7U0FDakUsQ0FBQyxDQUFDLEVBQ0gsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FDekIsSUFBSSxDQUFDLFdBQVc7YUFDWCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQzthQUN0RixzQkFBc0IsRUFBRTthQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ3RDLEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDaEYsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQ3pDLGdCQUFnQixFQUFFO2FBQ2xCLHNCQUFzQixFQUFFO2FBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLElBQUksU0FBUyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs4R0F4Q1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0VDNUJ4Qyx5ckRBZ0NBOzsyRkRKYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOztBQWlEbkQsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsaUJBL0N4QiwyQkFBMkIsYUE0QzFCLFVBQVU7K0dBR1gsd0JBQXdCLFlBSHZCLFVBQVU7OzJGQUdYLHdCQUF3QjtrQkFKcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ3JCLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE5nTW9kdWxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZU1vZHVsZSwgRGF0YVNlcnZpY2UsIEdldE9yZGVyU3VtbWFyeURvY3VtZW50IH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgdHlwZSBUaW1lZnJhbWUgPSAnZGF5JyB8ICd3ZWVrJyB8ICdtb250aCc7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX09SREVSX1NVTU1BUlkgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRPcmRlclN1bW1hcnkoJHN0YXJ0OiBEYXRlVGltZSEsICRlbmQ6IERhdGVUaW1lISkge1xyXG4gICAgICAgIG9yZGVycyhvcHRpb25zOiB7IGZpbHRlcjogeyBvcmRlclBsYWNlZEF0OiB7IGJldHdlZW46IHsgc3RhcnQ6ICRzdGFydCwgZW5kOiAkZW5kIH0gfSB9IH0pIHtcclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgdG90YWxXaXRoVGF4XHJcbiAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItb3JkZXItc3VtbWFyeS13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLXN1bW1hcnktd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL29yZGVyLXN1bW1hcnktd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyU3VtbWFyeVdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICB5ZXN0ZXJkYXkgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldERhdGUodGhpcy50b2RheS5nZXREYXRlKCkgLSAxKSk7XHJcbiAgICB0b3RhbE9yZGVyQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICB0b3RhbE9yZGVyVmFsdWUkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBjdXJyZW5jeUNvZGUkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcbiAgICBzZWxlY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHRpbWVmcmFtZTogVGltZWZyYW1lOyBkYXRlPzogRGF0ZSB9Pih7XHJcbiAgICAgICAgdGltZWZyYW1lOiAnZGF5JyxcclxuICAgICAgICBkYXRlOiB0aGlzLnRvZGF5LFxyXG4gICAgfSk7XHJcbiAgICBkYXRlUmFuZ2UkOiBPYnNlcnZhYmxlPHsgc3RhcnQ6IERhdGU7IGVuZDogRGF0ZSB9PjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZSQgPSB0aGlzLnNlbGVjdGlvbiQucGlwZShcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgbWFwKHNlbGVjdGlvbiA9PiAoe1xyXG4gICAgICAgICAgICAgICAgc3RhcnQ6IGRheWpzKHNlbGVjdGlvbi5kYXRlKS5zdGFydE9mKHNlbGVjdGlvbi50aW1lZnJhbWUpLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgICAgZW5kOiBkYXlqcyhzZWxlY3Rpb24uZGF0ZSkuZW5kT2Yoc2VsZWN0aW9uLnRpbWVmcmFtZSkudG9EYXRlKCksXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBvcmRlclN1bW1hcnkkID0gdGhpcy5kYXRlUmFuZ2UkLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoeyBzdGFydCwgZW5kIH0pID0+XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KEdldE9yZGVyU3VtbWFyeURvY3VtZW50LCB7IHN0YXJ0OiBzdGFydC50b0lTT1N0cmluZygpLCBlbmQ6IGVuZC50b0lTT1N0cmluZygpIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlZmV0Y2hPbkNoYW5uZWxDaGFuZ2UoKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLm9yZGVycyksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy50b3RhbE9yZGVyQ291bnQkID0gb3JkZXJTdW1tYXJ5JC5waXBlKG1hcChyZXMgPT4gcmVzLnRvdGFsSXRlbXMpKTtcclxuICAgICAgICB0aGlzLnRvdGFsT3JkZXJWYWx1ZSQgPSBvcmRlclN1bW1hcnkkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzLml0ZW1zLnJlZHVjZSgodG90YWwsIG9yZGVyKSA9PiB0b3RhbCArIG9yZGVyLnRvdGFsV2l0aFRheCwgMCkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW5jeUNvZGUkID0gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5nc1xyXG4gICAgICAgICAgICAuZ2V0QWN0aXZlQ2hhbm5lbCgpXHJcbiAgICAgICAgICAgIC5yZWZldGNoT25DaGFubmVsQ2hhbmdlKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQ2hhbm5lbC5kZWZhdWx0Q3VycmVuY3lDb2RlIHx8IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29yZU1vZHVsZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtPcmRlclN1bW1hcnlXaWRnZXRDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJTdW1tYXJ5V2lkZ2V0TW9kdWxlIHt9XHJcbiIsIjxkaXYgY2xhc3M9XCJzdGF0c1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInN0YXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1maWd1cmVcIj57eyB0b3RhbE9yZGVyQ291bnQkIHwgYXN5bmMgfX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1sYWJlbFwiPnt7ICdkYXNoYm9hcmQudG90YWwtb3JkZXJzJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3RhdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LWZpZ3VyZVwiPlxyXG4gICAgICAgICAgICB7eyB0b3RhbE9yZGVyVmFsdWUkIHwgYXN5bmMgfCBsb2NhbGVDdXJyZW5jeTogKGN1cnJlbmN5Q29kZSQgfCBhc3luYykgfHwgdW5kZWZpbmVkIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXQtbGFiZWxcIj57eyAnZGFzaGJvYXJkLnRvdGFsLW9yZGVyLXZhbHVlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwic2VsZWN0aW9uJCB8IGFzeW5jIGFzIHNlbGVjdGlvblwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24tc21hbGxcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGlvbi5kYXRlID09PSB0b2RheVwiIChjbGljayk9XCJzZWxlY3Rpb24kLm5leHQoe3RpbWVmcmFtZTogJ2RheScsIGRhdGU6IHRvZGF5fSlcIj5cclxuICAgICAgICAgICAge3sgJ2Rhc2hib2FyZC50b2RheScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWwtMSBidXR0b24tc21hbGxcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGlvbi5kYXRlID09PSB5ZXN0ZXJkYXlcIiAoY2xpY2spPVwic2VsZWN0aW9uJC5uZXh0KHt0aW1lZnJhbWU6ICdkYXknLCBkYXRlOiB5ZXN0ZXJkYXl9KVwiPlxyXG4gICAgICAgICAgICB7eyAnZGFzaGJvYXJkLnllc3RlcmRheScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWwtMSBidXR0b24tc21hbGxcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGlvbi50aW1lZnJhbWUgPT09ICd3ZWVrJ1wiIChjbGljayk9XCJzZWxlY3Rpb24kLm5leHQoe3RpbWVmcmFtZTogJ3dlZWsnfSlcIj5cclxuICAgICAgICAgICAge3sgJ2Rhc2hib2FyZC50aGlzV2VlaycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWwtMSBidXR0b24tc21hbGxcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGlvbi50aW1lZnJhbWUgPT09ICdtb250aCdcIiAoY2xpY2spPVwic2VsZWN0aW9uJC5uZXh0KHt0aW1lZnJhbWU6ICdtb250aCd9KVwiPlxyXG4gICAgICAgICAgICB7eyAnZGFzaGJvYXJkLnRoaXNNb250aCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlLXJhbmdlIHA1XCIgKm5nSWY9XCJkYXRlUmFuZ2UkIHwgYXN5bmMgYXMgcmFuZ2VcIj5cclxuICAgICAgICB7eyByYW5nZS5zdGFydCB8IGxvY2FsZURhdGUgfX0gLSB7eyByYW5nZS5lbmQgfCBsb2NhbGVEYXRlIH19XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -46,6 +46,66 @@ export function useQuery(query, variables) {
|
|
|
46
46
|
const refetch = (variables) => firstValueFrom(runQuery(variables));
|
|
47
47
|
return { data, loading, error, refetch };
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @description
|
|
51
|
+
* A React hook which allows you to execute a GraphQL query.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { useLazyQuery } from '\@vendure/admin-ui/react';
|
|
56
|
+
* import { gql } from 'graphql-tag';
|
|
57
|
+
*
|
|
58
|
+
* const GET_PRODUCT = gql`
|
|
59
|
+
* query GetProduct($id: ID!) {
|
|
60
|
+
* product(id: $id) {
|
|
61
|
+
* id
|
|
62
|
+
* name
|
|
63
|
+
* description
|
|
64
|
+
* }
|
|
65
|
+
* }`;
|
|
66
|
+
* type ProductResponse = {
|
|
67
|
+
* product: {
|
|
68
|
+
* name: string
|
|
69
|
+
* description: string
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
*
|
|
73
|
+
* export const MyComponent = () => {
|
|
74
|
+
* const [getProduct, { data, loading, error }] = useLazyQuery<ProductResponse>(GET_PRODUCT);
|
|
75
|
+
*
|
|
76
|
+
* const handleClick = () => {
|
|
77
|
+
* getProduct({
|
|
78
|
+
* id: '1',
|
|
79
|
+
* }).then(result => {
|
|
80
|
+
* // do something with the result
|
|
81
|
+
* });
|
|
82
|
+
* };
|
|
83
|
+
*
|
|
84
|
+
* if (loading) return <div>Loading...</div>;
|
|
85
|
+
* if (error) return <div>Error! { error }</div>;
|
|
86
|
+
*
|
|
87
|
+
* return (
|
|
88
|
+
* <div>
|
|
89
|
+
* <button onClick={handleClick}>Get product</button>
|
|
90
|
+
* {data && (
|
|
91
|
+
* <div>
|
|
92
|
+
* <h1>{data.product.name}</h1>
|
|
93
|
+
* <p>{data.product.description}</p>
|
|
94
|
+
* </div>)}
|
|
95
|
+
* </div>
|
|
96
|
+
* );
|
|
97
|
+
* };
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @since 2.2.0
|
|
101
|
+
* @docsCategory react-hooks
|
|
102
|
+
*/
|
|
103
|
+
export function useLazyQuery(query) {
|
|
104
|
+
const { data, loading, error, runQuery } = useDataService((dataService, vars) => dataService.query(query, vars).stream$);
|
|
105
|
+
const rest = { data, loading, error };
|
|
106
|
+
const execute = (variables) => firstValueFrom(runQuery(variables));
|
|
107
|
+
return [execute, rest];
|
|
108
|
+
}
|
|
49
109
|
/**
|
|
50
110
|
* @description
|
|
51
111
|
* A React hook which allows you to execute a GraphQL mutation.
|
|
@@ -121,4 +181,4 @@ export function useDataService(operation) {
|
|
|
121
181
|
}, []);
|
|
122
182
|
return { data, loading, error, runQuery };
|
|
123
183
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9yZWFjdC9zcmMvcmVhY3QtaG9va3MvdXNlLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUNwQixLQUE2QyxFQUM3QyxTQUFhO0lBRWIsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FDckQsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQ2hFLENBQUM7SUFDRixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZixNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVcsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsUUFBZ0Q7SUFFaEQsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUN2RixXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FDMUMsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFrQyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUMxQixTQUFxRTtJQUVyRSxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNuRCxNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUssQ0FBQztJQUN0QyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsRUFBVSxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLFNBQWEsRUFBRSxFQUFFO1FBQzNDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUM7WUFDQSxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNULFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3RCLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixDQUFDO1NBQ0osQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGVkRG9jdW1lbnROb2RlIH0gZnJvbSAnQGdyYXBocWwtdHlwZWQtZG9jdW1lbnQtbm9kZS9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnROb2RlIH0gZnJvbSAnZ3JhcGhxbC9pbmRleCc7XHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEhvc3RlZENvbXBvbmVudENvbnRleHQgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JlYWN0LWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgUmVhY3QgaG9vayB3aGljaCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHJlc3VsdHMgb2YgYSBHcmFwaFFMIHF1ZXJ5LlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyB1c2VRdWVyeSB9IGZyb20gJ1xcQHZlbmR1cmUvYWRtaW4tdWkvcmVhY3QnO1xyXG4gKiBpbXBvcnQgeyBncWwgfSBmcm9tICdncmFwaHFsLXRhZyc7XHJcbiAqXHJcbiAqIGNvbnN0IEdFVF9QUk9EVUNUID0gZ3FsYFxyXG4gKiAgICBxdWVyeSBHZXRQcm9kdWN0KCRpZDogSUQhKSB7XHJcbiAqICAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAqICAgICAgICBpZFxyXG4gKiAgICAgICAgbmFtZVxyXG4gKiAgICAgICAgZGVzY3JpcHRpb25cclxuICogICAgICB9XHJcbiAqICAgIH1gO1xyXG4gKlxyXG4gKiBleHBvcnQgY29uc3QgTXlDb21wb25lbnQgPSAoKSA9PiB7XHJcbiAqICAgICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH0gPSB1c2VRdWVyeShHRVRfUFJPRFVDVCwgeyBpZDogJzEnIH0pO1xyXG4gKlxyXG4gKiAgICAgaWYgKGxvYWRpbmcpIHJldHVybiA8ZGl2PkxvYWRpbmcuLi48L2Rpdj47XHJcbiAqICAgICBpZiAoZXJyb3IpIHJldHVybiA8ZGl2PkVycm9yISB7IGVycm9yIH08L2Rpdj47XHJcbiAqICAgICByZXR1cm4gKFxyXG4gKiAgICAgICAgIDxkaXY+XHJcbiAqICAgICAgICAgICAgIDxoMT57ZGF0YS5wcm9kdWN0Lm5hbWV9PC9oMT5cclxuICogICAgICAgICAgICAgPHA+e2RhdGEucHJvZHVjdC5kZXNjcmlwdGlvbn08L3A+XHJcbiAqICAgICAgICAgPC9kaXY+XHJcbiAqICAgICApO1xyXG4gKiB9O1xyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVF1ZXJ5PFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBxdWVyeTogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICB2YXJpYWJsZXM/OiBWLFxyXG4pIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJ1blF1ZXJ5IH0gPSB1c2VEYXRhU2VydmljZTxULCBWPihcclxuICAgICAgICAoZGF0YVNlcnZpY2UsIHZhcnMpID0+IGRhdGFTZXJ2aWNlLnF1ZXJ5KHF1ZXJ5LCB2YXJzKS5zdHJlYW0kLFxyXG4gICAgKTtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gcnVuUXVlcnkodmFyaWFibGVzKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9LCBbcnVuUXVlcnldKTtcclxuXHJcbiAgICBjb25zdCByZWZldGNoID0gKHZhcmlhYmxlcz86IFYpID0+IGZpcnN0VmFsdWVGcm9tKHJ1blF1ZXJ5KHZhcmlhYmxlcykpO1xyXG4gICAgcmV0dXJuIHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJlZmV0Y2ggfSBhcyBjb25zdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIFJlYWN0IGhvb2sgd2hpY2ggYWxsb3dzIHlvdSB0byBleGVjdXRlIGEgR3JhcGhRTCBtdXRhdGlvbi5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgdXNlTXV0YXRpb24gfSBmcm9tICdcXEB2ZW5kdXJlL2FkbWluLXVpL3JlYWN0JztcclxuICogaW1wb3J0IHsgZ3FsIH0gZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG4gKlxyXG4gKiBjb25zdCBVUERBVEVfUFJPRFVDVCA9IGdxbGBcclxuICogICBtdXRhdGlvbiBVcGRhdGVQcm9kdWN0KCRpbnB1dDogVXBkYXRlUHJvZHVjdElucHV0ISkge1xyXG4gKiAgICAgdXBkYXRlUHJvZHVjdChpbnB1dDogJGlucHV0KSB7XHJcbiAqICAgICBpZFxyXG4gKiAgICAgbmFtZVxyXG4gKiAgIH1cclxuICogfWA7XHJcbiAqXHJcbiAqIGV4cG9ydCBjb25zdCBNeUNvbXBvbmVudCA9ICgpID0+IHtcclxuICogICAgIGNvbnN0IFt1cGRhdGVQcm9kdWN0LCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH1dID0gdXNlTXV0YXRpb24oVVBEQVRFX1BST0RVQ1QpO1xyXG4gKlxyXG4gKiAgICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAqICAgICAgICAgdXBkYXRlUHJvZHVjdCh7XHJcbiAqICAgICAgICAgICAgIGlucHV0OiB7XHJcbiAqICAgICAgICAgICAgICAgICBpZDogJzEnLFxyXG4gKiAgICAgICAgICAgICAgICAgbmFtZTogJ05ldyBuYW1lJyxcclxuICogICAgICAgICAgICAgfSxcclxuICogICAgICAgICB9KS50aGVuKHJlc3VsdCA9PiB7XHJcbiAqICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSByZXN1bHRcclxuICogICAgICAgICB9KTtcclxuICogICAgIH07XHJcbiAqXHJcbiAqICAgICBpZiAobG9hZGluZykgcmV0dXJuIDxkaXY+TG9hZGluZy4uLjwvZGl2PjtcclxuICogICAgIGlmIChlcnJvcikgcmV0dXJuIDxkaXY+RXJyb3IhIHsgZXJyb3IgfTwvZGl2PjtcclxuICpcclxuICogICAgIHJldHVybiAoXHJcbiAqICAgICA8ZGl2PlxyXG4gKiAgICAgICAgIDxidXR0b24gb25DbGljaz17aGFuZGxlQ2xpY2t9PlVwZGF0ZSBwcm9kdWN0PC9idXR0b24+XHJcbiAqICAgICAgICAge2RhdGEgJiYgPGRpdj5Qcm9kdWN0IHVwZGF0ZWQhPC9kaXY+fVxyXG4gKiAgICAgPC9kaXY+XHJcbiAqICAgICApO1xyXG4gKiB9O1xyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZU11dGF0aW9uPFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbikge1xyXG4gICAgY29uc3QgeyBkYXRhLCBsb2FkaW5nLCBlcnJvciwgcnVuUXVlcnkgfSA9IHVzZURhdGFTZXJ2aWNlPFQsIFY+KChkYXRhU2VydmljZSwgdmFyaWFibGVzKSA9PlxyXG4gICAgICAgIGRhdGFTZXJ2aWNlLm11dGF0ZShtdXRhdGlvbiwgdmFyaWFibGVzKSxcclxuICAgICk7XHJcbiAgICBjb25zdCByZXN0ID0geyBkYXRhLCBsb2FkaW5nLCBlcnJvciB9O1xyXG4gICAgY29uc3QgZXhlY3V0ZSA9ICh2YXJpYWJsZXM/OiBWKSA9PiBmaXJzdFZhbHVlRnJvbShydW5RdWVyeSh2YXJpYWJsZXMpKTtcclxuICAgIHJldHVybiBbZXhlY3V0ZSwgcmVzdF0gYXMgW3R5cGVvZiBleGVjdXRlLCB0eXBlb2YgcmVzdF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VEYXRhU2VydmljZTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgb3BlcmF0aW9uOiAoZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCB2YXJpYWJsZXM/OiBWKSA9PiBPYnNlcnZhYmxlPFQ+LFxyXG4pIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEhvc3RlZENvbXBvbmVudENvbnRleHQpO1xyXG4gICAgY29uc3QgZGF0YVNlcnZpY2UgPSBjb250ZXh0Py5pbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpO1xyXG4gICAgaWYgKCFkYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gRGF0YVNlcnZpY2UgZm91bmQgaW4gSG9zdGVkQ29tcG9uZW50Q29udGV4dCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFQ+KCk7XHJcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcclxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBydW5RdWVyeSA9IHVzZUNhbGxiYWNrKCh2YXJpYWJsZXM/OiBWKSA9PiB7XHJcbiAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgICAgICByZXR1cm4gb3BlcmF0aW9uKGRhdGFTZXJ2aWNlLCB2YXJpYWJsZXMpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldERhdGEocmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCBydW5RdWVyeSB9O1xyXG59XHJcbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9yZWFjdC9zcmMvcmVhY3QtaG9va3MvdXNlLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUNwQixLQUE2QyxFQUM3QyxTQUFhO0lBRWIsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FDckQsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQ2hFLENBQUM7SUFDRixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZixNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFD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LEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGVkRG9jdW1lbnROb2RlIH0gZnJvbSAnQGdyYXBocWwtdHlwZWQtZG9jdW1lbnQtbm9kZS9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnROb2RlIH0gZnJvbSAnZ3JhcGhxbC9pbmRleCc7XHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEhvc3RlZENvbXBvbmVudENvbnRleHQgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JlYWN0LWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgUmVhY3QgaG9vayB3aGljaCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHJlc3VsdHMgb2YgYSBHcmFwaFFMIHF1ZXJ5LlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyB1c2VRdWVyeSB9IGZyb20gJ1xcQHZlbmR1cmUvYWRtaW4tdWkvcmVhY3QnO1xyXG4gKiBpbXBvcnQgeyBncWwgfSBmcm9tICdncmFwaHFsLXRhZyc7XHJcbiAqXHJcbiAqIGNvbnN0IEdFVF9QUk9EVUNUID0gZ3FsYFxyXG4gKiAgICBxdWVyeSBHZXRQcm9kdWN0KCRpZDogSUQhKSB7XHJcbiAqICAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAqICAgICAgICBpZFxyXG4gKiAgICAgICAgbmFtZVxyXG4gKiAgICAgICAgZGVzY3JpcHRpb25cclxuICogICAgICB9XHJcbiAqICAgIH1gO1xyXG4gKlxyXG4gKiBleHBvcnQgY29uc3QgTXlDb21wb25lbnQgPSAoKSA9PiB7XHJcbiAqICAgICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH0gPSB1c2VRdWVyeShHRVRfUFJPRFVDVCwgeyBpZDogJzEnIH0pO1xyXG4gKlxyXG4gKiAgICAgaWYgKGxvYWRpbmcpIHJldHVybiA8ZGl2PkxvYWRpbmcuLi48L2Rpdj47XHJcbiAqICAgICBpZiAoZXJyb3IpIHJldHVybiA8ZGl2PkVycm9yISB7IGVycm9yIH08L2Rpdj47XHJcbiAqICAgICByZXR1cm4gKFxyXG4gKiAgICAgICAgIDxkaXY+XHJcbiAqICAgICAgICAgICAgIDxoMT57ZGF0YS5wcm9kdWN0Lm5hbWV9PC9oMT5cclxuICogICAgICAgICAgICAgPHA+e2RhdGEucHJvZHVjdC5kZXNjcmlwdGlvbn08L3A+XHJcbiAqICAgICAgICAgPC9kaXY+XHJcbiAqICAgICApO1xyXG4gKiB9O1xyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVF1ZXJ5PFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBxdWVyeTogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICB2YXJpYWJsZXM/OiBWLFxyXG4pIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJ1blF1ZXJ5IH0gPSB1c2VEYXRhU2VydmljZTxULCBWPihcclxuICAgICAgICAoZGF0YVNlcnZpY2UsIHZhcnMpID0+IGRhdGFTZXJ2aWNlLnF1ZXJ5KHF1ZXJ5LCB2YXJzKS5zdHJlYW0kLFxyXG4gICAgKTtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gcnVuUXVlcnkodmFyaWFibGVzKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9LCBbcnVuUXVlcnldKTtcclxuXHJcbiAgICBjb25zdCByZWZldGNoID0gKHZhcmlhYmxlcz86IFYpID0+IGZpcnN0VmFsdWVGcm9tKHJ1blF1ZXJ5KHZhcmlhYmxlcykpO1xyXG4gICAgcmV0dXJuIHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJlZmV0Y2ggfSBhcyBjb25zdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIFJlYWN0IGhvb2sgd2hpY2ggYWxsb3dzIHlvdSB0byBleGVjdXRlIGEgR3JhcGhRTCBxdWVyeS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgdXNlTGF6eVF1ZXJ5IH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCB7IGdxbCB9IGZyb20gJ2dyYXBocWwtdGFnJztcclxuICpcclxuICogY29uc3QgR0VUX1BST0RVQ1QgPSBncWxgXHJcbiAqICAgIHF1ZXJ5IEdldFByb2R1Y3QoJGlkOiBJRCEpIHtcclxuICogICAgICBwcm9kdWN0KGlkOiAkaWQpIHtcclxuICogICAgICAgIGlkXHJcbiAqICAgICAgICBuYW1lXHJcbiAqICAgICAgICBkZXNjcmlwdGlvblxyXG4gKiAgICAgIH1cclxuICogICAgfWA7XHJcbiAqIHR5cGUgUHJvZHVjdFJlc3BvbnNlID0ge1xyXG4gKiAgICAgcHJvZHVjdDoge1xyXG4gKiAgICAgICAgIG5hbWU6IHN0cmluZ1xyXG4gKiAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICogICAgIH1cclxuICogfVxyXG4gKlxyXG4gKiBleHBvcnQgY29uc3QgTXlDb21wb25lbnQgPSAoKSA9PiB7XHJcbiAqICAgICBjb25zdCBbZ2V0UHJvZHVjdCwgeyBkYXRhLCBsb2FkaW5nLCBlcnJvciB9XSA9IHVzZUxhenlRdWVyeTxQcm9kdWN0UmVzcG9uc2U+KEdFVF9QUk9EVUNUKTtcclxuICpcclxuICogICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAqICAgICAgICAgZ2V0UHJvZHVjdCh7XHJcbiAqICAgICAgICAgICAgICBpZDogJzEnLFxyXG4gKiAgICAgICAgIH0pLnRoZW4ocmVzdWx0ID0+IHtcclxuICogICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlIHJlc3VsdFxyXG4gKiAgICAgICAgIH0pO1xyXG4gKiAgICAgfTtcclxuICpcclxuICogICAgIGlmIChsb2FkaW5nKSByZXR1cm4gPGRpdj5Mb2FkaW5nLi4uPC9kaXY+O1xyXG4gKiAgICAgaWYgKGVycm9yKSByZXR1cm4gPGRpdj5FcnJvciEgeyBlcnJvciB9PC9kaXY+O1xyXG4gKlxyXG4gKiAgICAgcmV0dXJuIChcclxuICogICAgIDxkaXY+XHJcbiAqICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVDbGlja30+R2V0IHByb2R1Y3Q8L2J1dHRvbj5cclxuICogICAgICAgICB7ZGF0YSAmJiAoXHJcbiAqICAgICAgICAgICAgICA8ZGl2PlxyXG4gKiAgICAgICAgICAgICAgICAgIDxoMT57ZGF0YS5wcm9kdWN0Lm5hbWV9PC9oMT5cclxuICogICAgICAgICAgICAgICAgICA8cD57ZGF0YS5wcm9kdWN0LmRlc2NyaXB0aW9ufTwvcD5cclxuICogICAgICAgICAgICAgIDwvZGl2Pil9XHJcbiAqICAgICA8L2Rpdj5cclxuICogICAgICk7XHJcbiAqIH07XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAc2luY2UgMi4yLjBcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZUxhenlRdWVyeTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgcXVlcnk6IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFQsIFY+LFxyXG4pIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJ1blF1ZXJ5IH0gPSB1c2VEYXRhU2VydmljZTxULCBWPihcclxuICAgICAgICAoZGF0YVNlcnZpY2UsIHZhcnMpID0+IGRhdGFTZXJ2aWNlLnF1ZXJ5KHF1ZXJ5LCB2YXJzKS5zdHJlYW0kLFxyXG4gICAgKTtcclxuICAgIGNvbnN0IHJlc3QgPSB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH07XHJcbiAgICBjb25zdCBleGVjdXRlID0gKHZhcmlhYmxlcz86IFYpID0+IGZpcnN0VmFsdWVGcm9tKHJ1blF1ZXJ5KHZhcmlhYmxlcykpO1xyXG4gICAgcmV0dXJuIFtleGVjdXRlLCByZXN0XSBhcyBbdHlwZW9mIGV4ZWN1dGUsIHR5cGVvZiByZXN0XTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIFJlYWN0IGhvb2sgd2hpY2ggYWxsb3dzIHlvdSB0byBleGVjdXRlIGEgR3JhcGhRTCBtdXRhdGlvbi5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgdXNlTXV0YXRpb24gfSBmcm9tICdcXEB2ZW5kdXJlL2FkbWluLXVpL3JlYWN0JztcclxuICogaW1wb3J0IHsgZ3FsIH0gZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG4gKlxyXG4gKiBjb25zdCBVUERBVEVfUFJPRFVDVCA9IGdxbGBcclxuICogICBtdXRhdGlvbiBVcGRhdGVQcm9kdWN0KCRpbnB1dDogVXBkYXRlUHJvZHVjdElucHV0ISkge1xyXG4gKiAgICAgdXBkYXRlUHJvZHVjdChpbnB1dDogJGlucHV0KSB7XHJcbiAqICAgICBpZFxyXG4gKiAgICAgbmFtZVxyXG4gKiAgIH1cclxuICogfWA7XHJcbiAqXHJcbiAqIGV4cG9ydCBjb25zdCBNeUNvbXBvbmVudCA9ICgpID0+IHtcclxuICogICAgIGNvbnN0IFt1cGRhdGVQcm9kdWN0LCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH1dID0gdXNlTXV0YXRpb24oVVBEQVRFX1BST0RVQ1QpO1xyXG4gKlxyXG4gKiAgICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAqICAgICAgICAgdXBkYXRlUHJvZHVjdCh7XHJcbiAqICAgICAgICAgICAgIGlucHV0OiB7XHJcbiAqICAgICAgICAgICAgICAgICBpZDogJzEnLFxyXG4gKiAgICAgICAgICAgICAgICAgbmFtZTogJ05ldyBuYW1lJyxcclxuICogICAgICAgICAgICAgfSxcclxuICogICAgICAgICB9KS50aGVuKHJlc3VsdCA9PiB7XHJcbiAqICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSByZXN1bHRcclxuICogICAgICAgICB9KTtcclxuICogICAgIH07XHJcbiAqXHJcbiAqICAgICBpZiAobG9hZGluZykgcmV0dXJuIDxkaXY+TG9hZGluZy4uLjwvZGl2PjtcclxuICogICAgIGlmIChlcnJvcikgcmV0dXJuIDxkaXY+RXJyb3IhIHsgZXJyb3IgfTwvZGl2PjtcclxuICpcclxuICogICAgIHJldHVybiAoXHJcbiAqICAgICA8ZGl2PlxyXG4gKiAgICAgICAgIDxidXR0b24gb25DbGljaz17aGFuZGxlQ2xpY2t9PlVwZGF0ZSBwcm9kdWN0PC9idXR0b24+XHJcbiAqICAgICAgICAge2RhdGEgJiYgPGRpdj5Qcm9kdWN0IHVwZGF0ZWQhPC9kaXY+fVxyXG4gKiAgICAgPC9kaXY+XHJcbiAqICAgICApO1xyXG4gKiB9O1xyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZU11dGF0aW9uPFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbikge1xyXG4gICAgY29uc3QgeyBkYXRhLCBsb2FkaW5nLCBlcnJvciwgcnVuUXVlcnkgfSA9IHVzZURhdGFTZXJ2aWNlPFQsIFY+KChkYXRhU2VydmljZSwgdmFyaWFibGVzKSA9PlxyXG4gICAgICAgIGRhdGFTZXJ2aWNlLm11dGF0ZShtdXRhdGlvbiwgdmFyaWFibGVzKSxcclxuICAgICk7XHJcbiAgICBjb25zdCByZXN0ID0geyBkYXRhLCBsb2FkaW5nLCBlcnJvciB9O1xyXG4gICAgY29uc3QgZXhlY3V0ZSA9ICh2YXJpYWJsZXM/OiBWKSA9PiBmaXJzdFZhbHVlRnJvbShydW5RdWVyeSh2YXJpYWJsZXMpKTtcclxuICAgIHJldHVybiBbZXhlY3V0ZSwgcmVzdF0gYXMgW3R5cGVvZiBleGVjdXRlLCB0eXBlb2YgcmVzdF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VEYXRhU2VydmljZTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgb3BlcmF0aW9uOiAoZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCB2YXJpYWJsZXM/OiBWKSA9PiBPYnNlcnZhYmxlPFQ+LFxyXG4pIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEhvc3RlZENvbXBvbmVudENvbnRleHQpO1xyXG4gICAgY29uc3QgZGF0YVNlcnZpY2UgPSBjb250ZXh0Py5pbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpO1xyXG4gICAgaWYgKCFkYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gRGF0YVNlcnZpY2UgZm91bmQgaW4gSG9zdGVkQ29tcG9uZW50Q29udGV4dCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFQ+KCk7XHJcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcclxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBydW5RdWVyeSA9IHVzZUNhbGxiYWNrKCh2YXJpYWJsZXM/OiBWKSA9PiB7XHJcbiAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgICAgICByZXR1cm4gb3BlcmF0aW9uKGRhdGFTZXJ2aWNlLCB2YXJpYWJsZXMpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldERhdGEocmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCBydW5RdWVyeSB9O1xyXG59XHJcbiJdfQ==
|