@daffodil/category 0.78.0 → 0.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/driver/interfaces/category-service.interface.d.ts +1 -2
- package/driver/magento/interfaces/config.interface.d.ts +1 -6
- package/driver/public_api.d.ts +1 -1
- package/esm2022/driver/in-memory/drivers/category-driver.module.mjs +3 -6
- package/esm2022/driver/interfaces/category-service.interface.mjs +7 -3
- package/esm2022/driver/magento/category-driver.module.mjs +8 -31
- package/esm2022/driver/magento/interfaces/config.interface.mjs +8 -3
- package/esm2022/driver/public_api.mjs +2 -2
- package/esm2022/driver/testing/drivers/category-driver.module.mjs +3 -6
- package/esm2022/routing/injection-tokens/public_api.mjs +2 -2
- package/esm2022/routing/injection-tokens/request/builder.token.mjs +8 -3
- package/esm2022/routing/injection-tokens/request/builders.token.mjs +6 -11
- package/esm2022/routing/resolvers/category-page/category-page.resolver.mjs +2 -2
- package/esm2022/state/actions/category-page-filter.actions.mjs +2 -2
- package/esm2022/state/category-state.module.mjs +4 -4
- package/esm2022/state/effects/category-page-metadata.effects.mjs +55 -0
- package/esm2022/state/effects/category-page.effects.mjs +8 -38
- package/esm2022/state/injection-tokens/error-matcher.token.mjs +8 -3
- package/esm2022/state/injection-tokens/public_api.mjs +2 -2
- package/esm2022/state/reducers/token/extra.token.mjs +5 -13
- package/esm2022/state/reducers/token/reducers.token.mjs +9 -3
- package/fesm2022/daffodil-category-driver-in-memory.mjs +2 -5
- package/fesm2022/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-magento.mjs +14 -32
- package/fesm2022/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-testing.mjs +2 -5
- package/fesm2022/daffodil-category-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver.mjs +7 -3
- package/fesm2022/daffodil-category-driver.mjs.map +1 -1
- package/fesm2022/daffodil-category-routing.mjs +14 -13
- package/fesm2022/daffodil-category-routing.mjs.map +1 -1
- package/fesm2022/daffodil-category-state.mjs +32 -54
- package/fesm2022/daffodil-category-state.mjs.map +1 -1
- package/package.json +1 -1
- package/routing/injection-tokens/public_api.d.ts +1 -1
- package/routing/injection-tokens/request/builder.token.d.ts +1 -5
- package/routing/injection-tokens/request/builders.token.d.ts +1 -23
- package/routing/resolvers/category-page/category-page.resolver.d.ts +1 -1
- package/state/actions/category-page-filter.actions.d.ts +1 -1
- package/state/effects/{category-page-filter.effects.d.ts → category-page-metadata.effects.d.ts} +4 -4
- package/state/effects/category-page.effects.d.ts +1 -8
- package/state/injection-tokens/error-matcher.token.d.ts +1 -6
- package/state/injection-tokens/public_api.d.ts +1 -1
- package/state/reducers/token/extra.token.d.ts +1 -20
- package/state/reducers/token/reducers.token.d.ts +1 -8
- package/esm2022/state/effects/category-page-filter.effects.mjs +0 -55
@@ -1,55 +0,0 @@
|
|
1
|
-
import { Injectable, Inject, } from '@angular/core';
|
2
|
-
import { Actions, createEffect, ofType, } from '@ngrx/effects';
|
3
|
-
import { of, asyncScheduler, } from 'rxjs';
|
4
|
-
import { switchMap, catchError, map, throttleTime, withLatestFrom, } from 'rxjs/operators';
|
5
|
-
import { DaffCategoryRequestKind, } from '@daffodil/category';
|
6
|
-
import { DaffCategoryDriver, } from '@daffodil/category/driver';
|
7
|
-
import { daffFiltersToRequests, } from '@daffodil/core';
|
8
|
-
import { DaffProductGridLoadSuccess } from '@daffodil/product/state';
|
9
|
-
import { DaffCategoryPageProductCollectionActionTypes, } from '../actions/category-page-filter.actions';
|
10
|
-
import { DaffCategoryPageLoadSuccess, DaffCategoryPageLoadFailure, } from '../actions/category-page.actions';
|
11
|
-
import { DaffCategoryProductCollectionFacade } from '../facades/public_api';
|
12
|
-
import { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@ngrx/effects";
|
15
|
-
import * as i2 from "../facades/public_api";
|
16
|
-
export class DaffCategoryPageFilterEffects {
|
17
|
-
constructor(actions$, driver, errorMatcher, facade) {
|
18
|
-
this.actions$ = actions$;
|
19
|
-
this.driver = driver;
|
20
|
-
this.errorMatcher = errorMatcher;
|
21
|
-
this.facade = facade;
|
22
|
-
/**
|
23
|
-
* Updates the filters applied to the category page. It will take the currently
|
24
|
-
* applied filters from state, form them into a request, and attempt to apply
|
25
|
-
* that request to a backend service.
|
26
|
-
*
|
27
|
-
* @param throttleWindow the amount of time to delay when apply/removing filters
|
28
|
-
* in a sequence.
|
29
|
-
*/
|
30
|
-
this.updateFilters$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction), withLatestFrom(this.facade.metadata$), map(([action, metadata]) => ({
|
31
|
-
kind: DaffCategoryRequestKind.ID,
|
32
|
-
id: metadata.id,
|
33
|
-
filterRequests: daffFiltersToRequests(metadata.filters),
|
34
|
-
appliedSortOption: metadata.appliedSortOption,
|
35
|
-
appliedSortDirection: metadata.appliedSortDirection,
|
36
|
-
currentPage: metadata.currentPage,
|
37
|
-
pageSize: metadata.pageSize,
|
38
|
-
})), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(payload => this.driver.get(payload).pipe(switchMap((resp) => [
|
39
|
-
new DaffProductGridLoadSuccess(resp.products),
|
40
|
-
new DaffCategoryPageLoadSuccess(resp),
|
41
|
-
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
|
42
|
-
}
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageFilterEffects, deps: [{ token: i1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: i2.DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
44
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageFilterEffects }); }
|
45
|
-
}
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageFilterEffects, decorators: [{
|
47
|
-
type: Injectable
|
48
|
-
}], ctorParameters: () => [{ type: i1.Actions }, { type: undefined, decorators: [{
|
49
|
-
type: Inject,
|
50
|
-
args: [DaffCategoryDriver]
|
51
|
-
}] }, { type: undefined, decorators: [{
|
52
|
-
type: Inject,
|
53
|
-
args: [DAFF_CATEGORY_ERROR_MATCHER]
|
54
|
-
}] }, { type: i2.DaffCategoryProductCollectionFacade }] });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcGFnZS1maWx0ZXIuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2VmZmVjdHMvY2F0ZWdvcnktcGFnZS1maWx0ZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEVBQUUsRUFFRixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixHQUFHLEVBQ0gsWUFBWSxFQUNaLGNBQWMsR0FDZixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFHTCx1QkFBdUIsR0FFeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUVMLHFCQUFxQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJFLE9BQU8sRUFDTCw0Q0FBNEMsR0FFN0MsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM1QixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBRzdFLE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsWUFDVSxRQUFpQixFQUNXLE1BQTBDLEVBQ2pDLFlBQThCLEVBQ25FLE1BQTJDO1FBSDNDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDVyxXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDbkUsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFHckQ7Ozs7Ozs7V0FPRztRQUVILG1CQUFjLEdBSVYsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsY0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDM0YsTUFBTSxDQUNKLDRDQUE0QyxDQUFDLCtCQUErQixFQUM1RSw0Q0FBNEMsQ0FBQyxnQ0FBZ0MsRUFDN0UsNENBQTRDLENBQUMsOEJBQThCLEVBQzNFLDRDQUE0QyxDQUFDLDhCQUE4QixFQUMzRSw0Q0FBNEMsQ0FBQywrQkFBK0IsRUFDNUUsNENBQTRDLENBQUMsOEJBQThCLENBQzVFLEVBQ0QsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUNGLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBdUUsRUFDakUsRUFBRSxDQUFDLENBQUM7WUFDM0IsSUFBSSxFQUFFLHVCQUF1QixDQUFDLEVBQUU7WUFDaEMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDdkQsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtZQUM3QyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsb0JBQW9CO1lBQ25ELFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztZQUNqQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7U0FDNUIsQ0FBQyxDQUFDLEVBQ0gsWUFBWSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUMxRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxDQUFDLElBQW1DLEVBQUUsRUFBRSxDQUFDO1lBQ2pELElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQztTQUN0QyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FBQyxDQUNILENBQUMsQ0FBQztJQTVDSCxDQUFDO2lJQVZRLDZCQUE2Qix5Q0FPOUIsa0JBQWtCLGFBQ2xCLDJCQUEyQjtxSUFSMUIsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVOzswQkFRTixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGlvbnMsXG4gIGNyZWF0ZUVmZmVjdCxcbiAgb2ZUeXBlLFxufSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIG9mLFxuICBPYnNlcnZhYmxlLFxuICBhc3luY1NjaGVkdWxlcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvc2NoZWR1bGVyL0FzeW5jU2NoZWR1bGVyJztcbmltcG9ydCB7XG4gIHN3aXRjaE1hcCxcbiAgY2F0Y2hFcnJvcixcbiAgbWFwLFxuICB0aHJvdHRsZVRpbWUsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIERhZmZHZW5lcmljQ2F0ZWdvcnksXG4gIERhZmZHZXRDYXRlZ29yeVJlc3BvbnNlLFxuICBEYWZmQ2F0ZWdvcnlSZXF1ZXN0S2luZCxcbiAgRGFmZkNhdGVnb3J5SWRSZXF1ZXN0LFxufSBmcm9tICdAZGFmZm9kaWwvY2F0ZWdvcnknO1xuaW1wb3J0IHsgRGFmZkNhdGVnb3J5UGFnZU1ldGFkYXRhIH0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5JztcbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeURyaXZlcixcbiAgRGFmZkNhdGVnb3J5U2VydmljZUludGVyZmFjZSxcbn0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5L2RyaXZlcic7XG5pbXBvcnQge1xuICBEYWZmRXJyb3IsXG4gIGRhZmZGaWx0ZXJzVG9SZXF1ZXN0cyxcbn0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JUcmFuc2Zvcm1lciB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcbmltcG9ydCB7IERhZmZQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHsgRGFmZlByb2R1Y3RHcmlkTG9hZFN1Y2Nlc3MgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5cbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25zLFxufSBmcm9tICcuLi9hY3Rpb25zL2NhdGVnb3J5LXBhZ2UtZmlsdGVyLmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEZhaWx1cmUsXG59IGZyb20gJy4uL2FjdGlvbnMvY2F0ZWdvcnktcGFnZS5hY3Rpb25zJztcbmltcG9ydCB7IERhZmZDYXRlZ29yeVByb2R1Y3RDb2xsZWN0aW9uRmFjYWRlIH0gZnJvbSAnLi4vZmFjYWRlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUiB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYWZmQ2F0ZWdvcnlQYWdlRmlsdGVyRWZmZWN0czxcbiAgViBleHRlbmRzIERhZmZHZW5lcmljQ2F0ZWdvcnk8Vj4sXG4gIFcgZXh0ZW5kcyBEYWZmUHJvZHVjdFxuPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBASW5qZWN0KERhZmZDYXRlZ29yeURyaXZlcikgcHJpdmF0ZSBkcml2ZXI6IERhZmZDYXRlZ29yeVNlcnZpY2VJbnRlcmZhY2U8ViwgVz4sXG4gICAgQEluamVjdChEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIpIHByaXZhdGUgZXJyb3JNYXRjaGVyOiBFcnJvclRyYW5zZm9ybWVyLFxuICAgIHByaXZhdGUgZmFjYWRlOiBEYWZmQ2F0ZWdvcnlQcm9kdWN0Q29sbGVjdGlvbkZhY2FkZSxcbiAgKXt9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgY2F0ZWdvcnkgcGFnZS4gSXQgd2lsbCB0YWtlIHRoZSBjdXJyZW50bHlcbiAgICogYXBwbGllZCBmaWx0ZXJzIGZyb20gc3RhdGUsIGZvcm0gdGhlbSBpbnRvIGEgcmVxdWVzdCwgYW5kIGF0dGVtcHQgdG8gYXBwbHlcbiAgICogdGhhdCByZXF1ZXN0IHRvIGEgYmFja2VuZCBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gdGhyb3R0bGVXaW5kb3cgdGhlIGFtb3VudCBvZiB0aW1lIHRvIGRlbGF5IHdoZW4gYXBwbHkvcmVtb3ZpbmcgZmlsdGVyc1xuICAgKiBpbiBhIHNlcXVlbmNlLlxuICAgKi9cblxuICB1cGRhdGVGaWx0ZXJzJDogKHRocm90dGxlV2luZG93OiBudW1iZXIsIHNjaGVkdWxlcjogQXN5bmNTY2hlZHVsZXIpID0+IE9ic2VydmFibGU8XG4gIERhZmZQcm9kdWN0R3JpZExvYWRTdWNjZXNzXG4gIHwgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzXG4gIHwgRGFmZkNhdGVnb3J5UGFnZUxvYWRGYWlsdXJlXG4gID4gPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRocm90dGxlV2luZG93ID0gMzAwLCBzY2hlZHVsZXIgPSBhc3luY1NjaGVkdWxlcikgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VDaGFuZ2VGaWx0ZXJzQWN0aW9uLFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VSZXBsYWNlRmlsdGVyc0FjdGlvbixcbiAgICAgICAgRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9uVHlwZXMuQ2F0ZWdvcnlQYWdlQXBwbHlGaWx0ZXJzQWN0aW9uLFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VDbGVhckZpbHRlcnNBY3Rpb24sXG4gICAgICAgIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZVJlbW92ZUZpbHRlcnNBY3Rpb24sXG4gICAgICAgIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZVRvZ2dsZUZpbHRlckFjdGlvbixcbiAgICAgICksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmZhY2FkZS5tZXRhZGF0YSQpLFxuICAgICAgbWFwKChcbiAgICAgICAgW2FjdGlvbiwgbWV0YWRhdGFdOiBbRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9ucywgRGFmZkNhdGVnb3J5UGFnZU1ldGFkYXRhXSxcbiAgICAgICk6IERhZmZDYXRlZ29yeUlkUmVxdWVzdCA9PiAoe1xuICAgICAgICBraW5kOiBEYWZmQ2F0ZWdvcnlSZXF1ZXN0S2luZC5JRCxcbiAgICAgICAgaWQ6IG1ldGFkYXRhLmlkLFxuICAgICAgICBmaWx0ZXJSZXF1ZXN0czogZGFmZkZpbHRlcnNUb1JlcXVlc3RzKG1ldGFkYXRhLmZpbHRlcnMpLFxuICAgICAgICBhcHBsaWVkU29ydE9wdGlvbjogbWV0YWRhdGEuYXBwbGllZFNvcnRPcHRpb24sXG4gICAgICAgIGFwcGxpZWRTb3J0RGlyZWN0aW9uOiBtZXRhZGF0YS5hcHBsaWVkU29ydERpcmVjdGlvbixcbiAgICAgICAgY3VycmVudFBhZ2U6IG1ldGFkYXRhLmN1cnJlbnRQYWdlLFxuICAgICAgICBwYWdlU2l6ZTogbWV0YWRhdGEucGFnZVNpemUsXG4gICAgICB9KSksXG4gICAgICB0aHJvdHRsZVRpbWUodGhyb3R0bGVXaW5kb3csIHNjaGVkdWxlciwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAgIHN3aXRjaE1hcChwYXlsb2FkID0+IHRoaXMuZHJpdmVyLmdldChwYXlsb2FkKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3A6IERhZmZHZXRDYXRlZ29yeVJlc3BvbnNlPFYsIFc+KSA9PiBbXG4gICAgICAgICAgbmV3IERhZmZQcm9kdWN0R3JpZExvYWRTdWNjZXNzKHJlc3AucHJvZHVjdHMpLFxuICAgICAgICAgIG5ldyBEYWZmQ2F0ZWdvcnlQYWdlTG9hZFN1Y2Nlc3MocmVzcCksXG4gICAgICAgIF0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogRGFmZkVycm9yKSA9PiBvZihuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRGYWlsdXJlKHRoaXMuZXJyb3JNYXRjaGVyKGVycm9yKSkpKSxcbiAgICAgICkpLFxuICAgICkpO1xufVxuIl19
|