@ngdux/list 1.3.2 → 2.0.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.
Files changed (43) hide show
  1. package/esm2022/index.mjs +12 -0
  2. package/esm2022/lib/+state/effects.mjs +22 -0
  3. package/esm2022/lib/+state/state.service.mjs +55 -0
  4. package/esm2022/lib/models/list.model.mjs +7 -0
  5. package/esm2022/lib/ngdux-list-state.module.mjs +53 -0
  6. package/esm2022/lib/services/list-notification-service.mjs +21 -0
  7. package/esm2022/lib/state-generator/abstract-list-effects.mjs +50 -0
  8. package/esm2022/lib/state-generator/abstract-list-state.service.mjs +44 -0
  9. package/esm2022/lib/state-generator/abstract-list.facade.mjs +85 -0
  10. package/esm2022/lib/state-generator/list-actions.mjs +58 -0
  11. package/esm2022/lib/state-generator/list-reducer.mjs +104 -0
  12. package/esm2022/lib/state-generator/list-selectors.mjs +80 -0
  13. package/esm2022/lib/state-generator/list-state.mjs +18 -0
  14. package/{esm2020 → esm2022}/ngdux-list.mjs +4 -4
  15. package/{fesm2020 → fesm2022}/ngdux-list.mjs +540 -432
  16. package/fesm2022/ngdux-list.mjs.map +1 -0
  17. package/index.d.ts +11 -9
  18. package/lib/+state/effects.d.ts +14 -0
  19. package/lib/+state/state.service.d.ts +22 -0
  20. package/lib/models/list.model.d.ts +191 -183
  21. package/lib/ngdux-list-state.module.d.ts +23 -0
  22. package/lib/services/list-notification-service.d.ts +13 -0
  23. package/lib/{+state → state-generator}/abstract-list-effects.d.ts +49 -61
  24. package/lib/{+state → state-generator}/abstract-list-state.service.d.ts +21 -21
  25. package/lib/{+state → state-generator}/abstract-list.facade.d.ts +45 -46
  26. package/lib/{+state → state-generator}/list-actions.d.ts +2 -2
  27. package/lib/{+state → state-generator}/list-reducer.d.ts +10 -10
  28. package/lib/state-generator/list-selectors.d.ts +4 -0
  29. package/lib/{+state → state-generator}/list-state.d.ts +12 -12
  30. package/package.json +9 -102
  31. package/esm2020/index.mjs +0 -10
  32. package/esm2020/lib/+state/abstract-list-effects.mjs +0 -71
  33. package/esm2020/lib/+state/abstract-list-state.service.mjs +0 -44
  34. package/esm2020/lib/+state/abstract-list.facade.mjs +0 -88
  35. package/esm2020/lib/+state/list-actions.mjs +0 -60
  36. package/esm2020/lib/+state/list-reducer.mjs +0 -97
  37. package/esm2020/lib/+state/list-selectors.mjs +0 -80
  38. package/esm2020/lib/+state/list-state.mjs +0 -18
  39. package/esm2020/lib/models/list.model.mjs +0 -4
  40. package/fesm2015/ngdux-list.mjs +0 -404
  41. package/fesm2015/ngdux-list.mjs.map +0 -1
  42. package/fesm2020/ngdux-list.mjs.map +0 -1
  43. package/lib/+state/list-selectors.d.ts +0 -4
@@ -0,0 +1,12 @@
1
+ export { RequestState } from '@ngdux/data-model-common';
2
+ export { ListStateService } from './lib/+state/state.service';
3
+ export * from './lib/models/list.model';
4
+ export * from './lib/ngdux-list-state.module';
5
+ export * from './lib/state-generator/abstract-list-effects';
6
+ export * from './lib/state-generator/abstract-list-state.service';
7
+ export * from './lib/state-generator/abstract-list.facade';
8
+ export * from './lib/state-generator/list-actions';
9
+ export * from './lib/state-generator/list-reducer';
10
+ export * from './lib/state-generator/list-selectors';
11
+ export * from './lib/state-generator/list-state';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvbGlzdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3RCxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBMaXN0U2VydmljZSwgUmVxdWVzdE9wdGlvbnMsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmV4cG9ydCB7IExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2xpYi8rc3RhdGUvc3RhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9saXN0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmdkdXgtbGlzdC1zdGF0ZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZS1nZW5lcmF0b3IvYWJzdHJhY3QtbGlzdC1lZmZlY3RzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUtZ2VuZXJhdG9yL2Fic3RyYWN0LWxpc3Qtc3RhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlLWdlbmVyYXRvci9hYnN0cmFjdC1saXN0LmZhY2FkZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlLWdlbmVyYXRvci9saXN0LWFjdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0ZS1nZW5lcmF0b3IvbGlzdC1yZWR1Y2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUtZ2VuZXJhdG9yL2xpc3Qtc2VsZWN0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUtZ2VuZXJhdG9yL2xpc3Qtc3RhdGUnO1xyXG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { Optional } from '@angular/core';
3
+ import { Actions } from '@ngrx/effects';
4
+ import { Store } from '@ngrx/store';
5
+ import { AbstractListEffects } from '../state-generator/abstract-list-effects';
6
+ import { ListStateService } from './state.service';
7
+ export let ListEffects = class ListEffects extends AbstractListEffects {
8
+ constructor(actions$, store, listStateService, featureKey, service, notificationService) {
9
+ super(actions$, store, service, listStateService.getFeatureActions(featureKey), listStateService.getFeatureSelectors(featureKey), notificationService);
10
+ this.featureKey = featureKey;
11
+ }
12
+ ngrxOnIdentifyEffects() {
13
+ return this.featureKey;
14
+ }
15
+ };
16
+ ListEffects = __decorate([
17
+ __param(5, Optional()),
18
+ __metadata("design:paramtypes", [Actions,
19
+ Store,
20
+ ListStateService, String, Object, Object])
21
+ ], ListEffects);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvK3N0YXRlL2VmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxXQUFhLFdBQVcsR0FBeEIsTUFBYSxXQU1YLFNBQVEsbUJBQXdDO0lBR2hELFlBQ0UsUUFBaUIsRUFDakIsS0FBWSxFQUNaLGdCQUF1RCxFQUN0QyxVQUFrQixFQUNuQyxPQUFrQyxFQUN0QixtQkFBb0Q7UUFFaEUsS0FBSyxDQUNILFFBQVEsRUFDUixLQUFLLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUM5QyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFDaEQsbUJBQW1CLENBQ3BCLENBQUM7UUFYZSxlQUFVLEdBQVYsVUFBVSxDQUFRO0lBWXJDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FDRixDQUFBO0FBOUJZLFdBQVc7SUFlbkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtxQ0FMRCxPQUFPO1FBQ1YsS0FBSztRQUNNLGdCQUFnQjtHQVp6QixXQUFXLENBOEJ2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBMaXN0U2VydmljZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IEFjdGlvbnMsIE9uSWRlbnRpZnlFZmZlY3RzIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdExpc3RFZmZlY3RzIH0gZnJvbSAnLi4vc3RhdGUtZ2VuZXJhdG9yL2Fic3RyYWN0LWxpc3QtZWZmZWN0cyc7XHJcbmltcG9ydCB7IExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIExpc3RFZmZlY3RzPFxyXG4gICAgVCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBFcnJvciA9IHVua25vd24sXHJcbiAgICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbiAgPlxyXG4gIGV4dGVuZHMgQWJzdHJhY3RMaXN0RWZmZWN0czxULCBFcnJvciwgUywgUGFyYW1zPlxyXG4gIGltcGxlbWVudHMgT25JZGVudGlmeUVmZmVjdHNcclxue1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICBzdG9yZTogU3RvcmUsXHJcbiAgICBsaXN0U3RhdGVTZXJ2aWNlOiBMaXN0U3RhdGVTZXJ2aWNlPFQsIEVycm9yLCBTLCBQYXJhbXM+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlS2V5OiBzdHJpbmcsXHJcbiAgICBzZXJ2aWNlOiBMaXN0U2VydmljZTxULCBTLCBQYXJhbXM+LFxyXG4gICAgQE9wdGlvbmFsKCkgbm90aWZpY2F0aW9uU2VydmljZT86IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlPEVycm9yPlxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGFjdGlvbnMkLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgc2VydmljZSxcclxuICAgICAgbGlzdFN0YXRlU2VydmljZS5nZXRGZWF0dXJlQWN0aW9ucyhmZWF0dXJlS2V5KSxcclxuICAgICAgbGlzdFN0YXRlU2VydmljZS5nZXRGZWF0dXJlU2VsZWN0b3JzKGZlYXR1cmVLZXkpLFxyXG4gICAgICBub3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdyeE9uSWRlbnRpZnlFZmZlY3RzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZUtleTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,55 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ReducerManager, createFeatureSelector } from '@ngrx/store';
3
+ import { LIST_FEATURE_KEYS } from '../models/list.model';
4
+ import { createListActions } from '../state-generator/list-actions';
5
+ import { createListEntityAdapter, createListReducer } from '../state-generator/list-reducer';
6
+ import { createListSelectors } from '../state-generator/list-selectors';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngrx/store";
9
+ export class ListStateService {
10
+ constructor(reducerManager, featureKeys) {
11
+ this.reducerManager = reducerManager;
12
+ this.actions = {};
13
+ this.selectors = {};
14
+ this.entityAdapter = this.getEntityAdapter();
15
+ featureKeys.forEach(featureKey => {
16
+ if (!this.actions[featureKey]) {
17
+ this.actions[featureKey] = this.getActions(featureKey);
18
+ this.addReducer(featureKey, this.actions[featureKey]);
19
+ this.selectors[featureKey] = this.getSelectors(featureKey);
20
+ }
21
+ });
22
+ }
23
+ getActions(featureKey) {
24
+ return createListActions(featureKey);
25
+ }
26
+ getEntityAdapter() {
27
+ return createListEntityAdapter();
28
+ }
29
+ addReducer(featureKey, actions) {
30
+ const currentReducers = Object.keys(this.reducerManager.currentReducers || {});
31
+ if (!currentReducers.includes(featureKey)) {
32
+ const reducer = createListReducer(this.entityAdapter, actions);
33
+ this.reducerManager.addReducer(featureKey, reducer);
34
+ }
35
+ }
36
+ getSelectors(featureKey) {
37
+ const getState = createFeatureSelector(featureKey);
38
+ return createListSelectors(this.entityAdapter, getState);
39
+ }
40
+ getFeatureActions(featureKey) {
41
+ return this.actions[featureKey];
42
+ }
43
+ getFeatureSelectors(featureKey) {
44
+ return this.selectors[featureKey];
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListStateService, deps: [{ token: i1.ReducerManager }, { token: LIST_FEATURE_KEYS }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListStateService }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListStateService, decorators: [{
50
+ type: Injectable
51
+ }], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [LIST_FEATURE_KEYS]
54
+ }] }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvK3N0YXRlL3N0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXlDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUd4RSxNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQTZCLGNBQThCLEVBQTZCLFdBQXFCO1FBQWhGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpqRCxZQUFPLEdBQXFELEVBQUUsQ0FBQztRQUMvRCxjQUFTLEdBQW9ELEVBQUUsQ0FBQztRQUl4RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDNUQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxVQUFVLENBQUMsVUFBa0I7UUFDckMsT0FBTyxpQkFBaUIsQ0FBc0IsVUFBVSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixPQUFPLHVCQUF1QixFQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVTLFVBQVUsQ0FBQyxVQUFrQixFQUFFLE9BQXlDO1FBQ2hGLE1BQU0sZUFBZSxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekMsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQXNCLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVTLFlBQVksQ0FBQyxVQUFrQjtRQUN2QyxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBOEIsVUFBVSxDQUFDLENBQUM7UUFDaEYsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQWpEVSxnQkFBZ0IsZ0RBVTBDLGlCQUFpQjttSEFWM0UsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFXcUQsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5QWRhcHRlciB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XHJcbmltcG9ydCB7IFJlZHVjZXJNYW5hZ2VyLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IExJU1RfRkVBVFVSRV9LRVlTLCBMaXN0QWN0aW9ucywgTGlzdFNlbGVjdG9ycywgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0QWN0aW9ucyB9IGZyb20gJy4uL3N0YXRlLWdlbmVyYXRvci9saXN0LWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0RW50aXR5QWRhcHRlciwgY3JlYXRlTGlzdFJlZHVjZXIgfSBmcm9tICcuLi9zdGF0ZS1nZW5lcmF0b3IvbGlzdC1yZWR1Y2VyJztcclxuaW1wb3J0IHsgY3JlYXRlTGlzdFNlbGVjdG9ycyB9IGZyb20gJy4uL3N0YXRlLWdlbmVyYXRvci9saXN0LXNlbGVjdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMaXN0U3RhdGVTZXJ2aWNlPFxyXG4gIFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gIEVycm9yID0gdW5rbm93bixcclxuICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4+IHtcclxuICBwcm90ZWN0ZWQgYWN0aW9uczogUmVjb3JkPHN0cmluZywgTGlzdEFjdGlvbnM8VCwgRXJyb3IsIFMsIFBhcmFtcz4+ID0ge307XHJcbiAgcHJvdGVjdGVkIHNlbGVjdG9yczogUmVjb3JkPHN0cmluZywgTGlzdFNlbGVjdG9yczxTLCBFcnJvciwgUGFyYW1zPj4gPSB7fTtcclxuICBwcml2YXRlIGVudGl0eUFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8Uz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVkdWNlck1hbmFnZXI6IFJlZHVjZXJNYW5hZ2VyLCBASW5qZWN0KExJU1RfRkVBVFVSRV9LRVlTKSBmZWF0dXJlS2V5czogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZW50aXR5QWRhcHRlciA9IHRoaXMuZ2V0RW50aXR5QWRhcHRlcigpO1xyXG4gICAgZmVhdHVyZUtleXMuZm9yRWFjaChmZWF0dXJlS2V5ID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmFjdGlvbnNbZmVhdHVyZUtleV0pIHtcclxuICAgICAgICB0aGlzLmFjdGlvbnNbZmVhdHVyZUtleV0gPSB0aGlzLmdldEFjdGlvbnMoZmVhdHVyZUtleSk7XHJcbiAgICAgICAgdGhpcy5hZGRSZWR1Y2VyKGZlYXR1cmVLZXksIHRoaXMuYWN0aW9uc1tmZWF0dXJlS2V5XSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RvcnNbZmVhdHVyZUtleV0gPSB0aGlzLmdldFNlbGVjdG9ycyhmZWF0dXJlS2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0QWN0aW9ucyhmZWF0dXJlS2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBjcmVhdGVMaXN0QWN0aW9uczxULCBFcnJvciwgUywgUGFyYW1zPihmZWF0dXJlS2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RW50aXR5QWRhcHRlcigpIHtcclxuICAgIHJldHVybiBjcmVhdGVMaXN0RW50aXR5QWRhcHRlcjxTPigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFkZFJlZHVjZXIoZmVhdHVyZUtleTogc3RyaW5nLCBhY3Rpb25zOiBMaXN0QWN0aW9uczxULCBFcnJvciwgUywgUGFyYW1zPikge1xyXG4gICAgY29uc3QgY3VycmVudFJlZHVjZXJzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHRoaXMucmVkdWNlck1hbmFnZXIuY3VycmVudFJlZHVjZXJzIHx8IHt9KTtcclxuXHJcbiAgICBpZiAoIWN1cnJlbnRSZWR1Y2Vycy5pbmNsdWRlcyhmZWF0dXJlS2V5KSkge1xyXG4gICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlTGlzdFJlZHVjZXI8VCwgRXJyb3IsIFMsIFBhcmFtcz4odGhpcy5lbnRpdHlBZGFwdGVyLCBhY3Rpb25zKTtcclxuICAgICAgdGhpcy5yZWR1Y2VyTWFuYWdlci5hZGRSZWR1Y2VyKGZlYXR1cmVLZXksIHJlZHVjZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFNlbGVjdG9ycyhmZWF0dXJlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGdldFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPExpc3RTdGF0ZTxTLCBFcnJvciwgUGFyYW1zPj4oZmVhdHVyZUtleSk7XHJcbiAgICByZXR1cm4gY3JlYXRlTGlzdFNlbGVjdG9ycyh0aGlzLmVudGl0eUFkYXB0ZXIsIGdldFN0YXRlKTtcclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVBY3Rpb25zKGZlYXR1cmVLZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uc1tmZWF0dXJlS2V5XTtcclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVTZWxlY3RvcnMoZmVhdHVyZUtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnNbZmVhdHVyZUtleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+ import { InjectionToken } from '@angular/core';
3
+ export const LIST_FEATURE_KEY = new InjectionToken('LIST_FEATURE_KEY');
4
+ export const LIST_FEATURE_KEYS = new InjectionToken('LIST_FEATURE_KEYS');
5
+ export const LIST_SERVICES = new InjectionToken('LIST_SERVICES');
6
+ export const LIST_NOTIFICATION_SERVICES = new InjectionToken('LIST_NOTIFICATION_SERVICES');
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvbW9kZWxzL2xpc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaURBQWlEO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFnQnJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDL0UsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVMsbUJBQW1CLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQVMsZUFBZSxDQUFDLENBQUM7QUFDekUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQVMsNEJBQTRCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXMgKi9cclxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBFcnJvckR0byxcclxuICBGaWx0ZXJpbmdPcHRpb25zLFxyXG4gIExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gIExpc3RTZXJ2aWNlLFxyXG4gIFBhZ2luZ09wdGlvbnMsXHJcbiAgUmVxdWVzdE9wdGlvbnMsXHJcbiAgUmVxdWVzdFN0YXRlLFxyXG4gIFNvcnRpbmdGaWVsZFxyXG59IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IEFwaVJlcXVlc3RTdGF0ZSwgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQG5nZHV4L3N0b3JlLWNvbW1vbic7XHJcbmltcG9ydCB7IEVudGl0eVN0YXRlIH0gZnJvbSAnQG5ncngvZW50aXR5JztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgVHlwZWRBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBMSVNUX0ZFQVRVUkVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0xJU1RfRkVBVFVSRV9LRVknKTtcclxuZXhwb3J0IGNvbnN0IExJU1RfRkVBVFVSRV9LRVlTID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0xJU1RfRkVBVFVSRV9LRVlTJyk7XHJcbmV4cG9ydCBjb25zdCBMSVNUX1NFUlZJQ0VTID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0xJU1RfU0VSVklDRVMnKTtcclxuZXhwb3J0IGNvbnN0IExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0xJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTdGF0ZTxULCBFID0gdW5rbm93biwgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj5cclxuICBleHRlbmRzIEVudGl0eVN0YXRlPFQ+LFxyXG4gICAgUmVxdWVzdE9wdGlvbnM8UGFyYW1zPixcclxuICAgIEFwaVJlcXVlc3RTdGF0ZTxFPixcclxuICAgIExvYWRpbmdTdGF0ZSB7XHJcbiAgc2VsZWN0ZWRSZXNvdXJjZUlkczogc3RyaW5nW107XHJcbiAgbGFzdFBhZ2VOdW1iZXI/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFNlbGVjdG9yczxULCBFID0gdW5rbm93biwgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xyXG4gIGdldEFsbDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFRbXT47XHJcbiAgZ2V0UmVxdWVzdE9wdGlvbnM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBSZXF1ZXN0T3B0aW9ucz47XHJcbiAgaXNMYXN0UGFnZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIGJvb2xlYW4+O1xyXG4gIGdldEN1cnJlbnRQYWdlRGF0YTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFRbXT47XHJcbiAgZ2V0UGFnaW5nT3B0aW9uczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFBhZ2luZ09wdGlvbnM+O1xyXG4gIGdldFNvcnRpbmdPcHRpb25zOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgU29ydGluZ0ZpZWxkW10+O1xyXG4gIGdldEZpbHRlcmluZ09wdGlvbnM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBGaWx0ZXJpbmdPcHRpb25zPjtcclxuICBnZXRSZXF1ZXN0UGFyYW1ldGVyczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFBhcmFtcyB8IHVuZGVmaW5lZD47XHJcbiAgZ2V0Q3VycmVudFBhZ2VOdW1iZXI6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBudW1iZXI+O1xyXG4gIGdldExhc3RQYWdlTnVtYmVyOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgbnVtYmVyIHwgdW5kZWZpbmVkPjtcclxuICBnZXRMb2FkaW5nU3RhdGU6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBSZXF1ZXN0U3RhdGU+O1xyXG4gIGdldFNlbGVjdGVkUmVzb3VyY2VJZHM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBzdHJpbmdbXT47XHJcbiAgZ2V0U2VsZWN0ZWRJdGVtczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFRbXT47XHJcbiAgZ2V0U2VsZWN0aW9uUmVjb3JkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVjb3JkPHN0cmluZywgVD4+O1xyXG4gIGdldFJlcXVlc3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJlcXVlc3RTdGF0ZT47XHJcbiAgZ2V0RXJyb3JzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgRSB8IHVuZGVmaW5lZD47XHJcbiAgYXJlU2VsZWN0ZWRSZWFkeTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIGJvb2xlYW4+O1xyXG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcclxuICBpc0RlbGV0ZURpc2FibGVkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgYm9vbGVhbj47XHJcbiAgaXNDb3B5RGlzYWJsZWQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcclxuICBnZXRUb3RhbENvdW50OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgbnVtYmVyPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0QWN0aW9uczxFbnRpdHksIEVycm9yID0gdW5rbm93biwgU3VtbWFyeSA9IEVudGl0eSwgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgcGFnZSBzaXplIHdpdGhvdXQgcmVsb2FkaW5nIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgc2V0UGFnZVNpemU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcGFnZVNpemU6IG51bWJlciB9KSA9PiB7IHBhZ2VTaXplOiBudW1iZXIgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgc29ydGluZyBvcHRpb25zIHdpdGhvdXQgcmVsb2FkaW5nIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgc2V0U29ydGluZzogQWN0aW9uQ3JlYXRvcjxcclxuICAgIHN0cmluZyxcclxuICAgIChwcm9wczogeyBzb3J0aW5nT3B0aW9uczogU29ydGluZ0ZpZWxkW10gfSkgPT4geyBzb3J0aW5nT3B0aW9uczogU29ydGluZ0ZpZWxkW10gfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cclxuICA+O1xyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgZmlsdGVyaW5nIG9wdGlvbnMgd2l0aG91dCByZWxvYWRpbmcgdGhlIGxpc3RcclxuICAgKi9cclxuICBzZXRGaWx0ZXJpbmc6IEFjdGlvbkNyZWF0b3I8XHJcbiAgICBzdHJpbmcsXHJcbiAgICAocHJvcHM6IHsgZmlsdGVyaW5nT3B0aW9uczogRmlsdGVyaW5nT3B0aW9ucyB9KSA9PiB7IGZpbHRlcmluZ09wdGlvbnM6IEZpbHRlcmluZ09wdGlvbnMgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cclxuICA+O1xyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgcmVxdWVzdCBwYXJhbWV0ZXJzIHdpdGhvdXQgcmVsb2FkaW5nIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgc2V0UmVxdWVzdFBhcmFtczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBwYXJhbXM6IFBhcmFtcyB9KSA9PiB7IHBhcmFtczogUGFyYW1zIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRoZSBwYWdpbmcgb3B0aW9ucyBhbmQgcmVsb2FkIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgY2hhbmdlUGFnaW5nT3B0aW9uczogQWN0aW9uQ3JlYXRvcjxcclxuICAgIHN0cmluZyxcclxuICAgIChwcm9wczogeyBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zIH0pID0+IHsgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPlxyXG4gID47XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0aGUgcGFnZSBudW1iZXIgYW5kIHJlbG9hZCB0aGUgbGlzdFxyXG4gICAqL1xyXG4gIGNoYW5nZVBhZ2VOdW1iZXI6IEFjdGlvbkNyZWF0b3I8XHJcbiAgICBzdHJpbmcsXHJcbiAgICAocHJvcHM6IHsgcGFnZU51bWJlcjogbnVtYmVyIH0pID0+IHsgcGFnZU51bWJlcjogbnVtYmVyIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XHJcbiAgPjtcclxuICAvKipcclxuICAgKiBDaGFuZ2UgdGhlIHBhZ2Ugc2l6ZSBhbmQgcmVsb2FkIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgY2hhbmdlUGFnZVNpemU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcGFnZVNpemU6IG51bWJlciB9KSA9PiB7IHBhZ2VTaXplOiBudW1iZXIgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0aGUgc29ydGluZyBvcHRpb25zIGFuZCByZWxvYWQgdGhlIGxpc3RcclxuICAgKi9cclxuICBjaGFuZ2VTb3J0aW5nOiBBY3Rpb25DcmVhdG9yPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgKHByb3BzOiB7IHNvcnRpbmdPcHRpb25zOiBTb3J0aW5nRmllbGRbXSB9KSA9PiB7IHNvcnRpbmdPcHRpb25zOiBTb3J0aW5nRmllbGRbXSB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPlxyXG4gID47XHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRoZSBmaWx0ZXJpbmcgb3B0aW9ucyBhbmQgcmVsb2FkIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgY2hhbmdlRmlsdGVyaW5nOiBBY3Rpb25DcmVhdG9yPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgKHByb3BzOiB7IGZpbHRlcmluZ09wdGlvbnM6IEZpbHRlcmluZ09wdGlvbnMgfSkgPT4geyBmaWx0ZXJpbmdPcHRpb25zOiBGaWx0ZXJpbmdPcHRpb25zIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XHJcbiAgPjtcclxuICAvKipcclxuICAgKiBDaGFuZ2UgdGhlIHJlcXVlc3QgcGFyYW1ldGVycyBhbmQgcmVsb2FkIHRoZSBsaXN0XHJcbiAgICovXHJcbiAgY2hhbmdlUmVxdWVzdFBhcmFtczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBwYXJhbXM6IFBhcmFtcyB9KSA9PiB7IHBhcmFtczogUGFyYW1zIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgY2hhbmdlU2VsZWN0ZWRSZXNvdXJjZXM6IEFjdGlvbkNyZWF0b3I8XHJcbiAgICBzdHJpbmcsXHJcbiAgICAocHJvcHM6IHsgc2VsZWN0ZWRSZXNvdXJjZUlkczogc3RyaW5nW10gfSkgPT4geyBzZWxlY3RlZFJlc291cmNlSWRzOiBzdHJpbmdbXSB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPlxyXG4gID47XHJcbiAgbG9hZFBhZ2U6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBsb2FkUGFnZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8XHJcbiAgICBzdHJpbmcsXHJcbiAgICAocHJvcHM6IHtcclxuICAgICAgcmVzb3VyY2VzOiBTdW1tYXJ5W107XHJcbiAgICAgIHBhZ2luZ09wdGlvbnM6IFBhZ2luZ09wdGlvbnM7XHJcbiAgICB9KSA9PiB7IHJlc291cmNlczogU3VtbWFyeVtdOyBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XHJcbiAgPjtcclxuICBsb2FkUGFnZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFcnJvciB9KSA9PiB7IGVycm9yczogRXJyb3IgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZUlkczogc3RyaW5nW10gfSkgPT4geyByZXNvdXJjZUlkczogc3RyaW5nW10gfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8XHJcbiAgICBzdHJpbmcsXHJcbiAgICAocHJvcHM6IHsgcmVzb3VyY2VJZHM6IHN0cmluZ1tdIH0pID0+IHsgcmVzb3VyY2VJZHM6IHN0cmluZ1tdIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XHJcbiAgPjtcclxuICBkZWxldGVGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRXJyb3IgfSkgPT4geyBlcnJvcnM6IEVycm9yIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBwYXRjaDogQWN0aW9uQ3JlYXRvcjxcclxuICAgIHN0cmluZyxcclxuICAgIChwcm9wczoge1xyXG4gICAgICByZXNvdXJjZUlkczogc3RyaW5nW107XHJcbiAgICAgIHJlc291cmNlOiBQYXJ0aWFsPEVudGl0eT47XHJcbiAgICB9KSA9PiB7IHJlc291cmNlSWRzOiBzdHJpbmdbXTsgcmVzb3VyY2U6IFBhcnRpYWw8RW50aXR5PiB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPlxyXG4gID47XHJcbiAgcGF0Y2hTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgKHByb3BzOiB7IHJlc291cmNlczogKEVudGl0eSB8IEVycm9yRHRvKVtdIH0pID0+IHsgcmVzb3VyY2VzOiAoRW50aXR5IHwgRXJyb3JEdG8pW10gfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cclxuICA+O1xyXG4gIHBhdGNoRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEVycm9yIH0pID0+IHsgZXJyb3JzOiBFcnJvciB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZE5leHRQYWdlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgY3VycmVudCBkYXRhLCBzZXQgdGhlIHBhZ2UgbnVtYmVyIHRvIDEgYW5kIGRlc2VsZWN0IHJlc291cmNlcy5cclxuICAgKiBLZWVwIGFsbCB0aGUgcmVzdCwgbGlrZSBmaWx0ZXJpbmdPcHRpb25zIGFuZCBzb3J0aW5nT3B0aW9uc1xyXG4gICAqL1xyXG4gIGluaXRpYWxpemU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICAvKipcclxuICAgKiBSZXNldCB0byB0aGUgaW5pdGlhbCBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlc2V0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZFByZXZpb3VzUGFnZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGxvYWRGaXJzdFBhZ2U6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICAvKipcclxuICAgKiBSZXNldCB0aGUgcmVxdWVzdCBzdGF0ZSB0byBpZGxlXHJcbiAgICovXHJcbiAgcmVzZXRSZXF1ZXN0U3RhdGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOZ2R1eExpc3RTdGF0ZU1vZHVsZUNvbmZpZzxcclxuICBUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICBFLFxyXG4gIFMgPSBULFxyXG4gIFBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cclxuPiB7XHJcbiAgc2VydmljZTogVHlwZTxMaXN0U2VydmljZTxULCBTLCBQYXJhbXM+PjtcclxuICBub3RpZmljYXRpb25TZXJ2aWNlPzogVHlwZTxMaXN0Tm90aWZpY2F0aW9uU2VydmljZTxFPj47XHJcbn1cclxuIl19
@@ -0,0 +1,53 @@
1
+ import { Inject, NgModule } from '@angular/core';
2
+ import { RegisterEffectsService } from '@ngdux/store-common';
3
+ import { Actions } from '@ngrx/effects';
4
+ import { Store } from '@ngrx/store';
5
+ import { ListEffects } from './+state/effects';
6
+ import { ListStateService } from './+state/state.service';
7
+ import { LIST_FEATURE_KEYS, LIST_NOTIFICATION_SERVICES, LIST_SERVICES } from './models/list.model';
8
+ import { NotificationServicePlaceholder } from './services/list-notification-service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@ngdux/store-common";
11
+ import * as i2 from "@ngrx/effects";
12
+ import * as i3 from "@ngrx/store";
13
+ import * as i4 from "./+state/state.service";
14
+ export class NgduxListStateModule {
15
+ constructor(registerEffectsService, actions$, store, listStateService, featureKeys, services, notificationServices) {
16
+ featureKeys.forEach((featureKey, index) => {
17
+ const listEffects = new ListEffects(actions$, store, listStateService, featureKey, services[index], notificationServices[index]);
18
+ registerEffectsService.registerEffects([listEffects]);
19
+ });
20
+ }
21
+ static config(config) {
22
+ return {
23
+ ngModule: NgduxListStateModule,
24
+ providers: [
25
+ { provide: LIST_SERVICES, multi: true, useClass: config.service },
26
+ {
27
+ provide: LIST_NOTIFICATION_SERVICES,
28
+ multi: true,
29
+ useClass: config.notificationService || NotificationServicePlaceholder
30
+ }
31
+ ]
32
+ };
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgduxListStateModule, deps: [{ token: i1.RegisterEffectsService }, { token: i2.Actions }, { token: i3.Store }, { token: i4.ListStateService }, { token: LIST_FEATURE_KEYS }, { token: LIST_SERVICES }, { token: LIST_NOTIFICATION_SERVICES }], target: i0.ɵɵFactoryTarget.NgModule }); }
35
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgduxListStateModule }); }
36
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgduxListStateModule, providers: [ListStateService] }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgduxListStateModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ providers: [ListStateService]
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i1.RegisterEffectsService }, { type: i2.Actions }, { type: i3.Store }, { type: i4.ListStateService }, { type: undefined, decorators: [{
44
+ type: Inject,
45
+ args: [LIST_FEATURE_KEYS]
46
+ }] }, { type: undefined, decorators: [{
47
+ type: Inject,
48
+ args: [LIST_SERVICES]
49
+ }] }, { type: undefined, decorators: [{
50
+ type: Inject,
51
+ args: [LIST_NOTIFICATION_SERVICES]
52
+ }] }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtbGlzdC1zdGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvbGlzdC9zcmMvbGliL25nZHV4LWxpc3Qtc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLGFBQWEsRUFFZCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7QUFLdEYsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUNFLHNCQUE4QyxFQUM5QyxRQUFpQixFQUNqQixLQUFZLEVBQ1osZ0JBQXVELEVBQzVCLFdBQXFCLEVBQ3pCLFFBQXFDLEVBQ3hCLG9CQUFzRDtRQUUxRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUNqQyxRQUFRLEVBQ1IsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUNmLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUM1QixDQUFDO1lBQ0Ysc0JBQXNCLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQU1YLE1BQXVEO1FBRXZELE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDakU7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsSUFBSSw4QkFBOEI7aUJBQ3ZFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0EvQ1Usb0JBQW9CLG9JQVdyQixpQkFBaUIsYUFDakIsYUFBYSxhQUNiLDBCQUEwQjtnSEFiekIsb0JBQW9CO2dIQUFwQixvQkFBb0IsYUFGcEIsQ0FBQyxnQkFBZ0IsQ0FBQzs7NEZBRWxCLG9CQUFvQjtrQkFIaEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUI7OzBCQVlJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBMaXN0U2VydmljZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IFJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UgfSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgTGlzdEVmZmVjdHMgfSBmcm9tICcuLytzdGF0ZS9lZmZlY3RzJztcclxuaW1wb3J0IHsgTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4vK3N0YXRlL3N0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIExJU1RfRkVBVFVSRV9LRVlTLFxyXG4gIExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTLFxyXG4gIExJU1RfU0VSVklDRVMsXHJcbiAgTmdkdXhMaXN0U3RhdGVNb2R1bGVDb25maWdcclxufSBmcm9tICcuL21vZGVscy9saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9saXN0LW5vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbTGlzdFN0YXRlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5nZHV4TGlzdFN0YXRlTW9kdWxlPFxyXG4gIFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gIEVycm9yID0gdW5rbm93bixcclxuICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlZ2lzdGVyRWZmZWN0c1NlcnZpY2U6IFJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UsXHJcbiAgICBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHN0b3JlOiBTdG9yZSxcclxuICAgIGxpc3RTdGF0ZVNlcnZpY2U6IExpc3RTdGF0ZVNlcnZpY2U8VCwgRXJyb3IsIFMsIFBhcmFtcz4sXHJcbiAgICBASW5qZWN0KExJU1RfRkVBVFVSRV9LRVlTKSBmZWF0dXJlS2V5czogc3RyaW5nW10sXHJcbiAgICBASW5qZWN0KExJU1RfU0VSVklDRVMpIHNlcnZpY2VzOiBMaXN0U2VydmljZTxULCBTLCBQYXJhbXM+W10sXHJcbiAgICBASW5qZWN0KExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTKSBub3RpZmljYXRpb25TZXJ2aWNlczogTGlzdE5vdGlmaWNhdGlvblNlcnZpY2U8RXJyb3I+W11cclxuICApIHtcclxuICAgIGZlYXR1cmVLZXlzLmZvckVhY2goKGZlYXR1cmVLZXksIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3RFZmZlY3RzID0gbmV3IExpc3RFZmZlY3RzKFxyXG4gICAgICAgIGFjdGlvbnMkLFxyXG4gICAgICAgIHN0b3JlLFxyXG4gICAgICAgIGxpc3RTdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgZmVhdHVyZUtleSxcclxuICAgICAgICBzZXJ2aWNlc1tpbmRleF0sXHJcbiAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZXNbaW5kZXhdXHJcbiAgICAgICk7XHJcbiAgICAgIHJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UucmVnaXN0ZXJFZmZlY3RzKFtsaXN0RWZmZWN0c10pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29uZmlnPFxyXG4gICAgVCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBFcnJvciA9IHVua25vd24sXHJcbiAgICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbiAgPihcclxuICAgIGNvbmZpZzogTmdkdXhMaXN0U3RhdGVNb2R1bGVDb25maWc8VCwgRXJyb3IsIFMsIFBhcmFtcz5cclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nZHV4TGlzdFN0YXRlTW9kdWxlPFQsIEVycm9yLCBTLCBQYXJhbXM+PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmdkdXhMaXN0U3RhdGVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogTElTVF9TRVJWSUNFUywgbXVsdGk6IHRydWUsIHVzZUNsYXNzOiBjb25maWcuc2VydmljZSB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICB1c2VDbGFzczogY29uZmlnLm5vdGlmaWNhdGlvblNlcnZpY2UgfHwgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class NotificationServicePlaceholder {
5
+ onListErrors(errors) {
6
+ console.error('ERROR', errors);
7
+ }
8
+ onListDelete(ids) {
9
+ console.log(`Resources ${ids.join(', ')} have been deleted.`);
10
+ }
11
+ openConfirmationDialog(data) {
12
+ console.log(data.title, data.message);
13
+ return of(true);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationServicePlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationServicePlaceholder }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationServicePlaceholder, decorators: [{
19
+ type: Injectable
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ub3RpZmljYXRpb24tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvc2VydmljZXMvbGlzdC1ub3RpZmljYXRpb24tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsWUFBWSxDQUFDLE1BQWdCO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBd0M7UUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDOytHQWJVLDhCQUE4QjttSEFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFcnJvckR0bywgTGlzdE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyIGltcGxlbWVudHMgTGlzdE5vdGlmaWNhdGlvblNlcnZpY2U8RXJyb3JEdG8+IHtcclxuICBvbkxpc3RFcnJvcnMoZXJyb3JzOiBFcnJvckR0byk6IHZvaWQge1xyXG4gICAgY29uc29sZS5lcnJvcignRVJST1InLCBlcnJvcnMpO1xyXG4gIH1cclxuXHJcbiAgb25MaXN0RGVsZXRlKGlkczogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKGBSZXNvdXJjZXMgJHtpZHMuam9pbignLCAnKX0gaGF2ZSBiZWVuIGRlbGV0ZWQuYCk7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29uZmlybWF0aW9uRGlhbG9nKGRhdGE6IHsgbWVzc2FnZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnNvbGUubG9nKGRhdGEudGl0bGUsIGRhdGEubWVzc2FnZSk7XHJcblxyXG4gICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { createEffect, ofType } from '@ngrx/effects';
2
+ import { select } from '@ngrx/store';
3
+ import { of } from 'rxjs';
4
+ import { catchError, exhaustMap, filter, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';
5
+ export class AbstractListEffects {
6
+ constructor(actions$, store, service, listActions, listSelectors, notificationService) {
7
+ this.actions$ = actions$;
8
+ this.store = store;
9
+ this.service = service;
10
+ this.listActions = listActions;
11
+ this.listSelectors = listSelectors;
12
+ this.notificationService = notificationService;
13
+ this.reload$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.changePageSize, this.listActions.changeSorting, this.listActions.changeFiltering, this.listActions.changePagingOptions, this.listActions.changeRequestParams, this.listActions.initialize, this.listActions.reset, this.listActions.changePageNumber, this.listActions.patchSuccess, this.listActions.deleteSuccess), map(() => this.listActions.loadPage())));
14
+ this.loadFirstPage$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.loadFirstPage), map(() => this.listActions.changePageNumber({ pageNumber: 1 }))));
15
+ this.loadPreviousPage$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.loadPreviousPage), withLatestFrom(this.store.pipe(select(this.listSelectors.getCurrentPageNumber))), filter(([, currentPageNumber]) => currentPageNumber > 1), map(([, currentPageNumber]) => this.listActions.changePageNumber({ pageNumber: currentPageNumber - 1 }))));
16
+ this.loadNextPage$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.loadNextPage), withLatestFrom(this.store.pipe(select(this.listSelectors.isLastPage)), this.store.pipe(select(this.listSelectors.getCurrentPageNumber))), filter(([, isLastPage]) => !isLastPage), map(([, , currentPageNumber]) => this.listActions.changePageNumber({ pageNumber: currentPageNumber + 1 }))));
17
+ this.loadPage$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.loadPage), withLatestFrom(this.store.pipe(select(this.listSelectors.getPagingOptions)), this.store.pipe(select(this.listSelectors.getSortingOptions)), this.store.pipe(select(this.listSelectors.getFilteringOptions)), this.store.pipe(select(this.listSelectors.getRequestParameters))), switchMap(([, pagingOptions, sortingOptions, filteringOptions, requestParameters]) => {
18
+ return this.service
19
+ .loadResources({
20
+ pagingOptions,
21
+ sortingOptions,
22
+ filteringOptions,
23
+ requestParameters
24
+ })
25
+ .pipe(map(resources => this.listActions.loadPageSuccess({
26
+ resources,
27
+ pagingOptions
28
+ })), catchError((errors) => of(this.listActions.loadPageFailure({ errors }))));
29
+ })));
30
+ this.patch$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.patch), exhaustMap(action => {
31
+ if (!this.service.patchResources) {
32
+ throw new Error('patchResources not implement in the ListService');
33
+ }
34
+ return this.service.patchResources(action.resourceIds, action.resource).pipe(map(resources => this.listActions.patchSuccess({ resources })), catchError((errors) => of(this.listActions.patchFailure({ errors }))));
35
+ })));
36
+ this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.delete), exhaustMap(({ resourceIds }) => {
37
+ if (!this.service.deleteResources) {
38
+ throw new Error('deleteResources not implement in the ListService');
39
+ }
40
+ return this.service.deleteResources(resourceIds).pipe(map(() => this.listActions.deleteSuccess({ resourceIds })), catchError((errors) => of(this.listActions.deleteFailure({ errors }))));
41
+ })));
42
+ this.deleteSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.deleteSuccess), tap(({ resourceIds }) => {
43
+ this.notificationService?.onListDelete(resourceIds);
44
+ })), { dispatch: false });
45
+ this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.listActions.loadPageFailure, this.listActions.deleteFailure, this.listActions.patchFailure), tap(({ errors }) => {
46
+ this.notificationService?.onListErrors(errors);
47
+ })), { dispatch: false });
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGlzdC1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2xpc3Qvc3JjL2xpYi9zdGF0ZS1nZW5lcmF0b3IvYWJzdHJhY3QtbGlzdC1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBUyxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckcsTUFBTSxPQUFnQixtQkFBbUI7SUFtSXZDLFlBQ3FCLFFBQWlCLEVBQ2pCLEtBQVksRUFDWixPQUFrQyxFQUNsQyxXQUF5QyxFQUN6QyxhQUEwQyxFQUMxQyxtQkFBZ0Q7UUFMaEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQThCO1FBQ3pDLGtCQUFhLEdBQWIsYUFBYSxDQUE2QjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTZCO1FBeElyRSxZQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQ2hDLElBQUksQ0FBQyxXQUFXLENB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LENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFDdEMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQ0gsRUFDSCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQztRQUVGLG1CQUFjLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQ3ZHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFTQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0Tm90aWZpY2F0aW9uU2VydmljZSwgTGlzdFNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSwgc2VsZWN0IH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTGlzdEFjdGlvbnMsIExpc3RTZWxlY3RvcnMgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RMaXN0RWZmZWN0czxULCBFID0gdW5rbm93biwgUyA9IFQsIFBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcclxuICByZWxvYWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZShcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLmNoYW5nZVBhZ2VTaXplLFxyXG4gICAgICAgIHRoaXMubGlzdEFjdGlvbnMuY2hhbmdlU29ydGluZyxcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLmNoYW5nZUZpbHRlcmluZyxcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLmNoYW5nZVBhZ2luZ09wdGlvbnMsXHJcbiAgICAgICAgdGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VSZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIHRoaXMubGlzdEFjdGlvbnMuaW5pdGlhbGl6ZSxcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLnJlc2V0LFxyXG4gICAgICAgIHRoaXMubGlzdEFjdGlvbnMuY2hhbmdlUGFnZU51bWJlcixcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLnBhdGNoU3VjY2VzcyxcclxuICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLmRlbGV0ZVN1Y2Nlc3NcclxuICAgICAgKSxcclxuICAgICAgbWFwKCgpID0+IHRoaXMubGlzdEFjdGlvbnMubG9hZFBhZ2UoKSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBsb2FkRmlyc3RQYWdlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5saXN0QWN0aW9ucy5sb2FkRmlyc3RQYWdlKSxcclxuICAgICAgbWFwKCgpID0+IHRoaXMubGlzdEFjdGlvbnMuY2hhbmdlUGFnZU51bWJlcih7IHBhZ2VOdW1iZXI6IDEgfSkpXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgbG9hZFByZXZpb3VzUGFnZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMubGlzdEFjdGlvbnMubG9hZFByZXZpb3VzUGFnZSksXHJcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldEN1cnJlbnRQYWdlTnVtYmVyKSkpLFxyXG4gICAgICBmaWx0ZXIoKFssIGN1cnJlbnRQYWdlTnVtYmVyXSkgPT4gY3VycmVudFBhZ2VOdW1iZXIgPiAxKSxcclxuICAgICAgbWFwKChbLCBjdXJyZW50UGFnZU51bWJlcl0pID0+IHRoaXMubGlzdEFjdGlvbnMuY2hhbmdlUGFnZU51bWJlcih7IHBhZ2VOdW1iZXI6IGN1cnJlbnRQYWdlTnVtYmVyIC0gMSB9KSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBsb2FkTmV4dFBhZ2UkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmxpc3RBY3Rpb25zLmxvYWROZXh0UGFnZSksXHJcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxyXG4gICAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmlzTGFzdFBhZ2UpKSxcclxuICAgICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRDdXJyZW50UGFnZU51bWJlcikpXHJcbiAgICAgICksXHJcbiAgICAgIGZpbHRlcigoWywgaXNMYXN0UGFnZV0pID0+ICFpc0xhc3RQYWdlKSxcclxuICAgICAgbWFwKChbLCAsIGN1cnJlbnRQYWdlTnVtYmVyXSkgPT4gdGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VQYWdlTnVtYmVyKHsgcGFnZU51bWJlcjogY3VycmVudFBhZ2VOdW1iZXIgKyAxIH0pKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGxvYWRQYWdlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5saXN0QWN0aW9ucy5sb2FkUGFnZSksXHJcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxyXG4gICAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldFBhZ2luZ09wdGlvbnMpKSxcclxuICAgICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRTb3J0aW5nT3B0aW9ucykpLFxyXG4gICAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldEZpbHRlcmluZ09wdGlvbnMpKSxcclxuICAgICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRSZXF1ZXN0UGFyYW1ldGVycykpXHJcbiAgICAgICksXHJcbiAgICAgIHN3aXRjaE1hcCgoWywgcGFnaW5nT3B0aW9ucywgc29ydGluZ09wdGlvbnMsIGZpbHRlcmluZ09wdGlvbnMsIHJlcXVlc3RQYXJhbWV0ZXJzXSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgIC5sb2FkUmVzb3VyY2VzKHtcclxuICAgICAgICAgICAgcGFnaW5nT3B0aW9ucyxcclxuICAgICAgICAgICAgc29ydGluZ09wdGlvbnMsXHJcbiAgICAgICAgICAgIGZpbHRlcmluZ09wdGlvbnMsXHJcbiAgICAgICAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNvdXJjZXMgPT5cclxuICAgICAgICAgICAgICB0aGlzLmxpc3RBY3Rpb25zLmxvYWRQYWdlU3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgICByZXNvdXJjZXMsXHJcbiAgICAgICAgICAgICAgICBwYWdpbmdPcHRpb25zXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmxpc3RBY3Rpb25zLmxvYWRQYWdlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIHBhdGNoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5saXN0QWN0aW9ucy5wYXRjaCksXHJcbiAgICAgIGV4aGF1c3RNYXAoYWN0aW9uID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VydmljZS5wYXRjaFJlc291cmNlcykge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXRjaFJlc291cmNlcyBub3QgaW1wbGVtZW50IGluIHRoZSBMaXN0U2VydmljZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5wYXRjaFJlc291cmNlcyhhY3Rpb24ucmVzb3VyY2VJZHMsIGFjdGlvbi5yZXNvdXJjZSkucGlwZShcclxuICAgICAgICAgIG1hcChyZXNvdXJjZXMgPT4gdGhpcy5saXN0QWN0aW9ucy5wYXRjaFN1Y2Nlc3MoeyByZXNvdXJjZXMgfSkpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmxpc3RBY3Rpb25zLnBhdGNoRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBkZWxldGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmxpc3RBY3Rpb25zLmRlbGV0ZSksXHJcbiAgICAgIGV4aGF1c3RNYXAoKHsgcmVzb3VyY2VJZHMgfSkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlLmRlbGV0ZVJlc291cmNlcykge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZWxldGVSZXNvdXJjZXMgbm90IGltcGxlbWVudCBpbiB0aGUgTGlzdFNlcnZpY2UnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZGVsZXRlUmVzb3VyY2VzKHJlc291cmNlSWRzKS5waXBlKFxyXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMubGlzdEFjdGlvbnMuZGVsZXRlU3VjY2Vzcyh7IHJlc291cmNlSWRzIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5saXN0QWN0aW9ucy5kZWxldGVGYWlsdXJlKHsgZXJyb3JzIH0pKSlcclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGRlbGV0ZVN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KFxyXG4gICAgKCkgPT5cclxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZSh0aGlzLmxpc3RBY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MpLFxyXG4gICAgICAgIHRhcCgoeyByZXNvdXJjZUlkcyB9KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2U/Lm9uTGlzdERlbGV0ZShyZXNvdXJjZUlkcyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cclxuICApO1xyXG5cclxuICBlcnJvcnNIYW5kbGVyJCA9IGNyZWF0ZUVmZmVjdChcclxuICAgICgpID0+XHJcbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGUodGhpcy5saXN0QWN0aW9ucy5sb2FkUGFnZUZhaWx1cmUsIHRoaXMubGlzdEFjdGlvbnMuZGVsZXRlRmFpbHVyZSwgdGhpcy5saXN0QWN0aW9ucy5wYXRjaEZhaWx1cmUpLFxyXG4gICAgICAgIHRhcCgoeyBlcnJvcnMgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlPy5vbkxpc3RFcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxyXG4gICk7XHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9yZTogU3RvcmUsXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZTogTGlzdFNlcnZpY2U8VCwgUywgUGFyYW1zPixcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBsaXN0QWN0aW9uczogTGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPixcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBsaXN0U2VsZWN0b3JzOiBMaXN0U2VsZWN0b3JzPFMsIEUsIFBhcmFtcz4sXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZT86IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlPEU+XHJcbiAgKSB7fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ReducerManager, createFeatureSelector } from '@ngrx/store';
3
+ import { LIST_FEATURE_KEY } from '../models/list.model';
4
+ import { createListActions } from './list-actions';
5
+ import { createListEntityAdapter, createListReducer } from './list-reducer';
6
+ import { createListSelectors } from './list-selectors';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngrx/store";
9
+ export class AbstractListReducerManager {
10
+ constructor(reducerManager, featureKey) {
11
+ this.reducerManager = reducerManager;
12
+ this.featureKey = featureKey;
13
+ this.actions = this.getActions();
14
+ this.entityAdapter = this.getEntityAdapter();
15
+ this.addReducer();
16
+ this.selectors = this.getSelectors();
17
+ }
18
+ getActions() {
19
+ return createListActions(this.featureKey);
20
+ }
21
+ getEntityAdapter() {
22
+ return createListEntityAdapter();
23
+ }
24
+ addReducer() {
25
+ const currentReducers = Object.keys(this.reducerManager.currentReducers || {});
26
+ if (!currentReducers.includes(this.featureKey)) {
27
+ const reducer = createListReducer(this.entityAdapter, this.actions);
28
+ this.reducerManager.addReducer(this.featureKey, reducer);
29
+ }
30
+ }
31
+ getSelectors() {
32
+ const getState = createFeatureSelector(this.featureKey);
33
+ return createListSelectors(this.entityAdapter, getState);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractListReducerManager, deps: [{ token: i1.ReducerManager }, { token: LIST_FEATURE_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractListReducerManager }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractListReducerManager, decorators: [{
39
+ type: Injectable
40
+ }], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
41
+ type: Inject,
42
+ args: [LIST_FEATURE_KEY]
43
+ }] }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGlzdC1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2xpc3Qvc3JjL2xpYi9zdGF0ZS1nZW5lcmF0b3IvYWJzdHJhY3QtbGlzdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHdkQsTUFBTSxPQUFnQiwwQkFBMEI7SUFVOUMsWUFDbUIsY0FBOEIsRUFDSixVQUFrQjtRQUQ1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLE9BQU8saUJBQWlCLENBQWtCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sdUJBQXVCLEVBQUssQ0FBQztJQUN0QyxDQUFDO0lBRVMsVUFBVTtRQUNsQixNQUFNLGVBQWUsR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBa0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUEwQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakYsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7K0dBeENtQiwwQkFBMEIsZ0RBWXBDLGdCQUFnQjttSEFaTiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVU7OzBCQWFOLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eUFkYXB0ZXIgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xyXG5pbXBvcnQgeyBSZWR1Y2VyTWFuYWdlciwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBMSVNUX0ZFQVRVUkVfS0VZLCBMaXN0QWN0aW9ucywgTGlzdFNlbGVjdG9ycywgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0QWN0aW9ucyB9IGZyb20gJy4vbGlzdC1hY3Rpb25zJztcclxuaW1wb3J0IHsgY3JlYXRlTGlzdEVudGl0eUFkYXB0ZXIsIGNyZWF0ZUxpc3RSZWR1Y2VyIH0gZnJvbSAnLi9saXN0LXJlZHVjZXInO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0U2VsZWN0b3JzIH0gZnJvbSAnLi9saXN0LXNlbGVjdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdExpc3RSZWR1Y2VyTWFuYWdlcjxcclxuICBUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICBFLFxyXG4gIFMgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gVCxcclxuICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbj4ge1xyXG4gIGFjdGlvbnM6IExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz47XHJcbiAgc2VsZWN0b3JzOiBMaXN0U2VsZWN0b3JzPFMsIEUsIFBhcmFtcz47XHJcbiAgcHJpdmF0ZSBlbnRpdHlBZGFwdGVyOiBFbnRpdHlBZGFwdGVyPFM+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVkdWNlck1hbmFnZXI6IFJlZHVjZXJNYW5hZ2VyLFxyXG4gICAgQEluamVjdChMSVNUX0ZFQVRVUkVfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVLZXk6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgdGhpcy5hY3Rpb25zID0gdGhpcy5nZXRBY3Rpb25zKCk7XHJcbiAgICB0aGlzLmVudGl0eUFkYXB0ZXIgPSB0aGlzLmdldEVudGl0eUFkYXB0ZXIoKTtcclxuICAgIHRoaXMuYWRkUmVkdWNlcigpO1xyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSB0aGlzLmdldFNlbGVjdG9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEFjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gY3JlYXRlTGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPih0aGlzLmZlYXR1cmVLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbnRpdHlBZGFwdGVyKCkge1xyXG4gICAgcmV0dXJuIGNyZWF0ZUxpc3RFbnRpdHlBZGFwdGVyPFM+KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYWRkUmVkdWNlcigpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRSZWR1Y2Vyczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyh0aGlzLnJlZHVjZXJNYW5hZ2VyLmN1cnJlbnRSZWR1Y2VycyB8fCB7fSk7XHJcblxyXG4gICAgaWYgKCFjdXJyZW50UmVkdWNlcnMuaW5jbHVkZXModGhpcy5mZWF0dXJlS2V5KSkge1xyXG4gICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlTGlzdFJlZHVjZXI8VCwgRSwgUywgUGFyYW1zPih0aGlzLmVudGl0eUFkYXB0ZXIsIHRoaXMuYWN0aW9ucyk7XHJcbiAgICAgIHRoaXMucmVkdWNlck1hbmFnZXIuYWRkUmVkdWNlcih0aGlzLmZlYXR1cmVLZXksIHJlZHVjZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFNlbGVjdG9ycygpIHtcclxuICAgIGNvbnN0IGdldFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPExpc3RTdGF0ZTxTLCBFLCBQYXJhbXM+Pih0aGlzLmZlYXR1cmVLZXkpO1xyXG4gICAgcmV0dXJuIGNyZWF0ZUxpc3RTZWxlY3RvcnModGhpcy5lbnRpdHlBZGFwdGVyLCBnZXRTdGF0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,85 @@
1
+ import { select } from '@ngrx/store';
2
+ export class AbstractListFacade {
3
+ constructor(store, listActions, listSelectors) {
4
+ this.store = store;
5
+ this.listActions = listActions;
6
+ this.listSelectors = listSelectors;
7
+ this.resources$ = this.store.pipe(select(this.listSelectors.getAll));
8
+ this.loadingState$ = this.store.pipe(select(this.listSelectors.getLoadingState));
9
+ this.requestState$ = this.store.pipe(select(this.listSelectors.getRequestState));
10
+ this.errors$ = this.store.pipe(select(this.listSelectors.getErrors));
11
+ this.isReady$ = this.store.pipe(select(this.listSelectors.isReady));
12
+ this.areSelectedReady$ = this.store.pipe(select(this.listSelectors.areSelectedReady));
13
+ this.currentPageData$ = this.store.pipe(select(this.listSelectors.getCurrentPageData));
14
+ this.currentPageNumber$ = this.store.pipe(select(this.listSelectors.getCurrentPageNumber));
15
+ this.filteringOptions$ = this.store.pipe(select(this.listSelectors.getFilteringOptions));
16
+ this.requestParameters$ = this.store.pipe(select(this.listSelectors.getRequestParameters));
17
+ this.lastPageNumber$ = this.store.pipe(select(this.listSelectors.getLastPageNumber));
18
+ this.pagingOptions$ = this.store.pipe(select(this.listSelectors.getPagingOptions));
19
+ this.requestOptions$ = this.store.pipe(select(this.listSelectors.getRequestOptions));
20
+ this.sortingOptions$ = this.store.pipe(select(this.listSelectors.getSortingOptions));
21
+ this.selectedItems$ = this.store.pipe(select(this.listSelectors.getSelectedItems));
22
+ this.totalCount$ = this.store.pipe(select(this.listSelectors.getTotalCount));
23
+ }
24
+ setPageSize(props) {
25
+ this.store.dispatch(this.listActions.setPageSize(props));
26
+ }
27
+ setFiltering(props) {
28
+ this.store.dispatch(this.listActions.setFiltering(props));
29
+ }
30
+ setSorting(props) {
31
+ this.store.dispatch(this.listActions.setSorting(props));
32
+ }
33
+ setRequestParameters(props) {
34
+ this.store.dispatch(this.listActions.setRequestParams(props));
35
+ }
36
+ changeFiltering(props) {
37
+ this.store.dispatch(this.listActions.changeFiltering(props));
38
+ }
39
+ changePagingOptions(props) {
40
+ this.store.dispatch(this.listActions.changePagingOptions(props));
41
+ }
42
+ changePageSize(props) {
43
+ this.store.dispatch(this.listActions.changePageSize(props));
44
+ }
45
+ changePageNumber(props) {
46
+ this.store.dispatch(this.listActions.changePageNumber(props));
47
+ }
48
+ changeSelectedResources(props) {
49
+ this.store.dispatch(this.listActions.changeSelectedResources(props));
50
+ }
51
+ changeSorting(props) {
52
+ this.store.dispatch(this.listActions.changeSorting(props));
53
+ }
54
+ changeRequestParams(props) {
55
+ this.store.dispatch(this.listActions.changeRequestParams(props));
56
+ }
57
+ loadPage() {
58
+ this.store.dispatch(this.listActions.loadPage());
59
+ }
60
+ loadFirstPage() {
61
+ this.store.dispatch(this.listActions.loadFirstPage());
62
+ }
63
+ loadNextPage() {
64
+ this.store.dispatch(this.listActions.loadNextPage());
65
+ }
66
+ loadPreviousPage() {
67
+ this.store.dispatch(this.listActions.loadPreviousPage());
68
+ }
69
+ patch(props) {
70
+ this.store.dispatch(this.listActions.patch(props));
71
+ }
72
+ delete(props) {
73
+ this.store.dispatch(this.listActions.delete(props));
74
+ }
75
+ initialize() {
76
+ this.store.dispatch(this.listActions.initialize());
77
+ }
78
+ reinitialize() {
79
+ this.store.dispatch(this.listActions.reset());
80
+ }
81
+ resetRequestState() {
82
+ this.store.dispatch(this.listActions.resetRequestState());
83
+ }
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGlzdC5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvbGlzdC9zcmMvbGliL3N0YXRlLWdlbmVyYXRvci9hYnN0cmFjdC1saXN0LmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE1BQU0sT0FBZ0Isa0JBQWtCO0lBa0J0QyxZQUNxQixLQUFZLEVBQ2QsV0FBeUMsRUFDekMsYUFBMEM7UUFGeEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUN6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFwQnBELGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUM1RSxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsYUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0Qsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEtB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LENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQTJEO1FBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE0RDtRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSAnQG5nZHV4L3N0b3JlLWNvbW1vbic7XHJcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IExpc3RBY3Rpb25zLCBMaXN0U2VsZWN0b3JzIH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TGlzdEZhY2FkZTxULCBFLCBTID0gVCwgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xyXG4gIHJlYWRvbmx5IHJlc291cmNlcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRBbGwpKTtcclxuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0TG9hZGluZ1N0YXRlKSk7XHJcbiAgcmVhZG9ubHkgcmVxdWVzdFN0YXRlJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldFJlcXVlc3RTdGF0ZSkpO1xyXG4gIHJlYWRvbmx5IGVycm9ycyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRFcnJvcnMpKTtcclxuICByZWFkb25seSBpc1JlYWR5JCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmlzUmVhZHkpKTtcclxuICByZWFkb25seSBhcmVTZWxlY3RlZFJlYWR5JCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmFyZVNlbGVjdGVkUmVhZHkpKTtcclxuICByZWFkb25seSBjdXJyZW50UGFnZURhdGEkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0Q3VycmVudFBhZ2VEYXRhKSk7XHJcbiAgcmVhZG9ubHkgY3VycmVudFBhZ2VOdW1iZXIkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0Q3VycmVudFBhZ2VOdW1iZXIpKTtcclxuICByZWFkb25seSBmaWx0ZXJpbmdPcHRpb25zJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldEZpbHRlcmluZ09wdGlvbnMpKTtcclxuICByZWFkb25seSByZXF1ZXN0UGFyYW1ldGVycyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRSZXF1ZXN0UGFyYW1ldGVycykpO1xyXG4gIHJlYWRvbmx5IGxhc3RQYWdlTnVtYmVyJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5saXN0U2VsZWN0b3JzLmdldExhc3RQYWdlTnVtYmVyKSk7XHJcbiAgcmVhZG9ubHkgcGFnaW5nT3B0aW9ucyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRQYWdpbmdPcHRpb25zKSk7XHJcbiAgcmVhZG9ubHkgcmVxdWVzdE9wdGlvbnMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0UmVxdWVzdE9wdGlvbnMpKTtcclxuICByZWFkb25seSBzb3J0aW5nT3B0aW9ucyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMubGlzdFNlbGVjdG9ycy5nZXRTb3J0aW5nT3B0aW9ucykpO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGVkSXRlbXMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0U2VsZWN0ZWRJdGVtcykpO1xyXG4gIHJlYWRvbmx5IHRvdGFsQ291bnQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmxpc3RTZWxlY3RvcnMuZ2V0VG90YWxDb3VudCkpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9yZTogU3RvcmUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RBY3Rpb25zOiBMaXN0QWN0aW9uczxULCBFLCBTLCBQYXJhbXM+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0U2VsZWN0b3JzOiBMaXN0U2VsZWN0b3JzPFMsIEUsIFBhcmFtcz5cclxuICApIHt9XHJcblxyXG4gIHNldFBhZ2VTaXplKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ3NldFBhZ2VTaXplJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMubGlzdEFjdGlvbnMuc2V0UGFnZVNpemUocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIHNldEZpbHRlcmluZyhwcm9wczogQWN0aW9uUGF5bG9hZDxMaXN0QWN0aW9uczxULCBFLCBTLCBQYXJhbXM+WydzZXRGaWx0ZXJpbmcnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5zZXRGaWx0ZXJpbmcocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIHNldFNvcnRpbmcocHJvcHM6IEFjdGlvblBheWxvYWQ8TGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPlsnc2V0U29ydGluZyddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLnNldFNvcnRpbmcocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIHNldFJlcXVlc3RQYXJhbWV0ZXJzKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ3NldFJlcXVlc3RQYXJhbXMnXT4pIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5zZXRSZXF1ZXN0UGFyYW1zKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGaWx0ZXJpbmcocHJvcHM6IEFjdGlvblBheWxvYWQ8TGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPlsnY2hhbmdlRmlsdGVyaW5nJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMubGlzdEFjdGlvbnMuY2hhbmdlRmlsdGVyaW5nKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdpbmdPcHRpb25zKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ2NoYW5nZVBhZ2luZ09wdGlvbnMnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VQYWdpbmdPcHRpb25zKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlU2l6ZShwcm9wczogQWN0aW9uUGF5bG9hZDxMaXN0QWN0aW9uczxULCBFLCBTLCBQYXJhbXM+WydjaGFuZ2VQYWdlU2l6ZSddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLmNoYW5nZVBhZ2VTaXplKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlTnVtYmVyKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ2NoYW5nZVBhZ2VOdW1iZXInXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VQYWdlTnVtYmVyKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZFJlc291cmNlcyhwcm9wczogQWN0aW9uUGF5bG9hZDxMaXN0QWN0aW9uczxULCBFLCBTLCBQYXJhbXM+WydjaGFuZ2VTZWxlY3RlZFJlc291cmNlcyddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLmNoYW5nZVNlbGVjdGVkUmVzb3VyY2VzKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTb3J0aW5nKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ2NoYW5nZVNvcnRpbmcnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VTb3J0aW5nKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VSZXF1ZXN0UGFyYW1zKHByb3BzOiBBY3Rpb25QYXlsb2FkPExpc3RBY3Rpb25zPFQsIEUsIFMsIFBhcmFtcz5bJ2NoYW5nZVJlcXVlc3RQYXJhbXMnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5jaGFuZ2VSZXF1ZXN0UGFyYW1zKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBsb2FkUGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5sb2FkUGFnZSgpKTtcclxuICB9XHJcblxyXG4gIGxvYWRGaXJzdFBhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMubGlzdEFjdGlvbnMubG9hZEZpcnN0UGFnZSgpKTtcclxuICB9XHJcblxyXG4gIGxvYWROZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5sb2FkTmV4dFBhZ2UoKSk7XHJcbiAgfVxyXG5cclxuICBsb2FkUHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLmxvYWRQcmV2aW91c1BhZ2UoKSk7XHJcbiAgfVxyXG5cclxuICBwYXRjaChwcm9wczogQWN0aW9uUGF5bG9hZDxMaXN0QWN0aW9uczxULCBFLCBTLCBQYXJhbXM+WydwYXRjaCddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLnBhdGNoKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUocHJvcHM6IEFjdGlvblBheWxvYWQ8TGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPlsnZGVsZXRlJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMubGlzdEFjdGlvbnMuZGVsZXRlKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmxpc3RBY3Rpb25zLmluaXRpYWxpemUoKSk7XHJcbiAgfVxyXG5cclxuICByZWluaXRpYWxpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMubGlzdEFjdGlvbnMucmVzZXQoKSk7XHJcbiAgfVxyXG5cclxuICByZXNldFJlcXVlc3RTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5saXN0QWN0aW9ucy5yZXNldFJlcXVlc3RTdGF0ZSgpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,58 @@
1
+ import { createAction, props } from '@ngrx/store';
2
+ export function createListActions(featureName) {
3
+ const resetRequestState = createAction(`[${featureName} API] Reset ${featureName} Request State`);
4
+ const initialize = createAction(`[${featureName} API] Initialize ${featureName}`);
5
+ const reset = createAction(`[Organization ${featureName} API] Reset ${featureName}`);
6
+ const loadNextPage = createAction(`[${featureName} API] Load Next ${featureName} Page`);
7
+ const loadPreviousPage = createAction(`[${featureName} API] Load Previous ${featureName} Page`);
8
+ const loadFirstPage = createAction(`[${featureName} API] Load First ${featureName} Page`);
9
+ const setPageSize = createAction(`[${featureName} API] Set ${featureName} Page Size`, props());
10
+ const setSorting = createAction(`[${featureName} API] Set ${featureName} Sorting`, props());
11
+ const setFiltering = createAction(`[${featureName} API] Set ${featureName} Filtering`, props());
12
+ const setRequestParams = createAction(`[${featureName} API] Set ${featureName} Request Params`, props());
13
+ const changePageSize = createAction(`[${featureName} API] Change ${featureName} Page Size`, props());
14
+ const changePageNumber = createAction(`[${featureName} API] Change ${featureName} Page Number`, props());
15
+ const changePagingOptions = createAction(`[${featureName} API] Change ${featureName} Page Options`, props());
16
+ const changeSorting = createAction(`[${featureName} API] Change ${featureName} Sorting`, props());
17
+ const changeFiltering = createAction(`[${featureName} API] Change ${featureName} Filtering`, props());
18
+ const changeSelectedResources = createAction(`[${featureName} API] Change Selected Resources ${featureName}`, props());
19
+ const changeRequestParams = createAction(`[${featureName} API] Change ${featureName} Request Params`, props());
20
+ const loadPage = createAction(`[${featureName} API] Load ${featureName} Page`);
21
+ const loadPageSuccess = createAction(`[${featureName} API] Load ${featureName} Page Success`, props());
22
+ const loadPageFailure = createAction(`[${featureName} API] Load ${featureName} Page Failure`, props());
23
+ const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
24
+ const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
25
+ const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
26
+ const patch = createAction(`[${featureName} API] Patch ${featureName}`, props());
27
+ const patchSuccess = createAction(`[${featureName} API] Patch ${featureName} Success`, props());
28
+ const patchFailure = createAction(`[${featureName} API] Patch ${featureName} Failure`, props());
29
+ return {
30
+ initialize,
31
+ reset,
32
+ setPageSize,
33
+ setSorting,
34
+ setFiltering,
35
+ setRequestParams,
36
+ changePageSize,
37
+ changePageNumber,
38
+ changePagingOptions,
39
+ changeSorting,
40
+ changeFiltering,
41
+ changeRequestParams,
42
+ loadPreviousPage,
43
+ loadNextPage,
44
+ loadFirstPage,
45
+ changeSelectedResources,
46
+ loadPage,
47
+ loadPageSuccess,
48
+ loadPageFailure,
49
+ delete: deleteAction,
50
+ deleteSuccess,
51
+ deleteFailure,
52
+ patch,
53
+ patchSuccess,
54
+ patchFailure,
55
+ resetRequestState
56
+ };
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2xpc3Qvc3JjL2xpYi9zdGF0ZS1nZW5lcmF0b3IvbGlzdC1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsV0FBbUI7SUFFbkIsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGVBQWUsV0FBVyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsb0JBQW9CLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbEYsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixXQUFXLGVBQWUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVyRixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLG1CQUFtQixXQUFXLE9BQU8sQ0FBQyxDQUFDO0lBQ3hGLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyx1QkFBdUIsV0FBVyxPQUFPLENBQUMsQ0FBQztJQUNoRyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLG9CQUFvQixXQUFXLE9BQU8sQ0FBQyxDQUFDO0lBRTFGLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsYUFBYSxXQUFXLFlBQVksRUFBRSxLQUFLLEVBQXdCLENBQUMsQ0FBQztJQUNySCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQzdCLElBQUksV0FBVyxhQUFhLFdBQVcsVUFBVSxFQUNqRCxLQUFLLEVBQXNDLENBQzVDLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxZQUFZLENBQy9CLElBQUksV0FBVyxhQUFhLFdBQVcs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Q29udGVudCI6WyJpbXBvcnQgeyBFcnJvckR0bywgRmlsdGVyaW5nT3B0aW9ucywgUGFnaW5nT3B0aW9ucywgU29ydGluZ0ZpZWxkIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgTGlzdEFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlzdEFjdGlvbnM8VCwgRSwgUyA9IFQsIFBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxyXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmdcclxuKTogTGlzdEFjdGlvbnM8VCwgRSwgUywgUGFyYW1zPiB7XHJcbiAgY29uc3QgcmVzZXRSZXF1ZXN0U3RhdGUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFJlc2V0ICR7ZmVhdHVyZU5hbWV9IFJlcXVlc3QgU3RhdGVgKTtcclxuICBjb25zdCBpbml0aWFsaXplID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBJbml0aWFsaXplICR7ZmVhdHVyZU5hbWV9YCk7XHJcbiAgY29uc3QgcmVzZXQgPSBjcmVhdGVBY3Rpb24oYFtPcmdhbml6YXRpb24gJHtmZWF0dXJlTmFtZX0gQVBJXSBSZXNldCAke2ZlYXR1cmVOYW1lfWApO1xyXG5cclxuICBjb25zdCBsb2FkTmV4dFBhZ2UgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgTmV4dCAke2ZlYXR1cmVOYW1lfSBQYWdlYCk7XHJcbiAgY29uc3QgbG9hZFByZXZpb3VzUGFnZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCBQcmV2aW91cyAke2ZlYXR1cmVOYW1lfSBQYWdlYCk7XHJcbiAgY29uc3QgbG9hZEZpcnN0UGFnZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCBGaXJzdCAke2ZlYXR1cmVOYW1lfSBQYWdlYCk7XHJcblxyXG4gIGNvbnN0IHNldFBhZ2VTaXplID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBTZXQgJHtmZWF0dXJlTmFtZX0gUGFnZSBTaXplYCwgcHJvcHM8eyBwYWdlU2l6ZTogbnVtYmVyIH0+KCkpO1xyXG4gIGNvbnN0IHNldFNvcnRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgICBgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2V0ICR7ZmVhdHVyZU5hbWV9IFNvcnRpbmdgLFxyXG4gICAgcHJvcHM8eyBzb3J0aW5nT3B0aW9uczogU29ydGluZ0ZpZWxkW10gfT4oKVxyXG4gICk7XHJcbiAgY29uc3Qgc2V0RmlsdGVyaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIFNldCAke2ZlYXR1cmVOYW1lfSBGaWx0ZXJpbmdgLFxyXG4gICAgcHJvcHM8eyBmaWx0ZXJpbmdPcHRpb25zOiBGaWx0ZXJpbmdPcHRpb25zIH0+KClcclxuICApO1xyXG4gIGNvbnN0IHNldFJlcXVlc3RQYXJhbXMgPSBjcmVhdGVBY3Rpb24oXHJcbiAgICBgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2V0ICR7ZmVhdHVyZU5hbWV9IFJlcXVlc3QgUGFyYW1zYCxcclxuICAgIHByb3BzPHsgcGFyYW1zOiBQYXJhbXMgfT4oKVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGNoYW5nZVBhZ2VTaXplID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIENoYW5nZSAke2ZlYXR1cmVOYW1lfSBQYWdlIFNpemVgLFxyXG4gICAgcHJvcHM8eyBwYWdlU2l6ZTogbnVtYmVyIH0+KClcclxuICApO1xyXG5cclxuICBjb25zdCBjaGFuZ2VQYWdlTnVtYmVyID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIENoYW5nZSAke2ZlYXR1cmVOYW1lfSBQYWdlIE51bWJlcmAsXHJcbiAgICBwcm9wczx7IHBhZ2VOdW1iZXI6IG51bWJlciB9PigpXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgY2hhbmdlUGFnaW5nT3B0aW9ucyA9IGNyZWF0ZUFjdGlvbihcclxuICAgIGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDaGFuZ2UgJHtmZWF0dXJlTmFtZX0gUGFnZSBPcHRpb25zYCxcclxuICAgIHByb3BzPHsgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucyB9PigpXHJcbiAgKTtcclxuICBjb25zdCBjaGFuZ2VTb3J0aW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIENoYW5nZSAke2ZlYXR1cmVOYW1lfSBTb3J0aW5nYCxcclxuICAgIHByb3BzPHsgc29ydGluZ09wdGlvbnM6IFNvcnRpbmdGaWVsZFtdIH0+KClcclxuICApO1xyXG4gIGNvbnN0IGNoYW5nZUZpbHRlcmluZyA9IGNyZWF0ZUFjdGlvbihcclxuICAgIGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDaGFuZ2UgJHtmZWF0dXJlTmFtZX0gRmlsdGVyaW5nYCxcclxuICAgIHByb3BzPHsgZmlsdGVyaW5nT3B0aW9uczogRmlsdGVyaW5nT3B0aW9ucyB9PigpXHJcbiAgKTtcclxuICBjb25zdCBjaGFuZ2VTZWxlY3RlZFJlc291cmNlcyA9IGNyZWF0ZUFjdGlvbihcclxuICAgIGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDaGFuZ2UgU2VsZWN0ZWQgUmVzb3VyY2VzICR7ZmVhdHVyZU5hbWV9YCxcclxuICAgIHByb3BzPHsgc2VsZWN0ZWRSZXNvdXJjZUlkczogc3RyaW5nW10gfT4oKVxyXG4gICk7XHJcbiAgY29uc3QgY2hhbmdlUmVxdWVzdFBhcmFtcyA9IGNyZWF0ZUFjdGlvbihcclxuICAgIGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDaGFuZ2UgJHtmZWF0dXJlTmFtZX0gUmVxdWVzdCBQYXJhbXNgLFxyXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcmFtcyB9PigpXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgbG9hZFBhZ2UgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX0gUGFnZWApO1xyXG4gIGNvbnN0IGxvYWRQYWdlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICAgIGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBMb2FkICR7ZmVhdHVyZU5hbWV9IFBhZ2UgU3VjY2Vzc2AsXHJcbiAgICBwcm9wczx7IHJlc291cmNlczogU1tdOyBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zIH0+KClcclxuICApO1xyXG4gIGNvbnN0IGxvYWRQYWdlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCAke2ZlYXR1cmVOYW1lfSBQYWdlIEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcclxuXHJcbiAgY29uc3QgZGVsZXRlQWN0aW9uID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBEZWxldGUgJHtmZWF0dXJlTmFtZX1gLCBwcm9wczx7IHJlc291cmNlSWRzOiBzdHJpbmdbXSB9PigpKTtcclxuICBjb25zdCBkZWxldGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCxcclxuICAgIHByb3BzPHsgcmVzb3VyY2VJZHM6IHN0cmluZ1tdIH0+KClcclxuICApO1xyXG4gIGNvbnN0IGRlbGV0ZUZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEUgfT4oKSk7XHJcblxyXG4gIGNvbnN0IHBhdGNoID0gY3JlYXRlQWN0aW9uKFxyXG4gICAgYFske2ZlYXR1cmVOYW1lfSBBUEldIFBhdGNoICR7ZmVhdHVyZU5hbWV9YCxcclxuICAgIHByb3BzPHsgcmVzb3VyY2VJZHM6IHN0cmluZ1tdOyByZXNvdXJjZTogUGFydGlhbDxUPiB9PigpXHJcbiAgKTtcclxuICBjb25zdCBwYXRjaFN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgICBgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gUGF0Y2ggJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsXHJcbiAgICBwcm9wczx7IHJlc291cmNlczogKFQgfCBFcnJvckR0bylbXSB9PigpXHJcbiAgKTtcclxuICBjb25zdCBwYXRjaEZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFBhdGNoICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGluaXRpYWxpemUsXHJcbiAgICByZXNldCxcclxuICAgIHNldFBhZ2VTaXplLFxyXG4gICAgc2V0U29ydGluZyxcclxuICAgIHNldEZpbHRlcmluZyxcclxuICAgIHNldFJlcXVlc3RQYXJhbXMsXHJcbiAgICBjaGFuZ2VQYWdlU2l6ZSxcclxuICAgIGNoYW5nZVBhZ2VOdW1iZXIsXHJcbiAgICBjaGFuZ2VQYWdpbmdPcHRpb25zLFxyXG4gICAgY2hhbmdlU29ydGluZyxcclxuICAgIGNoYW5nZUZpbHRlcmluZyxcclxuICAgIGNoYW5nZVJlcXVlc3RQYXJhbXMsXHJcbiAgICBsb2FkUHJldmlvdXNQYWdlLFxyXG4gICAgbG9hZE5leHRQYWdlLFxyXG4gICAgbG9hZEZpcnN0UGFnZSxcclxuICAgIGNoYW5nZVNlbGVjdGVkUmVzb3VyY2VzLFxyXG4gICAgbG9hZFBhZ2UsXHJcbiAgICBsb2FkUGFnZVN1Y2Nlc3MsXHJcbiAgICBsb2FkUGFnZUZhaWx1cmUsXHJcbiAgICBkZWxldGU6IGRlbGV0ZUFjdGlvbixcclxuICAgIGRlbGV0ZVN1Y2Nlc3MsXHJcbiAgICBkZWxldGVGYWlsdXJlLFxyXG4gICAgcGF0Y2gsXHJcbiAgICBwYXRjaFN1Y2Nlc3MsXHJcbiAgICBwYXRjaEZhaWx1cmUsXHJcbiAgICByZXNldFJlcXVlc3RTdGF0ZVxyXG4gIH07XHJcbn1cclxuIl19