@ngrx-traits/common 18.4.0 → 19.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/fesm2022/ngrx-traits-common.mjs +12 -12
  2. package/fesm2022/ngrx-traits-common.mjs.map +1 -1
  3. package/package.json +7 -9
  4. package/reset/reset.trait.d.ts +1 -1
  5. package/esm2022/async-action/async-action.model.mjs +0 -2
  6. package/esm2022/async-action/async-action.trait.mjs +0 -116
  7. package/esm2022/async-action/index.mjs +0 -3
  8. package/esm2022/crud-entities/crud-entities.model.mjs +0 -8
  9. package/esm2022/crud-entities/crud-entities.trait.actions.mjs +0 -20
  10. package/esm2022/crud-entities/crud-entities.trait.mjs +0 -58
  11. package/esm2022/crud-entities/crud-entities.trait.mutators.mjs +0 -121
  12. package/esm2022/crud-entities/crud-entities.trait.reducer.mjs +0 -17
  13. package/esm2022/crud-entities/crud-entities.trait.selectors.mjs +0 -54
  14. package/esm2022/crud-entities/index.mjs +0 -3
  15. package/esm2022/entities-pagination/entities-pagination.model.internal.mjs +0 -2
  16. package/esm2022/entities-pagination/entities-pagination.model.mjs +0 -2
  17. package/esm2022/entities-pagination/entities-pagination.trait.actions.mjs +0 -20
  18. package/esm2022/entities-pagination/entities-pagination.trait.effects.mjs +0 -63
  19. package/esm2022/entities-pagination/entities-pagination.trait.mjs +0 -94
  20. package/esm2022/entities-pagination/entities-pagination.trait.mutators.mjs +0 -66
  21. package/esm2022/entities-pagination/entities-pagination.trait.reducer.mjs +0 -79
  22. package/esm2022/entities-pagination/entities-pagination.trait.selectors.mjs +0 -84
  23. package/esm2022/entities-pagination/index.mjs +0 -3
  24. package/esm2022/entities-sync-to-route-query-params/entities-sync-to-route-query-params.mjs +0 -127
  25. package/esm2022/entities-sync-to-route-query-params/index.mjs +0 -2
  26. package/esm2022/filter-entities/filter-entities.model.internal.mjs +0 -2
  27. package/esm2022/filter-entities/filter-entities.model.mjs +0 -2
  28. package/esm2022/filter-entities/filter-entities.trait.actions.mjs +0 -16
  29. package/esm2022/filter-entities/filter-entities.trait.effect.mjs +0 -59
  30. package/esm2022/filter-entities/filter-entities.trait.mjs +0 -74
  31. package/esm2022/filter-entities/filter-entities.trait.mutators.mjs +0 -10
  32. package/esm2022/filter-entities/filter-entities.trait.reducer.mjs +0 -11
  33. package/esm2022/filter-entities/filter-entities.trait.selectors.mjs +0 -9
  34. package/esm2022/filter-entities/index.mjs +0 -3
  35. package/esm2022/index.mjs +0 -13
  36. package/esm2022/load-entities/index.mjs +0 -3
  37. package/esm2022/load-entities/load-entities.model.mjs +0 -2
  38. package/esm2022/load-entities/load-entities.mutators.mjs +0 -7
  39. package/esm2022/load-entities/load-entities.trait.actions.mjs +0 -10
  40. package/esm2022/load-entities/load-entities.trait.mjs +0 -62
  41. package/esm2022/load-entities/load-entities.trait.reducer.mjs +0 -27
  42. package/esm2022/load-entities/load-entities.trait.selectors.mjs +0 -38
  43. package/esm2022/load-entities/load-entities.utils.mjs +0 -10
  44. package/esm2022/load-entity/index.mjs +0 -3
  45. package/esm2022/load-entity/load-entity.model.mjs +0 -2
  46. package/esm2022/load-entity/load-entity.traits.mjs +0 -78
  47. package/esm2022/ngrx-traits-common.mjs +0 -5
  48. package/esm2022/reset/index.mjs +0 -2
  49. package/esm2022/reset/reset.trait.mjs +0 -37
  50. package/esm2022/select-entities/index.mjs +0 -4
  51. package/esm2022/select-entities/select-entities.model.mjs +0 -2
  52. package/esm2022/select-entities/select-entities.trait.actions.mjs +0 -11
  53. package/esm2022/select-entities/select-entities.trait.mjs +0 -55
  54. package/esm2022/select-entities/select-entities.trait.mutators.mjs +0 -27
  55. package/esm2022/select-entities/select-entities.trait.reducer.mjs +0 -42
  56. package/esm2022/select-entities/select-entities.trait.selectors.mjs +0 -28
  57. package/esm2022/select-entities/select-entities.utils.mjs +0 -30
  58. package/esm2022/select-entity/index.mjs +0 -3
  59. package/esm2022/select-entity/select-entity.model.mjs +0 -2
  60. package/esm2022/select-entity/select-entity.trait.actions.mjs +0 -9
  61. package/esm2022/select-entity/select-entity.trait.mjs +0 -52
  62. package/esm2022/select-entity/select-entity.trait.mutators.mjs +0 -26
  63. package/esm2022/select-entity/select-entity.trait.reducer.mjs +0 -35
  64. package/esm2022/select-entity/select-entity.trait.selectors.mjs +0 -13
  65. package/esm2022/set-entity/index.mjs +0 -3
  66. package/esm2022/set-entity/set-entity.model.mjs +0 -2
  67. package/esm2022/set-entity/set-entity.trait.mjs +0 -62
  68. package/esm2022/sort-entities/index.mjs +0 -4
  69. package/esm2022/sort-entities/sort-entities.model.mjs +0 -2
  70. package/esm2022/sort-entities/sort-entities.trait.actions.mjs +0 -8
  71. package/esm2022/sort-entities/sort-entities.trait.effect.mjs +0 -28
  72. package/esm2022/sort-entities/sort-entities.trait.mjs +0 -61
  73. package/esm2022/sort-entities/sort-entities.trait.mutators.mjs +0 -24
  74. package/esm2022/sort-entities/sort-entities.trait.reducer.mjs +0 -15
  75. package/esm2022/sort-entities/sort-entities.trait.selectors.mjs +0 -9
  76. package/esm2022/sort-entities/sort-entities.utils.mjs +0 -63
@@ -1,127 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { createTraitFactory, TraitEffect, } from '@ngrx-traits/core';
4
- import { createEffect, ofType } from '@ngrx/effects';
5
- import { concatLatestFrom } from '@ngrx/operators';
6
- import { createAction, createReducer, on, props } from '@ngrx/store';
7
- import { delay, map, mapTo, tap } from 'rxjs/operators';
8
- import { entitiesPaginationTraitKey, } from '../entities-pagination';
9
- import { filterEntitiesTraitKey, } from '../filter-entities';
10
- import { sortTraitKey, } from '../sort-entities';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * Generates ngrx code necessary to load and set to the current route query params for the filter, sort and paging traits
14
- *
15
- * @example
16
- *
17
- * const traits = createEntityFeatureFactory(
18
- * {entityName: 'Todo'},
19
- * addLoadEntitiesTrait<Todo>(),
20
- * addFilterEntitiesTrait(),
21
- * addSortEntitiesTrait<Todo>({
22
- * remote: true,
23
- * defaultSort: {active:'id', direction:'asc'}
24
- * })
25
- * addEntitiesPaginationTrait<Todo>(),
26
- * addEntitiesSyncToRouteQueryParams()
27
- * )({
28
- * actionsGroupKey: '[Todos]',
29
- * featureSelector: createFeatureSelector<TestState>>(
30
- * 'todos',
31
- * ),
32
- * });
33
- *
34
- *
35
- * // generated actions
36
- * traits.actions.loadTodosUsingRouteQueryParams()
37
- */
38
- export function addEntitiesSyncToRouteQueryParams() {
39
- let setEntitiesRouteQueryParams;
40
- return createTraitFactory({
41
- key: 'entitiesSyncToRouteQueryParams',
42
- depends: [entitiesPaginationTraitKey, sortTraitKey, filterEntitiesTraitKey],
43
- actions({ actionsGroupKey, entitiesName }) {
44
- const actions = {
45
- loadEntitiesUsingRouteQueryParams: createAction(`${actionsGroupKey} Load ${entitiesName} Using Route Query Params`),
46
- };
47
- setEntitiesRouteQueryParams = createAction(`${actionsGroupKey} Set ${entitiesName} Route Query Params`, props());
48
- return { ...actions, setEntitiesRouteQueryParams };
49
- },
50
- reducer({ initialState, allMutators: m }) {
51
- const allMutators = m;
52
- return createReducer(initialState, on(setEntitiesRouteQueryParams, (state, { params: p }) => {
53
- const params = { ...p };
54
- let newState = state;
55
- if (params.page) {
56
- newState = allMutators.setEntitiesPage(newState, +params.page);
57
- delete params.page;
58
- }
59
- if (params.sortActive) {
60
- newState = allMutators.sortEntities({
61
- active: params.sortActive,
62
- direction: params.sortDirection,
63
- }, newState);
64
- delete params.sortActive;
65
- delete params.sortDirection;
66
- }
67
- if (Object.keys(params).length) {
68
- newState = allMutators.setEntitiesFilters(params, newState);
69
- }
70
- return newState;
71
- }));
72
- },
73
- effects({ allActions: a }) {
74
- const allActions = a;
75
- class SyncEntitiesStateToUrlEffect extends TraitEffect {
76
- constructor() {
77
- super(...arguments);
78
- this.activatedRoute = inject(ActivatedRoute);
79
- this.router = inject(Router);
80
- this.loadUrlParams$ = createEffect(() => {
81
- return this.actions$.pipe(ofType(allActions.loadEntitiesUsingRouteQueryParams), concatLatestFrom(() => this.activatedRoute.queryParams), map(([_, params]) => setEntitiesRouteQueryParams({ params })));
82
- });
83
- this.setUrlParams$ = createEffect(() => {
84
- return this.actions$.pipe(ofType(setEntitiesRouteQueryParams), mapTo(allActions.loadEntities()));
85
- });
86
- this.onFilter$ = !!allActions.filterEntities &&
87
- createEffect(() => {
88
- return this.actions$.pipe(ofType(allActions.filterEntities), tap(({ filters }) => {
89
- this.updateUrl(filters);
90
- }));
91
- }, { dispatch: false });
92
- this.onSort$ = !!allActions.sortEntities &&
93
- createEffect(() => {
94
- return this.actions$.pipe(ofType(allActions.sortEntities), delay(0), tap(({ active, direction }) => {
95
- this.updateUrl({
96
- sortActive: active,
97
- sortDirection: direction,
98
- });
99
- }));
100
- }, { dispatch: false });
101
- this.onPaginate$ = !!allActions.loadEntitiesPage &&
102
- createEffect(() => {
103
- return this.actions$.pipe(ofType(allActions.loadEntitiesPage), tap(({ index }) => {
104
- this.updateUrl({
105
- page: index,
106
- });
107
- }));
108
- }, { dispatch: false });
109
- }
110
- updateUrl(queryParams) {
111
- this.router.navigate([], {
112
- relativeTo: this.activatedRoute,
113
- queryParams,
114
- queryParamsHandling: 'merge', // remove to replace all query params by provided
115
- });
116
- }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SyncEntitiesStateToUrlEffect, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
118
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SyncEntitiesStateToUrlEffect }); }
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SyncEntitiesStateToUrlEffect, decorators: [{
121
- type: Injectable
122
- }] });
123
- return [SyncEntitiesStateToUrlEffect];
124
- },
125
- });
126
- }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMtc3luYy10by1yb3V0ZS1xdWVyeS1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2VudGl0aWVzLXN5bmMtdG8tcm91dGUtcXVlcnktcGFyYW1zL2VudGl0aWVzLXN5bmMtdG8tcm91dGUtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixXQUFXLEdBQ1osTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBR0wsMEJBQTBCLEdBQzNCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUdMLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxNQUFNLFVBQVUsaUNBQWlDO0lBQy9DLElBQUksMkJBR0gsQ0FBQztJQUNGLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLENBQUM7UUFDM0UsT0FBTyxDQUFDLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBNkI7WUFDbEUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsaUNBQWlDLEVBQUUsWUFBWSxDQUM3QyxHQUFHLGVBQWUsU0FBUyxZQUFZLDJCQUEyQixDQUNuRTthQUNGLENBQUM7WUFDRiwyQkFBMkIsR0FBRyxZQUFZLENBQ3hDLEdBQUcsZUFBZSxRQUFRLFlBQVkscUJBQXFCLEVBQzNELEtBQUssRUFBbUIsQ0FDekIsQ0FBQztZQUNGLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSwyQkFBMkIsRUFBb0IsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7WUFDdEMsTUFBTSxXQUFXLEdBQUcsQ0FFTyxDQUFDO1lBQzVCLE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQ3BDLFFBQWUsRUFDZixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2IsQ0FBQztvQkFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3RCLFFBQVEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUNqQzt3QkFDRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVU7d0JBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYTtxQkFDaEMsRUFDRCxRQUFlLENBQ2hCLENBQUM7b0JBQ0YsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDO29CQUN6QixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQzlCLENBQUM7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMvQixRQUFRLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFlLENBQUMsQ0FBQztnQkFDckUsQ0FBQztnQkFFRCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUU7WUFDdkIsTUFBTSxVQUFVLEdBQUcsQ0FHUSxDQUFDO1lBRTVCLE1BQ00sNEJBQTZCLFNBQVEsV0FBVztnQkFEdEQ7O29CQUVFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUN4QyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUV4QixtQkFBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUU7d0JBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUMsRUFDcEQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUM5RCxDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO29CQUVILGtCQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTt3QkFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEVBQ25DLEtBQUssQ0FFRCxVQUNELENBQUMsWUFBWSxFQUFFLENBQ2pCLENBQ0YsQ0FBQztvQkFDSixDQUFDLENBQUMsQ0FBQztvQkFFSCxjQUFTLEdBQ1AsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjO3dCQUMzQixZQUFZLENBQ1YsR0FBRyxFQUFFOzRCQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQ0FDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQzt3QkFDSixDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7b0JBRUosWUFBTyxHQUNMLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWTt3QkFDekIsWUFBWSxDQUNWLEdBQUcsRUFBRTs0QkFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUMvQixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQ0FDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQ0FDYixVQUFVLEVBQUUsTUFBTTtvQ0FDbEIsYUFBYSxFQUFFLFNBQVM7aUNBQ3pCLENBQUMsQ0FBQzs0QkFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO3dCQUNKLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQztvQkFFSixnQkFBVyxHQUNULENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCO3dCQUM3QixZQUFZLENBQ1YsR0FBRyxFQUFFOzRCQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFDbkMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dDQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDO29DQUNiLElBQUksRUFBRSxLQUFLO2lDQUNaLENBQUMsQ0FBQzs0QkFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO3dCQUNKLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQztpQkFTTDtnQkFQQyxTQUFTLENBQUMsV0FBZ0I7b0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTt3QkFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjO3dCQUMvQixXQUFXO3dCQUNYLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxpREFBaUQ7cUJBQ2hGLENBQUMsQ0FBQztnQkFDTCxDQUFDOzBIQTdFRyw0QkFBNEI7OEhBQTVCLDRCQUE0Qjs7dUdBQTVCLDRCQUE0Qjs4QkFEakMsVUFBVTs7WUFnRlgsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDdkM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRyYWl0RmFjdG9yeSxcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRFZmZlY3QsXG59IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5pbXBvcnQgeyBkZWxheSwgbWFwLCBtYXBUbywgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBFbnRpdGllc1BhZ2luYXRpb25NdXRhdG9ycyxcbiAgZW50aXRpZXNQYWdpbmF0aW9uVHJhaXRLZXksXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24nO1xuaW1wb3J0IHtcbiAgRmlsdGVyRW50aXRpZXNBY3Rpb25zLFxuICBGaWx0ZXJFbnRpdGllc011dGF0b3JzLFxuICBmaWx0ZXJFbnRpdGllc1RyYWl0S2V5LFxufSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuaW1wb3J0IHsgTG9hZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuaW1wb3J0IHtcbiAgU29ydEVudGl0aWVzQWN0aW9ucyxcbiAgU29ydEVudGl0aWVzTXV0YXRvcnMsXG4gIHNvcnRUcmFpdEtleSxcbn0gZnJvbSAnLi4vc29ydC1lbnRpdGllcyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSBuZWNlc3NhcnkgdG8gbG9hZCBhbmQgc2V0IHRvIHRoZSBjdXJyZW50IHJvdXRlIHF1ZXJ5IHBhcmFtcyBmb3IgdGhlIGZpbHRlciwgc29ydCBhbmQgcGFnaW5nIHRyYWl0c1xuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIHtlbnRpdHlOYW1lOiAnVG9kbyd9LFxuICogICAgICBhZGRMb2FkRW50aXRpZXNUcmFpdDxUb2RvPigpLFxuICogICAgICBhZGRGaWx0ZXJFbnRpdGllc1RyYWl0KCksXG4gKiAgICAgIGFkZFNvcnRFbnRpdGllc1RyYWl0PFRvZG8+KHtcbiAqICAgICAgICByZW1vdGU6IHRydWUsXG4gKiAgICAgICAgZGVmYXVsdFNvcnQ6IHthY3RpdmU6J2lkJywgZGlyZWN0aW9uOidhc2MnfVxuICogICAgICB9KVxuICogICAgICBhZGRFbnRpdGllc1BhZ2luYXRpb25UcmFpdDxUb2RvPigpLFxuICogICAgICBhZGRFbnRpdGllc1N5bmNUb1JvdXRlUXVlcnlQYXJhbXMoKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKlxuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5sb2FkVG9kb3NVc2luZ1JvdXRlUXVlcnlQYXJhbXMoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRW50aXRpZXNTeW5jVG9Sb3V0ZVF1ZXJ5UGFyYW1zKCkge1xuICBsZXQgc2V0RW50aXRpZXNSb3V0ZVF1ZXJ5UGFyYW1zOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHsgcGFyYW1zOiBhbnkgfSkgPT4geyBwYXJhbXM6IGFueSB9ICYgQWN0aW9uPHN0cmluZz5cbiAgPjtcbiAgcmV0dXJuIGNyZWF0ZVRyYWl0RmFjdG9yeSh7XG4gICAga2V5OiAnZW50aXRpZXNTeW5jVG9Sb3V0ZVF1ZXJ5UGFyYW1zJyxcbiAgICBkZXBlbmRzOiBbZW50aXRpZXNQYWdpbmF0aW9uVHJhaXRLZXksIHNvcnRUcmFpdEtleSwgZmlsdGVyRW50aXRpZXNUcmFpdEtleV0sXG4gICAgYWN0aW9ucyh7IGFjdGlvbnNHcm91cEtleSwgZW50aXRpZXNOYW1lIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpIHtcbiAgICAgIGNvbnN0IGFjdGlvbnMgPSB7XG4gICAgICAgIGxvYWRFbnRpdGllc1VzaW5nUm91dGVRdWVyeVBhcmFtczogY3JlYXRlQWN0aW9uKFxuICAgICAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gTG9hZCAke2VudGl0aWVzTmFtZX0gVXNpbmcgUm91dGUgUXVlcnkgUGFyYW1zYCxcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgICBzZXRFbnRpdGllc1JvdXRlUXVlcnlQYXJhbXMgPSBjcmVhdGVBY3Rpb24oXG4gICAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gU2V0ICR7ZW50aXRpZXNOYW1lfSBSb3V0ZSBRdWVyeSBQYXJhbXNgLFxuICAgICAgICBwcm9wczx7IHBhcmFtczogYW55IH0+KCksXG4gICAgICApO1xuICAgICAgcmV0dXJuIHsgLi4uYWN0aW9ucywgc2V0RW50aXRpZXNSb3V0ZVF1ZXJ5UGFyYW1zIH0gYXMgdHlwZW9mIGFjdGlvbnM7XG4gICAgfSxcbiAgICByZWR1Y2VyKHsgaW5pdGlhbFN0YXRlLCBhbGxNdXRhdG9yczogbSB9KSB7XG4gICAgICBjb25zdCBhbGxNdXRhdG9ycyA9IG0gYXMgRW50aXRpZXNQYWdpbmF0aW9uTXV0YXRvcnM8YW55PiAmXG4gICAgICAgIEZpbHRlckVudGl0aWVzTXV0YXRvcnM8YW55LCBhbnk+ICZcbiAgICAgICAgU29ydEVudGl0aWVzTXV0YXRvcnM8YW55PjtcbiAgICAgIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIG9uKHNldEVudGl0aWVzUm91dGVRdWVyeVBhcmFtcywgKHN0YXRlLCB7IHBhcmFtczogcCB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5wIH07XG4gICAgICAgICAgbGV0IG5ld1N0YXRlID0gc3RhdGU7XG4gICAgICAgICAgaWYgKHBhcmFtcy5wYWdlKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZSA9IGFsbE11dGF0b3JzLnNldEVudGl0aWVzUGFnZShcbiAgICAgICAgICAgICAgbmV3U3RhdGUgYXMgYW55LFxuICAgICAgICAgICAgICArcGFyYW1zLnBhZ2UsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5wYWdlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGFyYW1zLnNvcnRBY3RpdmUpIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0gYWxsTXV0YXRvcnMuc29ydEVudGl0aWVzKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aXZlOiBwYXJhbXMuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHBhcmFtcy5zb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBuZXdTdGF0ZSBhcyBhbnksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5zb3J0QWN0aXZlO1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5zb3J0RGlyZWN0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0gYWxsTXV0YXRvcnMuc2V0RW50aXRpZXNGaWx0ZXJzKHBhcmFtcywgbmV3U3RhdGUgYXMgYW55KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9LFxuICAgIGVmZmVjdHMoeyBhbGxBY3Rpb25zOiBhIH0pIHtcbiAgICAgIGNvbnN0IGFsbEFjdGlvbnMgPSBhIGFzIHR5cGVvZiBhICZcbiAgICAgICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgICAgICBTb3J0RW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zO1xuXG4gICAgICBASW5qZWN0YWJsZSgpXG4gICAgICBjbGFzcyBTeW5jRW50aXRpZXNTdGF0ZVRvVXJsRWZmZWN0IGV4dGVuZHMgVHJhaXRFZmZlY3Qge1xuICAgICAgICBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgICAgIGxvYWRVcmxQYXJhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzVXNpbmdSb3V0ZVF1ZXJ5UGFyYW1zKSxcbiAgICAgICAgICAgIGNvbmNhdExhdGVzdEZyb20oKCkgPT4gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcyksXG4gICAgICAgICAgICBtYXAoKFtfLCBwYXJhbXNdKSA9PiBzZXRFbnRpdGllc1JvdXRlUXVlcnlQYXJhbXMoeyBwYXJhbXMgfSkpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFVybFBhcmFtcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICBvZlR5cGUoc2V0RW50aXRpZXNSb3V0ZVF1ZXJ5UGFyYW1zKSxcbiAgICAgICAgICAgIG1hcFRvKFxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgYWxsQWN0aW9ucyBhcyB1bmtub3duIGFzIExvYWRFbnRpdGllc0FjdGlvbnM8YW55PlxuICAgICAgICAgICAgICApLmxvYWRFbnRpdGllcygpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICBvbkZpbHRlciQgPVxuICAgICAgICAgICEhYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcyAmJlxuICAgICAgICAgIGNyZWF0ZUVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgICAgICAgICBvZlR5cGUoYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcyksXG4gICAgICAgICAgICAgICAgdGFwKCh7IGZpbHRlcnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVVcmwoZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBkaXNwYXRjaDogZmFsc2UgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgIG9uU29ydCQgPVxuICAgICAgICAgICEhYWxsQWN0aW9ucy5zb3J0RW50aXRpZXMgJiZcbiAgICAgICAgICBjcmVhdGVFZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMuc29ydEVudGl0aWVzKSxcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICB0YXAoKHsgYWN0aXZlLCBkaXJlY3Rpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVVcmwoe1xuICAgICAgICAgICAgICAgICAgICBzb3J0QWN0aXZlOiBhY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb246IGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICBvblBhZ2luYXRlJCA9XG4gICAgICAgICAgISFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2UgJiZcbiAgICAgICAgICBjcmVhdGVFZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZSksXG4gICAgICAgICAgICAgICAgdGFwKCh7IGluZGV4IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVXJsKHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogaW5kZXgsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGRpc3BhdGNoOiBmYWxzZSB9LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgdXBkYXRlVXJsKHF1ZXJ5UGFyYW1zOiBhbnkpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJywgLy8gcmVtb3ZlIHRvIHJlcGxhY2UgYWxsIHF1ZXJ5IHBhcmFtcyBieSBwcm92aWRlZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gW1N5bmNFbnRpdGllc1N0YXRlVG9VcmxFZmZlY3RdO1xuICAgIH0sXG4gIH0pO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './entities-sync-to-route-query-params';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2VudGl0aWVzLXN5bmMtdG8tcm91dGUtcXVlcnktcGFyYW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0aWVzLXN5bmMtdG8tcm91dGUtcXVlcnktcGFyYW1zJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuaW1wb3J0IHsgRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi9maWx0ZXItZW50aXRpZXMubW9kZWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSDGn0ZpbHRlckVudGl0aWVzQWN0aW9uczxGPiA9IEZpbHRlckVudGl0aWVzQWN0aW9uczxGPiAmIHtcbiAgc3RvcmVFbnRpdGllc0ZpbHRlcjogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7XG4gICAgICBmaWx0ZXJzPzogRjtcbiAgICAgIHBhdGNoPzogYm9vbGVhbjtcbiAgICB9KSA9PiB7IGZpbHRlcnM/OiBGOyBwYXRjaD86IGJvb2xlYW4gfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export const filterEntitiesTraitKey = 'filter';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuaW1wb3J0IHsgTG9hZEVudGl0aWVzU3RhdGUgfSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckVudGl0aWVzU3RhdGU8Rj4ge1xuICBmaWx0ZXJzPzogRjtcbn1cblxudHlwZSBGaWx0ZXJQYXRjaENvbmRpdGlvbmFsVHlwZTxGLCBQPiA9IFAgZXh0ZW5kcyB0cnVlID8gUGFydGlhbDxGPiA6IEY7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQWN0aW9uT3ZlcmxvYWQ8Rj4ge1xuICA8UCBleHRlbmRzIGJvb2xlYW4+KHByb3BzPzoge1xuICAgIGZpbHRlcnM6IEZpbHRlclBhdGNoQ29uZGl0aW9uYWxUeXBlPEYsIFA+O1xuICAgIGZvcmNlTG9hZD86IGJvb2xlYW47XG4gICAgcGF0Y2g6IFA7XG4gIH0pOiB7XG4gICAgZmlsdGVyczogRmlsdGVyUGF0Y2hDb25kaXRpb25hbFR5cGU8RiwgUD47XG4gICAgZm9yY2VMb2FkOiBib29sZWFuO1xuICAgIHBhdGNoOiBQO1xuICB9ICYgQWN0aW9uPHN0cmluZz47XG4gIChwcm9wcz86IHsgZmlsdGVyczogRjsgZm9yY2VMb2FkPzogYm9vbGVhbiB9KToge1xuICAgIGZpbHRlcnM6IEY7XG4gICAgZm9yY2VMb2FkOiBib29sZWFuO1xuICAgIHBhdGNoOiBib29sZWFuO1xuICB9ICYgQWN0aW9uPHN0cmluZz47XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckVudGl0aWVzQWN0aW9uczxGPiA9IHtcbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBmaWx0ZXJzIHBhcmFtIChyZWFkIHVzaW5nIHNlbGVjdEZpbHRlcikgYW5kIGZpcmVzIHRoZSBsb2FkRW50aXRpZXMgYWN0aW9uXG4gICAqIGlmIHRoZSBmaWx0ZXJzIHBhcmFtIGhhcyBjaGFuZ2VkLCB0aGlzIGNhbGwgaXMgYWxzbyBkZWJvdW5jZSBieSBkZWZhdWx0LCB0byBkaXNhYmxlIHRoaXNcbiAgICogYmVoYXZpb3IgeW91IGNhbiB1c2UgdGhlIGZvcmNlTG9hZCBwYXJhbSBhcyB0cnVlIG9yIGRlZmF1bHREZWJvdW5jZVRpbWUgdG8gMCBpbiB0aGUgdHJhaXQgY29uZmlnXG4gICAqIHRvIGRpc2FibGUgcGVybWFuZW50bHkuXG4gICAqIElmIHRoZSBgcGF0Y2hgIHBhcmFtIGlzIHNldCB0byB0cnVlIChkZWZhdWx0IGlzIGZhbHNlKSwgdGhlIGZpbHRlcnMgYXJlIG1lcmdlZCB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZSBpbiB0aGUgc3RvcmUsXG4gICAqIG90aGVyd2lzZSB0aGV5IGFyZSByZXBsYWNlZC5cbiAgICovXG4gIGZpbHRlckVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgRmlsdGVyQWN0aW9uT3ZlcmxvYWQ8Rj4+O1xufTtcbmV4cG9ydCB0eXBlIEZpbHRlckVudGl0aWVzU2VsZWN0b3JzPFQsIEY+ID0ge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RvcmVkIGZpbHRlcnMgc2V0IGJ5IHRoZSBmaWx0ZXIgYWN0aW9uXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgc2VsZWN0RW50aXRpZXNGaWx0ZXI6IChcbiAgICBzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBGaWx0ZXJFbnRpdGllc1N0YXRlPEY+LFxuICApID0+IEYgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJFbnRpdGllc011dGF0b3JzPFQsIEY+ID0ge1xuICBzZXRFbnRpdGllc0ZpbHRlcnM8UyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgRmlsdGVyRW50aXRpZXNTdGF0ZTxGPj4oXG4gICAgZmlsdGVyOiBGIHwgdW5kZWZpbmVkLFxuICAgIHN0YXRlOiBTLFxuICApOiBTO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlckVudGl0aWVzVHJhaXRLZXkgPSAnZmlsdGVyJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyRW50aXRpZXNDb25maWc8VCwgRj4gPSB7XG4gIGRlZmF1bHRGaWx0ZXI/OiBGO1xuICBmaWx0ZXJGbj86IChmaWx0ZXI6IEYsIGVudGl0eTogVCkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdERlYm91bmNlVGltZT86IG51bWJlcjtcbiAgaXNSZW1vdGVGaWx0ZXI/OiAocHJldmlvdXM6IEYgfCB1bmRlZmluZWQsIGN1cnJlbnQ6IEYgfCB1bmRlZmluZWQpID0+IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPFQsIEY+ID0ge1xuICBmaWx0ZXI/OiBGaWx0ZXJFbnRpdGllc0NvbmZpZzxULCBGPjtcbn07XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { createAction } from '@ngrx/store';
2
- export function createFilterTraitActions(actionsGroupKey, entitiesName) {
3
- const actions = {
4
- filterEntities: createAction(`${actionsGroupKey} Filter ${entitiesName}`, (props) => ({
5
- filters: props?.filters,
6
- forceLoad: props?.forceLoad,
7
- patch: props?.patch,
8
- })),
9
- storeEntitiesFilter: createAction(`${actionsGroupKey} Store ${entitiesName} Filter`, (props) => ({
10
- filters: props?.filters,
11
- patch: props?.patch,
12
- })),
13
- };
14
- return actions;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2ZpbHRlci1lbnRpdGllcy9maWx0ZXItZW50aXRpZXMudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTNDLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsZUFBdUIsRUFDdkIsWUFBb0I7SUFFcEIsTUFBTSxPQUFPLEdBQThCO1FBQ3pDLGNBQWMsRUFBRSxZQUFZLENBQzFCLEdBQUcsZUFBZSxXQUFXLFlBQVksRUFBRSxFQUMzQyxDQUFDLEtBSUEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTztZQUN2QixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVM7WUFDM0IsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FDK0M7UUFDbkQsbUJBQW1CLEVBQUUsWUFBWSxDQUMvQixHQUFHLGVBQWUsVUFBVSxZQUFZLFNBQVMsRUFDakQsQ0FBQyxLQUF1QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTztZQUN2QixLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUNIO0tBQ0YsQ0FBQztJQUNGLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBGaWx0ZXJBY3Rpb25PdmVybG9hZCxcbiAgRmlsdGVyRW50aXRpZXNBY3Rpb25zLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5pbXBvcnQgeyDGn0ZpbHRlckVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4vZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlclRyYWl0QWN0aW9uczxGPihcbiAgYWN0aW9uc0dyb3VwS2V5OiBzdHJpbmcsXG4gIGVudGl0aWVzTmFtZTogc3RyaW5nXG4pOiBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8Rj4ge1xuICBjb25zdCBhY3Rpb25zOiDGn0ZpbHRlckVudGl0aWVzQWN0aW9uczxGPiA9IHtcbiAgICBmaWx0ZXJFbnRpdGllczogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBGaWx0ZXIgJHtlbnRpdGllc05hbWV9YCxcbiAgICAgIChwcm9wcz86IHtcbiAgICAgICAgZmlsdGVyczogRiB8IFBhcnRpYWw8Rj47XG4gICAgICAgIGZvcmNlTG9hZD86IGJvb2xlYW47XG4gICAgICAgIHBhdGNoPzogYm9vbGVhbjtcbiAgICAgIH0pID0+ICh7XG4gICAgICAgIGZpbHRlcnM6IHByb3BzPy5maWx0ZXJzLFxuICAgICAgICBmb3JjZUxvYWQ6IHByb3BzPy5mb3JjZUxvYWQsXG4gICAgICAgIHBhdGNoOiBwcm9wcz8ucGF0Y2gsXG4gICAgICB9KVxuICAgICkgYXMgQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIEZpbHRlckFjdGlvbk92ZXJsb2FkPEY+PixcbiAgICBzdG9yZUVudGl0aWVzRmlsdGVyOiBjcmVhdGVBY3Rpb24oXG4gICAgICBgJHthY3Rpb25zR3JvdXBLZXl9IFN0b3JlICR7ZW50aXRpZXNOYW1lfSBGaWx0ZXJgLFxuICAgICAgKHByb3BzOiB7IGZpbHRlcnM/OiBGOyBwYXRjaD86IGJvb2xlYW4gfSkgPT4gKHtcbiAgICAgICAgZmlsdGVyczogcHJvcHM/LmZpbHRlcnMsXG4gICAgICAgIHBhdGNoOiBwcm9wcz8ucGF0Y2gsXG4gICAgICB9KVxuICAgICksXG4gIH07XG4gIHJldHVybiBhY3Rpb25zO1xufVxuIl19
@@ -1,59 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TraitEffect } from '@ngrx-traits/core';
3
- import { createEffect, ofType } from '@ngrx/effects';
4
- import { asyncScheduler, of, pipe, timer } from 'rxjs';
5
- import { concatMap, debounce, distinctUntilChanged, first, map, pairwise, startWith, } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- export function createFilterTraitEffects(allActions, allSelectors, allConfigs) {
8
- const traitConfig = allConfigs.filter;
9
- class FilterEffect extends TraitEffect {
10
- constructor() {
11
- super(...arguments);
12
- this.storeFilter$ = createEffect(() => ({ debounce: debounceTime = traitConfig.defaultDebounceTime, scheduler = asyncScheduler, } = {}) => this.actions$.pipe(ofType(allActions.filterEntities), debounce((value) => value?.forceLoad ? of({}) : timer(debounceTime, scheduler)), concatMap((payload) => payload.patch
13
- ? this.store.select(allSelectors.selectEntitiesFilter).pipe(first(), map((storedFilters) => ({
14
- ...payload,
15
- filters: { ...storedFilters, ...payload?.filters },
16
- })))
17
- : of(payload)), distinctUntilChanged((previous, current) => !current?.forceLoad &&
18
- JSON.stringify(previous?.filters) ===
19
- JSON.stringify(current?.filters)), traitConfig?.isRemoteFilter
20
- ? pipe(startWith({
21
- filters: traitConfig.defaultFilter,
22
- patch: false,
23
- }), pairwise(), concatMap(([previous, current]) => traitConfig?.isRemoteFilter(previous?.filters, current?.filters)
24
- ? [
25
- allActions.storeEntitiesFilter({
26
- filters: current?.filters,
27
- patch: current?.patch,
28
- }),
29
- allActions.loadEntities(),
30
- ]
31
- : [
32
- allActions.storeEntitiesFilter({
33
- filters: current?.filters,
34
- patch: current?.patch,
35
- }),
36
- ]))
37
- : map((action) => allActions.storeEntitiesFilter({
38
- filters: action?.filters,
39
- patch: action?.patch,
40
- }))));
41
- this.loadEntities$ = (!traitConfig?.filterFn || traitConfig?.isRemoteFilter) &&
42
- createEffect(() => {
43
- return this.actions$.pipe(ofType(allActions['storeEntitiesFilter']), concatMap(() => allActions?.loadEntitiesFirstPage
44
- ? [
45
- allActions.clearEntitiesPagesCache(),
46
- allActions.loadEntitiesFirstPage(),
47
- ]
48
- : [allActions.loadEntities()]));
49
- });
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FilterEffect, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FilterEffect }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FilterEffect, decorators: [{
55
- type: Injectable
56
- }] });
57
- return [FilterEffect];
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0LmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvZmlsdGVyLWVudGl0aWVzL2ZpbHRlci1lbnRpdGllcy50cmFpdC5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsS0FBSyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7O0FBYXhCLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsVUFFMkIsRUFDM0IsWUFDK0IsRUFDL0IsVUFBZ0Q7SUFFaEQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxNQUNNLFlBQWEsU0FBUSxXQUFXO1FBRHRDOztZQUVFLGlCQUFZLEdBQUcsWUFBWSxDQUN6QixHQUFHLEVBQUUsQ0FDSCxDQUFDLEVBQ0MsUUFBUSxFQUFFLFlBQVksR0FBRyxXQUFZLENBQUMsbUJBQW1CLEVBQ3pELFNBQVMsR0FBRyxjQUFjLE1BQ3hCLEVBQUUsRUFBRSxFQUFFLENBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ2pDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2pCLEtBQUssRUFBRSxT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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhaXRFZmZlY3QsIFR5cGUgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEVNUFRZLCBvZiwgcGlwZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNvbmNhdE1hcCxcbiAgZGVib3VuY2UsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaXJzdCxcbiAgbWFwLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMgfSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc1NlbGVjdG9ycyxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWcsXG4gIEZpbHRlckVudGl0aWVzU2VsZWN0b3JzLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyDGn0ZpbHRlckVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4vZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlclRyYWl0RWZmZWN0czxFbnRpdHksIEY+KFxuICBhbGxBY3Rpb25zOiDGn0ZpbHRlckVudGl0aWVzQWN0aW9uczxGPiAmXG4gICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBhbGxTZWxlY3RvcnM6IEZpbHRlckVudGl0aWVzU2VsZWN0b3JzPEVudGl0eSwgRj4gJlxuICAgIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+LFxuICBhbGxDb25maWdzOiBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eSwgRj4sXG4pOiBUeXBlPFRyYWl0RWZmZWN0PltdIHtcbiAgY29uc3QgdHJhaXRDb25maWcgPSBhbGxDb25maWdzLmZpbHRlcjtcbiAgQEluamVjdGFibGUoKVxuICBjbGFzcyBGaWx0ZXJFZmZlY3QgZXh0ZW5kcyBUcmFpdEVmZmVjdCB7XG4gICAgc3RvcmVGaWx0ZXIkID0gY3JlYXRlRWZmZWN0KFxuICAgICAgKCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBkZWJvdW5jZTogZGVib3VuY2VUaW1lID0gdHJhaXRDb25maWchLmRlZmF1bHREZWJvdW5jZVRpbWUsXG4gICAgICAgICAgc2NoZWR1bGVyID0gYXN5bmNTY2hlZHVsZXIsXG4gICAgICAgIH0gPSB7fSkgPT5cbiAgICAgICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICBvZlR5cGUoYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcyksXG4gICAgICAgICAgICBkZWJvdW5jZSgodmFsdWUpID0+XG4gICAgICAgICAgICAgIHZhbHVlPy5mb3JjZUxvYWQgPyBvZih7fSkgOiB0aW1lcihkZWJvdW5jZVRpbWUsIHNjaGVkdWxlciksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY29uY2F0TWFwKChwYXlsb2FkKSA9PlxuICAgICAgICAgICAgICBwYXlsb2FkLnBhdGNoXG4gICAgICAgICAgICAgICAgPyB0aGlzLnN0b3JlLnNlbGVjdChhbGxTZWxlY3RvcnMuc2VsZWN0RW50aXRpZXNGaWx0ZXIpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoc3RvcmVkRmlsdGVycykgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IHsgLi4uc3RvcmVkRmlsdGVycywgLi4ucGF5bG9hZD8uZmlsdGVycyB9LFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBvZihwYXlsb2FkKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcbiAgICAgICAgICAgICAgKHByZXZpb3VzLCBjdXJyZW50KSA9PlxuICAgICAgICAgICAgICAgICFjdXJyZW50Py5mb3JjZUxvYWQgJiZcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShwcmV2aW91cz8uZmlsdGVycykgPT09XG4gICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShjdXJyZW50Py5maWx0ZXJzKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFpdENvbmZpZz8uaXNSZW1vdGVGaWx0ZXJcbiAgICAgICAgICAgICAgPyBwaXBlKFxuICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyczogdHJhaXRDb25maWcuZGVmYXVsdEZpbHRlciBhcyBGLFxuICAgICAgICAgICAgICAgICAgICBwYXRjaDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgICBjb25jYXRNYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRyYWl0Q29uZmlnPy5pc1JlbW90ZUZpbHRlciEoXG4gICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXM/LmZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgY3VycmVudD8uZmlsdGVycyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxBY3Rpb25zLnN0b3JlRW50aXRpZXNGaWx0ZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IGN1cnJlbnQ/LmZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2g6IGN1cnJlbnQ/LnBhdGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsQWN0aW9ucy5sb2FkRW50aXRpZXMoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsQWN0aW9ucy5zdG9yZUVudGl0aWVzRmlsdGVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBjdXJyZW50Py5maWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoOiBjdXJyZW50Py5wYXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIDogbWFwKChhY3Rpb24pID0+XG4gICAgICAgICAgICAgICAgICBhbGxBY3Rpb25zLnN0b3JlRW50aXRpZXNGaWx0ZXIoe1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBhY3Rpb24/LmZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHBhdGNoOiBhY3Rpb24/LnBhdGNoLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICk7XG5cbiAgICBsb2FkRW50aXRpZXMkID1cbiAgICAgICghdHJhaXRDb25maWc/LmZpbHRlckZuIHx8IHRyYWl0Q29uZmlnPy5pc1JlbW90ZUZpbHRlcikgJiZcbiAgICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgb2ZUeXBlKGFsbEFjdGlvbnNbJ3N0b3JlRW50aXRpZXNGaWx0ZXInXSksXG4gICAgICAgICAgY29uY2F0TWFwKCgpID0+XG4gICAgICAgICAgICBhbGxBY3Rpb25zPy5sb2FkRW50aXRpZXNGaXJzdFBhZ2VcbiAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICBhbGxBY3Rpb25zLmNsZWFyRW50aXRpZXNQYWdlc0NhY2hlKCksXG4gICAgICAgICAgICAgICAgICBhbGxBY3Rpb25zLmxvYWRFbnRpdGllc0ZpcnN0UGFnZSgpLFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgOiBbYWxsQWN0aW9ucy5sb2FkRW50aXRpZXMoKV0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIFtGaWx0ZXJFZmZlY3RdO1xufVxuIl19
@@ -1,74 +0,0 @@
1
- import { entitiesPaginationTraitKey, } from '../entities-pagination/entities-pagination.model';
2
- import { createFilterTraitEffects } from './filter-entities.trait.effect';
3
- import { createFilterInitialState, createFilterTraitReducer, } from './filter-entities.trait.reducer';
4
- import { filterEntitiesTraitKey, } from './filter-entities.model';
5
- import { createFilterTraitSelectors } from './filter-entities.trait.selectors';
6
- import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
7
- import { createFilterTraitMutators } from './filter-entities.trait.mutators';
8
- import { createTraitFactory } from '@ngrx-traits/core';
9
- import { createFilterTraitActions } from './filter-entities.trait.actions';
10
- /**
11
- * Generates the ngrx code needed to filter a list of entities locally or remotely, adds a filter
12
- * action and a selectFilter selector, the filter action is debounced and the filter will only
13
- * call the loadEntities action if the params have changed, so there is no need to implement that in
14
- * the components. The filter action has a `forceLoad` param which can
15
- * be use to skip that restriction for one call or setting the `defaultDebounceTime` to 0 for all calls.
16
- * Calling the filter action will also replace the `filters` param in the store, if the `patch` param is set
17
- * the filters are merged with the previous value in the store.
18
- * @param traitConfig - Config object fot the trait factory
19
- * @param traitConfig.defaultFilter - Initial value for the filter
20
- * @param traitConfig.filterFn - Function to filter entities in memory, if not present then its expected
21
- * is filtered by the backend unless isRemoteFilter is defned
22
- * @param traitConfig.defaultDebounceTime - Value in milliseconds. Default to 400ms
23
- * @param traitConfig.isRemoteFilter - Function to when it returns true it fires loadEntities so a remote
24
- * backend filtering can run, otherwise it uses filterFn to do a local filtering
25
- *
26
- * @example
27
- * // The following trait config
28
- *
29
- * export interface TestState
30
- * extends LoadEntitiesState<Todo>, FilterEntitiesState<TodoFilter>{}
31
- *
32
- * const traits = createEntityFeatureFactory(
33
- * {entityName: 'Todo'},
34
- * addLoadEntitiesTrait<Todo>(),
35
- * //addFilterEntitiesTrait<Todo,TodoFilter>() // no params uses remote filtering
36
- * addFilterEntitiesTrait<Todo,TodoFilter>({filterFn: (filter, entity) => // local filtering
37
- * !filter.content || !!entity.content?.includes(filter.content.toLowerCase())
38
- * // or use the following function to switch between remote search and local
39
- * // depending on which properties have changed in the filter
40
- * // isRemoteFilter: (previous, current) => previous?.someRemoteParam !== current?.someRemoteParam,
41
- * )({
42
- * actionsGroupKey: '[Todos]',
43
- * featureSelector: createFeatureSelector<TestState>>(
44
- * 'todos',
45
- * ),
46
- * });
47
- *
48
- * // adds following props to the state:
49
- * // filters?: TodoFilter;
50
- *
51
- * // generated actions
52
- * traits.actions.filterTodos()
53
- * // generated selectors
54
- * traits.selectors.selectTodosFilter()
55
- */
56
- export function addFilterEntitiesTrait({ defaultDebounceTime = 400, defaultFilter, filterFn, isRemoteFilter, } = {}) {
57
- return createTraitFactory({
58
- key: filterEntitiesTraitKey,
59
- depends: [entitiesPaginationTraitKey, loadEntitiesTraitKey],
60
- config: {
61
- defaultDebounceTime,
62
- defaultFilter,
63
- filterFn,
64
- isRemoteFilter,
65
- },
66
- actions: ({ actionsGroupKey, entitiesName }) => createFilterTraitActions(actionsGroupKey, entitiesName),
67
- selectors: () => createFilterTraitSelectors(),
68
- mutators: () => createFilterTraitMutators(),
69
- initialState: ({ previousInitialState, allConfigs, }) => createFilterInitialState(previousInitialState, allConfigs),
70
- reducer: ({ initialState, allActions, allMutators }) => createFilterTraitReducer(initialState, allActions, allMutators),
71
- effects: ({ allActions, allSelectors, allConfigs }) => createFilterTraitEffects(allActions, allSelectors, allConfigs),
72
- });
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCwwQkFBMEIsR0FDM0IsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHdCQUF3QixHQUN6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFJTCxzQkFBc0IsR0FDdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBR0wsb0JBQW9CLEdBQ3JCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFPM0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBWSxFQUNoRCxtQkFBbUIsR0FBRyxHQUFHLEVBQ3pCLGFBQWEsRUFDYixRQUFRLEVBQ1IsY0FBYyxNQUNxQixFQUFFO0lBQ3JDLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLHNCQUFzQjtRQUMzQixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxvQkFBb0IsQ0FBQztRQUMzRCxNQUFNLEVBQUU7WUFDTixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLFFBQVE7WUFDUixjQUFjO1NBQ29CO1FBQ3BDLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBNkIsRUFBRSxFQUFFLENBQ3hFLHdCQUF3QixDQUFJLGVBQWUsRUFBRSxZQUFZLENBQUM7UUFDNUQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixFQUFhO1FBQ3hELFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsRUFBYTtRQUN0RCxZQUFZLEVBQUUsQ0FBQyxFQUNiLG9CQUFvQixFQUNwQixVQUFVLEdBQ3FCLEVBQUUsRUFBRSxDQUNuQyx3QkFBd0IsQ0FDdEIsb0JBQW9CLEVBQ3BCLFVBQWtELENBQ25EO1FBQ0gsT0FBTyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FDckQsd0JBQXdCLENBQ3RCLFlBQVksRUFDWixVQUFxRSxFQUNyRSxXQUFXLENBQ1o7UUFDSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUNwRCx3QkFBd0IsQ0FDdEIsVUFFMkIsRUFDM0IsWUFDK0IsRUFDL0IsVUFBVSxDQUNYO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gIGVudGl0aWVzUGFnaW5hdGlvblRyYWl0S2V5LFxufSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyVHJhaXRFZmZlY3RzIH0gZnJvbSAnLi9maWx0ZXItZW50aXRpZXMudHJhaXQuZWZmZWN0JztcbmltcG9ydCB7XG4gIGNyZWF0ZUZpbHRlckluaXRpYWxTdGF0ZSxcbiAgY3JlYXRlRmlsdGVyVHJhaXRSZWR1Y2VyLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy50cmFpdC5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIEZpbHRlckVudGl0aWVzQ29uZmlnLFxuICBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnLFxuICBGaWx0ZXJFbnRpdGllc1NlbGVjdG9ycyxcbiAgZmlsdGVyRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi9maWx0ZXItZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyVHJhaXRTZWxlY3RvcnMgfSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzU2VsZWN0b3JzLFxuICBsb2FkRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IGNyZWF0ZUZpbHRlclRyYWl0TXV0YXRvcnMgfSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy50cmFpdC5tdXRhdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnkgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVGaWx0ZXJUcmFpdEFjdGlvbnMgfSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy50cmFpdC5hY3Rpb25zJztcbmltcG9ydCB7IMafRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi9maWx0ZXItZW50aXRpZXMubW9kZWwuaW50ZXJuYWwnO1xuaW1wb3J0IHtcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSBuZ3J4IGNvZGUgbmVlZGVkIHRvIGZpbHRlciBhIGxpc3Qgb2YgZW50aXRpZXMgbG9jYWxseSBvciByZW1vdGVseSwgYWRkcyBhIGZpbHRlclxuICogYWN0aW9uIGFuZCBhIHNlbGVjdEZpbHRlciBzZWxlY3RvciwgdGhlIGZpbHRlciBhY3Rpb24gaXMgZGVib3VuY2VkIGFuZCB0aGUgZmlsdGVyIHdpbGwgb25seVxuICogY2FsbCB0aGUgbG9hZEVudGl0aWVzIGFjdGlvbiBpZiB0aGUgcGFyYW1zIGhhdmUgY2hhbmdlZCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbXBsZW1lbnQgdGhhdCBpblxuICogdGhlIGNvbXBvbmVudHMuIFRoZSBmaWx0ZXIgYWN0aW9uIGhhcyBhIGBmb3JjZUxvYWRgIHBhcmFtIHdoaWNoIGNhblxuICogYmUgdXNlIHRvIHNraXAgdGhhdCByZXN0cmljdGlvbiBmb3Igb25lIGNhbGwgb3Igc2V0dGluZyB0aGUgYGRlZmF1bHREZWJvdW5jZVRpbWVgIHRvIDAgZm9yIGFsbCBjYWxscy5cbiAqIENhbGxpbmcgdGhlIGZpbHRlciBhY3Rpb24gd2lsbCBhbHNvIHJlcGxhY2UgdGhlIGBmaWx0ZXJzYCBwYXJhbSBpbiB0aGUgc3RvcmUsIGlmIHRoZSBgcGF0Y2hgIHBhcmFtIGlzIHNldFxuICogdGhlIGZpbHRlcnMgYXJlIG1lcmdlZCB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZSBpbiB0aGUgc3RvcmUuXG4gKiBAcGFyYW0gdHJhaXRDb25maWcgLSBDb25maWcgb2JqZWN0IGZvdCB0aGUgdHJhaXQgZmFjdG9yeVxuICogQHBhcmFtIHRyYWl0Q29uZmlnLmRlZmF1bHRGaWx0ZXIgLSBJbml0aWFsIHZhbHVlIGZvciB0aGUgZmlsdGVyXG4gKiBAcGFyYW0gdHJhaXRDb25maWcuZmlsdGVyRm4gLSBGdW5jdGlvbiB0byBmaWx0ZXIgZW50aXRpZXMgaW4gbWVtb3J5LCBpZiBub3QgcHJlc2VudCB0aGVuIGl0cyBleHBlY3RlZFxuICogaXMgZmlsdGVyZWQgYnkgdGhlIGJhY2tlbmQgdW5sZXNzIGlzUmVtb3RlRmlsdGVyIGlzIGRlZm5lZFxuICogQHBhcmFtIHRyYWl0Q29uZmlnLmRlZmF1bHREZWJvdW5jZVRpbWUgLSBWYWx1ZSBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgdG8gNDAwbXNcbiAqIEBwYXJhbSB0cmFpdENvbmZpZy5pc1JlbW90ZUZpbHRlciAtIEZ1bmN0aW9uIHRvIHdoZW4gaXQgcmV0dXJucyB0cnVlIGl0IGZpcmVzIGxvYWRFbnRpdGllcyBzbyBhIHJlbW90ZVxuICogYmFja2VuZCBmaWx0ZXJpbmcgY2FuIHJ1biwgb3RoZXJ3aXNlIGl0IHVzZXMgZmlsdGVyRm4gdG8gZG8gYSBsb2NhbCBmaWx0ZXJpbmdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGZvbGxvd2luZyB0cmFpdCBjb25maWdcbiAqXG4gKiBleHBvcnQgaW50ZXJmYWNlIFRlc3RTdGF0ZVxuICogZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUb2RvPiwgRmlsdGVyRW50aXRpZXNTdGF0ZTxUb2RvRmlsdGVyPnt9XG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIHtlbnRpdHlOYW1lOiAnVG9kbyd9LFxuICogICAgICBhZGRMb2FkRW50aXRpZXNUcmFpdDxUb2RvPigpLFxuICogICAgICAvL2FkZEZpbHRlckVudGl0aWVzVHJhaXQ8VG9kbyxUb2RvRmlsdGVyPigpIC8vIG5vIHBhcmFtcyB1c2VzIHJlbW90ZSBmaWx0ZXJpbmdcbiAqICAgICAgYWRkRmlsdGVyRW50aXRpZXNUcmFpdDxUb2RvLFRvZG9GaWx0ZXI+KHtmaWx0ZXJGbjogKGZpbHRlciwgZW50aXR5KSA9PiAvLyBsb2NhbCBmaWx0ZXJpbmdcbiAqICAgICAgICAgICFmaWx0ZXIuY29udGVudCB8fCAhIWVudGl0eS5jb250ZW50Py5pbmNsdWRlcyhmaWx0ZXIuY29udGVudC50b0xvd2VyQ2FzZSgpKVxuICogICAgICAgICAgLy8gb3IgdXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gc3dpdGNoIGJldHdlZW4gcmVtb3RlIHNlYXJjaCBhbmQgbG9jYWxcbiAqICAgICAgICAgIC8vIGRlcGVuZGluZyBvbiB3aGljaCBwcm9wZXJ0aWVzIGhhdmUgY2hhbmdlZCBpbiB0aGUgZmlsdGVyXG4gKiAgICAgICAgICAvLyBpc1JlbW90ZUZpbHRlcjogKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cz8uc29tZVJlbW90ZVBhcmFtICE9PSBjdXJyZW50Py5zb21lUmVtb3RlUGFyYW0sXG4gKiAgICApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnW1RvZG9zXScsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFRlc3RTdGF0ZT4+KFxuICogICAgICAgICd0b2RvcycsXG4gKiAgICAgICksXG4gKiAgICB9KTtcbiAqXG4gKiAvLyAgIGFkZHMgZm9sbG93aW5nIHByb3BzIHRvIHRoZSBzdGF0ZTpcbiAqIC8vICAgIGZpbHRlcnM/OiBUb2RvRmlsdGVyO1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5maWx0ZXJUb2RvcygpXG4gKiAvLyBnZW5lcmF0ZWQgc2VsZWN0b3JzXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9zRmlsdGVyKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEZpbHRlckVudGl0aWVzVHJhaXQ8RW50aXR5LCBGPih7XG4gIGRlZmF1bHREZWJvdW5jZVRpbWUgPSA0MDAsXG4gIGRlZmF1bHRGaWx0ZXIsXG4gIGZpbHRlckZuLFxuICBpc1JlbW90ZUZpbHRlcixcbn06IEZpbHRlckVudGl0aWVzQ29uZmlnPEVudGl0eSwgRj4gPSB7fSkge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6IGZpbHRlckVudGl0aWVzVHJhaXRLZXksXG4gICAgZGVwZW5kczogW2VudGl0aWVzUGFnaW5hdGlvblRyYWl0S2V5LCBsb2FkRW50aXRpZXNUcmFpdEtleV0sXG4gICAgY29uZmlnOiB7XG4gICAgICBkZWZhdWx0RGVib3VuY2VUaW1lLFxuICAgICAgZGVmYXVsdEZpbHRlcixcbiAgICAgIGZpbHRlckZuLFxuICAgICAgaXNSZW1vdGVGaWx0ZXIsXG4gICAgfSBhcyBGaWx0ZXJFbnRpdGllc0NvbmZpZzxFbnRpdHksIEY+LFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSwgZW50aXRpZXNOYW1lIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVGaWx0ZXJUcmFpdEFjdGlvbnM8Rj4oYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUpLFxuICAgIHNlbGVjdG9yczogKCkgPT4gY3JlYXRlRmlsdGVyVHJhaXRTZWxlY3RvcnM8RW50aXR5LCBGPigpLFxuICAgIG11dGF0b3JzOiAoKSA9PiBjcmVhdGVGaWx0ZXJUcmFpdE11dGF0b3JzPEVudGl0eSwgRj4oKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7XG4gICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIGFsbENvbmZpZ3MsXG4gICAgfTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlRmlsdGVySW5pdGlhbFN0YXRlPEVudGl0eSwgRj4oXG4gICAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxDb25maWdzIGFzIEZpbHRlckVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5LCBGPlxuICAgICAgKSxcbiAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMsIGFsbE11dGF0b3JzIH0pID0+XG4gICAgICBjcmVhdGVGaWx0ZXJUcmFpdFJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgYWxsQWN0aW9ucyBhcyDGn0ZpbHRlckVudGl0aWVzQWN0aW9uczxGPiAmIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgICAgICAgYWxsTXV0YXRvcnNcbiAgICAgICksXG4gICAgZWZmZWN0czogKHsgYWxsQWN0aW9ucywgYWxsU2VsZWN0b3JzLCBhbGxDb25maWdzIH0pID0+XG4gICAgICBjcmVhdGVGaWx0ZXJUcmFpdEVmZmVjdHMoXG4gICAgICAgIGFsbEFjdGlvbnMgYXMgxp9GaWx0ZXJFbnRpdGllc0FjdGlvbnM8Rj4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgICAgICAgYWxsU2VsZWN0b3JzIGFzIEZpbHRlckVudGl0aWVzU2VsZWN0b3JzPEVudGl0eSwgRj4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+LFxuICAgICAgICBhbGxDb25maWdzXG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- export function createFilterTraitMutators() {
2
- function setEntitiesFilters(filters, state) {
3
- return {
4
- ...state,
5
- filters,
6
- };
7
- }
8
- return { setEntitiesFilters };
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9maWx0ZXItZW50aXRpZXMvZmlsdGVyLWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSx5QkFBeUI7SUFJdkMsU0FBUyxrQkFBa0IsQ0FFekIsT0FBVSxFQUFFLEtBQVE7UUFDcEIsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWx0ZXJFbnRpdGllc011dGF0b3JzLFxuICBGaWx0ZXJFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmlsdGVyVHJhaXRNdXRhdG9yczxFbnRpdHksIEY+KCk6IEZpbHRlckVudGl0aWVzTXV0YXRvcnM8XG4gIEVudGl0eSxcbiAgRlxuPiB7XG4gIGZ1bmN0aW9uIHNldEVudGl0aWVzRmlsdGVyczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIEZpbHRlckVudGl0aWVzU3RhdGU8Rj5cbiAgPihmaWx0ZXJzOiBGLCBzdGF0ZTogUykge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGZpbHRlcnMsXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBzZXRFbnRpdGllc0ZpbHRlcnMgfTtcbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { createReducer, on } from '@ngrx/store';
2
- export function createFilterInitialState(previousInitialState, allConfigs) {
3
- return {
4
- ...previousInitialState,
5
- filters: allConfigs?.filter?.defaultFilter,
6
- };
7
- }
8
- export function createFilterTraitReducer(initialState, allActions, allMutators) {
9
- return createReducer(initialState, on(allActions.storeEntitiesFilter, (state, { filters }) => allMutators.setEntitiesFilters(filters, state)));
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2ZpbHRlci1lbnRpdGllcy9maWx0ZXItZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVloRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLG9CQUF5QixFQUN6QixVQUFnRDtJQUVoRCxPQUFPO1FBQ0wsR0FBRyxvQkFBb0I7UUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsYUFBYTtLQUMzQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FLdEMsWUFBZSxFQUNmLFVBQThELEVBQzlELFdBQXlDO0lBRXpDLE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FDeEQsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FDL0MsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnLFxuICBGaWx0ZXJFbnRpdGllc011dGF0b3JzLFxuICBGaWx0ZXJFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyDGn0ZpbHRlckVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4vZmlsdGVyLWVudGl0aWVzLm1vZGVsLmludGVybmFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlckluaXRpYWxTdGF0ZTxFbnRpdHksIEY+KFxuICBwcmV2aW91c0luaXRpYWxTdGF0ZTogYW55LFxuICBhbGxDb25maWdzOiBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eSwgRj5cbik6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBGaWx0ZXJFbnRpdGllc1N0YXRlPEY+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICBmaWx0ZXJzOiBhbGxDb25maWdzPy5maWx0ZXI/LmRlZmF1bHRGaWx0ZXIsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaWx0ZXJUcmFpdFJlZHVjZXI8XG4gIFQsXG4gIEYsXG4gIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIEZpbHRlckVudGl0aWVzU3RhdGU8Rj5cbj4oXG4gIGluaXRpYWxTdGF0ZTogUyxcbiAgYWxsQWN0aW9uczogxp9GaWx0ZXJFbnRpdGllc0FjdGlvbnM8Rj4gJiBMb2FkRW50aXRpZXNBY3Rpb25zPFQ+LFxuICBhbGxNdXRhdG9yczogRmlsdGVyRW50aXRpZXNNdXRhdG9yczxULCBGPlxuKSB7XG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvbihhbGxBY3Rpb25zLnN0b3JlRW50aXRpZXNGaWx0ZXIsIChzdGF0ZSwgeyBmaWx0ZXJzIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy5zZXRFbnRpdGllc0ZpbHRlcnMoZmlsdGVycywgc3RhdGUpXG4gICAgKVxuICApO1xufVxuIl19
@@ -1,9 +0,0 @@
1
- export function selectEntitiesFilter(state) {
2
- return state.filters;
3
- }
4
- export function createFilterTraitSelectors() {
5
- return {
6
- selectEntitiesFilter,
7
- };
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvZmlsdGVyLWVudGl0aWVzL2ZpbHRlci1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxLQUF5RDtJQUV6RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEI7SUFJeEMsT0FBTztRQUNMLG9CQUFvQjtLQUNyQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZpbHRlckVudGl0aWVzU2VsZWN0b3JzLFxuICBGaWx0ZXJFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEVudGl0aWVzRmlsdGVyPEVudGl0eSwgRj4oXG4gIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgRmlsdGVyRW50aXRpZXNTdGF0ZTxGPlxuKSB7XG4gIHJldHVybiBzdGF0ZS5maWx0ZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmlsdGVyVHJhaXRTZWxlY3RvcnM8XG4gIEVudGl0eSxcbiAgRlxuPigpOiBGaWx0ZXJFbnRpdGllc1NlbGVjdG9yczxFbnRpdHksIEY+IHtcbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdGllc0ZpbHRlcixcbiAgfTtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './filter-entities.trait';
2
- export * from './filter-entities.model';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2ZpbHRlci1lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy50cmFpdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1lbnRpdGllcy5tb2RlbCc7XG4iXX0=
package/esm2022/index.mjs DELETED
@@ -1,13 +0,0 @@
1
- export * from './load-entities';
2
- export * from './filter-entities';
3
- export * from './entities-pagination';
4
- export * from './select-entities';
5
- export * from './select-entity';
6
- export * from './crud-entities';
7
- export * from './sort-entities';
8
- export * from './reset';
9
- export * from './load-entity';
10
- export * from './async-action';
11
- export * from './set-entity';
12
- export * from './entities-sync-to-route-query-params';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2FkLWVudGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWVudGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMtcGFnaW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1lbnRpdGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9jcnVkLWVudGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1lbnRpdGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXQtZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMtc3luYy10by1yb3V0ZS1xdWVyeS1wYXJhbXMnO1xuIl19
@@ -1,3 +0,0 @@
1
- export * from './load-entities.model';
2
- export * from './load-entities.trait';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdGllcy50cmFpdCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const loadEntitiesTraitKey = 'loadEntities';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlGQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXllZENvbmZpZyB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IENvbXBhcmVyLCBFbnRpdHlBZGFwdGVyLCBFbnRpdHlTdGF0ZSwgSWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5L3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbmV4cG9ydCB0eXBlIFN0YXR1cyA9ICdsb2FkaW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNTdGF0ZSB7XG4gIHN0YXR1cz86IFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkRW50aXRpZXNTdGF0ZTxUPiBleHRlbmRzIEVudGl0eVN0YXRlPFQ+LCBTdGF0dXNTdGF0ZSB7fVxuXG5leHBvcnQgdHlwZSBMb2FkRW50aXRpZXNBY3Rpb25zPFQ+ID0ge1xuICAvKipcbiAgICogbG9hZCBlbnRpdGllcyBmcm9tIGJhY2tlbmRcbiAgICovXG4gIGxvYWRFbnRpdGllczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IEFjdGlvbjxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIGVudGl0aWVzIHdoZXJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICovXG4gIGxvYWRFbnRpdGllc1N1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczoge1xuICAgICAgZW50aXRpZXM6IFRbXTtcbiAgICAgIHRvdGFsPzogbnVtYmVyO1xuICAgIH0pID0+IHsgZW50aXRpZXM6IFRbXTsgdG90YWw/OiBudW1iZXIgfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIC8qKlxuICAgKiBlbnRpdGllcyBmYWlsZWQgbG9hZGluZ1xuICAgKi9cbiAgbG9hZEVudGl0aWVzRmFpbDogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzPzogeyBlcnJvcj86IHN0cmluZyB9KSA9PiB7IGVycm9yPzogc3RyaW5nIH0gJiBBY3Rpb248c3RyaW5nPlxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9hZEVudGl0aWVzU2VsZWN0b3JzPFQ+ID0ge1xuICAvKipcbiAgICogcmV0dXJucyBhbGwgaWRzIG9mIHRoZSBlbnRpdGllcyBpbiBhbiBhcnJheVxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICovXG4gIHNlbGVjdEVudGl0aWVzSWRzTGlzdDogKHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPikgPT4gc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgLyoqXG4gICAqIHJldHVybnMgYWxsIGVudGl0aWVzIGluIGEgbWFwIHdpdGggdGhlIGlkIGFzIGtleSBvZiB0aGUgbWFwXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgc2VsZWN0RW50aXRpZXNNYXA6IChzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8VD4pID0+IERpY3Rpb25hcnk8VD47XG4gIC8qKlxuICAgKiByZXR1cm5zIGFsbCBlbnRpdGllcyBpbiBhbiBhcnJheVxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICovXG4gIHNlbGVjdEVudGl0aWVzTGlzdDogKHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPikgPT4gVFtdO1xuICAvKipcbiAgICogcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGVudGl0aWVzXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgc2VsZWN0RW50aXRpZXNUb3RhbDogKHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPikgPT4gbnVtYmVyO1xuICAvKipcbiAgICogaXMgY3VycmVudGx5IGxvYWRpbmcgZW50aXRpZXNcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqL1xuICBpc0VudGl0aWVzTG9hZGluZzogKHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPikgPT4gYm9vbGVhbjtcbiAgLyoqXG4gICAqIHdlcmUgdGhlIGVudGl0aWVzIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqL1xuICBpc0VudGl0aWVzTG9hZGluZ1N1Y2Nlc3M6IChzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8VD4pID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiBkaWQgdGhlIGVudGl0aWVzIGZhaWwgbG9hZGluZ1xuICAgKiBAcGFyYW0gc3RhdGVcbiAgICovXG4gIGlzRW50aXRpZXNMb2FkaW5nRmFpbDogKHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPikgPT4gYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExvYWRFbnRpdGllc011dGF0b3JzPFQ+ID0ge1xuICAvKipcbiAgICogc2V0IG9yIHJlcGxhY2UgYWxsIGVudGl0aWVzIGN1cnJlbnRseSBpbiBzdG9yZVxuICAgKiBAcGFyYW0gZW50aXRpZXNcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqL1xuICBzZXRFbnRpdGllc0xpc3Q8UyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPFQ+PihlbnRpdGllczogVFtdLCBzdGF0ZTogUyk6IFM7XG59O1xuXG5leHBvcnQgdHlwZSBHZW5lcmljQWN0aW9uQ3JlYXRvciA9IEFjdGlvbkNyZWF0b3I8XG4gIHN0cmluZyxcbiAgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gQWN0aW9uPHN0cmluZz5cbj47XG5cbmV4cG9ydCBjb25zdCBsb2FkRW50aXRpZXNUcmFpdEtleSA9ICdsb2FkRW50aXRpZXMnO1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXRpZXNDb25maWc8VCA9IHVua25vd24+ID0ge1xuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBpZCBvZiBhbiBlbnRpdHkgaWYgbm90IHNldCBpdCBhdHRlbXB0cyB0byByZXR1cm4gdGhlIHZhbHVlc1xuICAgKiBvZiBhIHByb3BlcnR5IGNhbGwgaWQsIHRoaXMgaXMgcGFzcyB0byBAbmdyeC9lbnRpdHkgRW50aXR5QWRhcHRlclxuICAgKi9cbiAgc2VsZWN0SWQ/OiBJZFNlbGVjdG9yPFQ+O1xuICAvKipcbiAgICogIERlZmF1bHQgc29ydCBmdW5jdGlvbiBmb3IgdG8gQG5ncngvZW50aXR5IEVudGl0eUFkYXB0ZXJcbiAgICovXG4gIHNvcnRDb21wYXJlcj86IGZhbHNlIHwgQ29tcGFyZXI8VD47XG4gIC8qKlxuICAgKiAgQG5ncngvZW50aXR5IEVudGl0eUFkYXB0ZXJcbiAgICovXG4gIGFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8VD47XG59O1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxUPiA9IEtleWVkQ29uZmlnPFxuICB0eXBlb2YgbG9hZEVudGl0aWVzVHJhaXRLZXksXG4gIExvYWRFbnRpdGllc0NvbmZpZzxUPlxuPjtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export function createLoadEntitiesTraitMutators(allConfigs) {
2
- const adapter = allConfigs?.loadEntities?.adapter;
3
- return {
4
- setEntitiesList: adapter?.setAll,
5
- };
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy5tdXRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSwrQkFBK0IsQ0FDN0MsVUFBMkU7SUFFM0UsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7SUFFbEQsT0FBTztRQUNMLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTTtLQUNELENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNNdXRhdG9ycyxcbn0gZnJvbSAnLi9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnIH0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2FkRW50aXRpZXNUcmFpdE11dGF0b3JzPEVudGl0eT4oXG4gIGFsbENvbmZpZ3M6IExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJiBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZ1xuKSB7XG4gIGNvbnN0IGFkYXB0ZXIgPSBhbGxDb25maWdzPy5sb2FkRW50aXRpZXM/LmFkYXB0ZXI7XG5cbiAgcmV0dXJuIHtcbiAgICBzZXRFbnRpdGllc0xpc3Q6IGFkYXB0ZXI/LnNldEFsbCxcbiAgfSBhcyBMb2FkRW50aXRpZXNNdXRhdG9yczxFbnRpdHk+O1xufVxuIl19
@@ -1,10 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export function createLoadEntitiesTraitActions(actionsGroupKey, entitiesName) {
3
- const actions = {
4
- loadEntities: createAction(`${actionsGroupKey} Load ${entitiesName}`),
5
- loadEntitiesSuccess: createAction(`${actionsGroupKey} Load ${entitiesName} Success`, props()),
6
- loadEntitiesFail: createAction(`${actionsGroupKey} Load ${entitiesName} Fail`, (props) => ({ error: props?.error })),
7
- };
8
- return actions;
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy50cmFpdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLGVBQXVCLEVBQ3ZCLFlBQW9CO0lBRXBCLE1BQU0sT0FBTyxHQUFHO1FBQ2QsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHLGVBQWUsU0FBUyxZQUFZLEVBQUUsQ0FBQztRQUNyRSxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLEdBQUcsZUFBZSxTQUFTLFlBQVksVUFBVSxFQUNqRCxLQUFLLEVBQTBDLENBQ2hEO1FBQ0QsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QixHQUFHLGVBQWUsU0FBUyxZQUFZLE9BQU8sRUFDOUMsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUMxRDtLQUNGLENBQUM7SUFFRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4vbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZEVudGl0aWVzVHJhaXRBY3Rpb25zPEVudGl0eT4oXG4gIGFjdGlvbnNHcm91cEtleTogc3RyaW5nLFxuICBlbnRpdGllc05hbWU6IHN0cmluZ1xuKTogTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+IHtcbiAgY29uc3QgYWN0aW9ucyA9IHtcbiAgICBsb2FkRW50aXRpZXM6IGNyZWF0ZUFjdGlvbihgJHthY3Rpb25zR3JvdXBLZXl9IExvYWQgJHtlbnRpdGllc05hbWV9YCksXG4gICAgbG9hZEVudGl0aWVzU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBMb2FkICR7ZW50aXRpZXNOYW1lfSBTdWNjZXNzYCxcbiAgICAgIHByb3BzPHsgZW50aXRpZXM6IEVudGl0eVtdOyB0b3RhbD86IG51bWJlciB9PigpXG4gICAgKSxcbiAgICBsb2FkRW50aXRpZXNGYWlsOiBjcmVhdGVBY3Rpb24oXG4gICAgICBgJHthY3Rpb25zR3JvdXBLZXl9IExvYWQgJHtlbnRpdGllc05hbWV9IEZhaWxgLFxuICAgICAgKHByb3BzPzogeyBlcnJvcj86IHN0cmluZyB9KSA9PiAoeyBlcnJvcjogcHJvcHM/LmVycm9yIH0pXG4gICAgKSxcbiAgfTtcblxuICByZXR1cm4gYWN0aW9ucztcbn1cbiJdfQ==
@@ -1,62 +0,0 @@
1
- import { createLoadEntitiesInitialState, createLoadEntitiesTraitReducer, } from './load-entities.trait.reducer';
2
- import { loadEntitiesTraitKey, } from './load-entities.model';
3
- import { createLoadEntitiesTraitMutators } from './load-entities.mutators';
4
- import { createTraitFactory } from '@ngrx-traits/core';
5
- import { createEntityAdapter } from '@ngrx/entity';
6
- import { createLoadEntitiesTraitActions } from './load-entities.trait.actions';
7
- import { createLoadEntitiesTraitSelectors } from './load-entities.trait.selectors';
8
- /**
9
- * Generates the ngrx code needed to load a list of entities from the backend. This trait is the base for all other traits related
10
- * to a list of entities, the other will call loadEntities when needing data. See the example for the list of actions and selectors this generates
11
- *
12
- * @param traitConfig - Config object for the trait factory
13
- * @param traitConfig.selectId - Function that returns the id of an entity
14
- * @param traitConfig.sortComparer - Default sort function for to @ngrx/entity EntityAdapter
15
- *
16
- * @example
17
- * // The following trait config
18
- *
19
- * export interface TestState
20
- * extends LoadEntitiesState<Todo>{}
21
- *
22
- * const traits = createEntityFeatureFactory(
23
- * {entityName: 'Todo'},
24
- * addLoadEntitiesTrait<Todo>(),
25
- * )({
26
- * actionsGroupKey: '[Todos]',
27
- * featureSelector: createFeatureSelector<TestState>>(
28
- * 'todos',
29
- * ),
30
- * });
31
- *
32
- * // adds following props to the state:
33
- * // ids: string[] | number[];
34
- * // entities: Dictionary<Todo>;
35
- * // status?: 'loading' | 'success' | 'fail';
36
- *
37
- * // generated actions
38
- * traits.actions.loadTodos()
39
- * traits.actions.loadTodosSuccess({entities: todos})
40
- * traits.actions.loadTodosFail();
41
- * // generated selectors
42
- * traits.selectors.selectTodosList
43
- * traits.selectors.selectTodosMap
44
- * traits.selectors.selectTodosIds
45
- * traits.selectors.selectTodosTotal
46
- * traits.selectors.isTodosLoading
47
- * traits.selectors.isTodosLoadingSuccess
48
- * traits.selectors.isTodosLoadingFail
49
- */
50
- export function addLoadEntitiesTrait(traitConfig) {
51
- const adapter = createEntityAdapter(traitConfig);
52
- return createTraitFactory({
53
- key: loadEntitiesTraitKey,
54
- config: { ...traitConfig, adapter },
55
- actions: ({ actionsGroupKey, entitiesName }) => createLoadEntitiesTraitActions(actionsGroupKey, entitiesName),
56
- selectors: ({ allConfigs }) => createLoadEntitiesTraitSelectors(allConfigs),
57
- mutators: ({ allConfigs }) => createLoadEntitiesTraitMutators(allConfigs),
58
- initialState: ({ previousInitialState, allConfigs, }) => createLoadEntitiesInitialState(previousInitialState, allConfigs),
59
- reducer: ({ initialState, allActions, allMutators, allConfigs }) => createLoadEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs),
60
- });
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUlMLG9CQUFvQixHQUNyQixNQUFNLHVCQUF1QixDQUFDO0FBUS9CLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxXQUF5RDtJQUV6RCxNQUFNLE9BQU8sR0FBMEIsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEUsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLE1BQU0sRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFFLE9BQU8sRUFBZ0M7UUFDakUsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUE2QixFQUFFLEVBQUUsQ0FDeEUsOEJBQThCLENBQVMsZUFBZSxFQUFFLFlBQVksQ0FBQztRQUN2RSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBK0IsRUFBRSxFQUFFLENBQ3pELGdDQUFnQyxDQUM5QixVQUMrQixDQUNoQztRQUNILFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFtQyxFQUFFLEVBQUUsQ0FDNUQsK0JBQStCLENBQzdCLFVBQytCLENBQ2hDO1FBQ0gsWUFBWSxFQUFFLENBQUMsRUFDYixvQkFBb0IsRUFDcEIsVUFBVSxHQUNxQixFQUFFLEVBQUUsQ0FDbkMsOEJBQThCLENBQVMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO1FBQzFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUNqRSw4QkFBOEIsQ0FDNUIsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFDK0IsQ0FDaEM7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlTG9hZEVudGl0aWVzSW5pdGlhbFN0YXRlLFxuICBjcmVhdGVMb2FkRW50aXRpZXNUcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vbG9hZC1lbnRpdGllcy50cmFpdC5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc1N0YXRlLFxuICBMb2FkRW50aXRpZXNDb25maWcsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBsb2FkRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcsXG4gIFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyB9IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgY3JlYXRlTG9hZEVudGl0aWVzVHJhaXRNdXRhdG9ycyB9IGZyb20gJy4vbG9hZC1lbnRpdGllcy5tdXRhdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnkgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVFbnRpdHlBZGFwdGVyLCBFbnRpdHlBZGFwdGVyIH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0QWN0aW9ucyB9IGZyb20gJy4vbG9hZC1lbnRpdGllcy50cmFpdC5hY3Rpb25zJztcbmltcG9ydCB7IGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0U2VsZWN0b3JzIH0gZnJvbSAnLi9sb2FkLWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSBuZ3J4IGNvZGUgbmVlZGVkIHRvIGxvYWQgYSBsaXN0IG9mIGVudGl0aWVzIGZyb20gdGhlIGJhY2tlbmQuIFRoaXMgdHJhaXQgaXMgdGhlIGJhc2UgZm9yIGFsbCBvdGhlciB0cmFpdHMgcmVsYXRlZFxuICogdG8gYSBsaXN0IG9mIGVudGl0aWVzLCB0aGUgb3RoZXIgd2lsbCBjYWxsIGxvYWRFbnRpdGllcyB3aGVuIG5lZWRpbmcgZGF0YS4gU2VlIHRoZSBleGFtcGxlIGZvciB0aGUgbGlzdCBvZiBhY3Rpb25zIGFuZCBzZWxlY3RvcnMgdGhpcyBnZW5lcmF0ZXNcbiAqXG4gKiBAcGFyYW0gdHJhaXRDb25maWcgLSBDb25maWcgb2JqZWN0IGZvciB0aGUgdHJhaXQgZmFjdG9yeVxuICogQHBhcmFtIHRyYWl0Q29uZmlnLnNlbGVjdElkIC0gRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBpZCBvZiBhbiBlbnRpdHlcbiAqIEBwYXJhbSB0cmFpdENvbmZpZy5zb3J0Q29tcGFyZXIgLSBEZWZhdWx0IHNvcnQgZnVuY3Rpb24gZm9yIHRvIEBuZ3J4L2VudGl0eSBFbnRpdHlBZGFwdGVyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBmb2xsb3dpbmcgdHJhaXQgY29uZmlnXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VG9kbz57fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICkoe1xuICogICAgICBhY3Rpb25zR3JvdXBLZXk6ICdbVG9kb3NdJyxcbiAqICAgICAgZmVhdHVyZVNlbGVjdG9yOiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8VGVzdFN0YXRlPj4oXG4gKiAgICAgICAgJ3RvZG9zJyxcbiAqICAgICAgKSxcbiAqICAgIH0pO1xuICpcbiAqIC8vICAgYWRkcyBmb2xsb3dpbmcgcHJvcHMgdG8gdGhlIHN0YXRlOlxuICogLy8gICAgaWRzOiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICogLy8gICAgZW50aXRpZXM6IERpY3Rpb25hcnk8VG9kbz47XG4gKiAvLyAgICBzdGF0dXM/OiAnbG9hZGluZycgfCAnc3VjY2VzcycgfCAnZmFpbCc7XG4gKlxuICogLy8gZ2VuZXJhdGVkIGFjdGlvbnNcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRUb2RvcygpXG4gKiB0cmFpdHMuYWN0aW9ucy5sb2FkVG9kb3NTdWNjZXNzKHtlbnRpdGllczogdG9kb3N9KVxuICogdHJhaXRzLmFjdGlvbnMubG9hZFRvZG9zRmFpbCgpO1xuICogLy8gZ2VuZXJhdGVkIHNlbGVjdG9yc1xuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc0xpc3RcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NNYXBcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NJZHNcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NUb3RhbFxuICogdHJhaXRzLnNlbGVjdG9ycy5pc1RvZG9zTG9hZGluZ1xuICogdHJhaXRzLnNlbGVjdG9ycy5pc1RvZG9zTG9hZGluZ1N1Y2Nlc3NcbiAqIHRyYWl0cy5zZWxlY3RvcnMuaXNUb2Rvc0xvYWRpbmdGYWlsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRMb2FkRW50aXRpZXNUcmFpdDxFbnRpdHk+KFxuICB0cmFpdENvbmZpZz86IE9taXQ8TG9hZEVudGl0aWVzQ29uZmlnPEVudGl0eT4sICdhZGFwdGVyJz5cbikge1xuICBjb25zdCBhZGFwdGVyOiBFbnRpdHlBZGFwdGVyPEVudGl0eT4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyKHRyYWl0Q29uZmlnKTtcblxuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6IGxvYWRFbnRpdGllc1RyYWl0S2V5LFxuICAgIGNvbmZpZzogeyAuLi50cmFpdENvbmZpZywgYWRhcHRlciB9IGFzIExvYWRFbnRpdGllc0NvbmZpZzxFbnRpdHk+LFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSwgZW50aXRpZXNOYW1lIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVMb2FkRW50aXRpZXNUcmFpdEFjdGlvbnM8RW50aXR5PihhY3Rpb25zR3JvdXBLZXksIGVudGl0aWVzTmFtZSksXG4gICAgc2VsZWN0b3JzOiAoeyBhbGxDb25maWdzIH06IFRyYWl0U2VsZWN0b3JzRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0U2VsZWN0b3JzPEVudGl0eT4oXG4gICAgICAgIGFsbENvbmZpZ3MgYXMgTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWdcbiAgICAgICksXG4gICAgbXV0YXRvcnM6ICh7IGFsbENvbmZpZ3MgfTogVHJhaXRTdGF0ZU11dGF0b3JzRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0TXV0YXRvcnM8RW50aXR5PihcbiAgICAgICAgYWxsQ29uZmlncyBhcyBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZ1xuICAgICAgKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7XG4gICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIGFsbENvbmZpZ3MsXG4gICAgfTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlTG9hZEVudGl0aWVzSW5pdGlhbFN0YXRlPEVudGl0eT4ocHJldmlvdXNJbml0aWFsU3RhdGUsIGFsbENvbmZpZ3MpLFxuICAgIHJlZHVjZXI6ICh7IGluaXRpYWxTdGF0ZSwgYWxsQWN0aW9ucywgYWxsTXV0YXRvcnMsIGFsbENvbmZpZ3MgfSkgPT5cbiAgICAgIGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0UmVkdWNlcjxFbnRpdHksIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4+KFxuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIGFsbEFjdGlvbnMsXG4gICAgICAgIGFsbE11dGF0b3JzLFxuICAgICAgICBhbGxDb25maWdzIGFzIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnXG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { createReducer, on } from '@ngrx/store';
2
- import { insertIf } from '@ngrx-traits/core';
3
- export function createLoadEntitiesInitialState(previousInitialState = {}, allConfigs) {
4
- const traitConfig = allConfigs.loadEntities;
5
- const adapter = traitConfig.adapter;
6
- return {
7
- ...previousInitialState,
8
- ...adapter.getInitialState(),
9
- status: undefined,
10
- };
11
- }
12
- export function createLoadEntitiesTraitReducer(initialState, actions, allMutators, allConfigs) {
13
- const handleEntitiesMerge = !allConfigs?.pagination;
14
- return createReducer(initialState, on(actions.loadEntities, (state) => ({
15
- ...state,
16
- status: 'loading',
17
- })), on(actions.loadEntitiesFail, (state) => ({
18
- ...state,
19
- status: 'fail',
20
- })), on(actions.loadEntitiesSuccess, (state) => ({
21
- ...state,
22
- status: 'success',
23
- })), ...insertIf(handleEntitiesMerge, () => on(actions.loadEntitiesSuccess, (state, { entities }) => allMutators.setEntitiesList(entities, {
24
- ...state,
25
- }))));
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy50cmFpdC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxvQkFBb0IsR0FBRyxFQUFFLEVBQ3pCLFVBQTJDO0lBRTNDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDNUMsTUFBTSxPQUFPLEdBQUcsV0FBWSxDQUFDLE9BQU8sQ0FBQztJQUVyQyxPQUFPO1FBQ0wsR0FBRyxvQkFBb0I7UUFDdkIsR0FBRyxPQUFRLENBQUMsZUFBZSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxTQUFTO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUk1QyxZQUFlLEVBQ2YsT0FBK0IsRUFDL0IsV0FBb0MsRUFDcEMsVUFBc0U7SUFFdEUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFFcEQsT0FBTyxhQUFhLENBQ2xCLFlBQVksRUFDWixFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxHQUFHLEtBQUs7UUFDUixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLEdBQUcsS0FBSztRQUNSLE1BQU0sRUFBRSxNQUFNO0tBQ2YsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxHQUFHLEtBQUs7UUFDUixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsRUFDSCxHQUFHLFFBQVEsQ0FBSSxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FDdkMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FDdEQsV0FBVyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFDcEMsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc1N0YXRlLFxuICBMb2FkRW50aXRpZXNBY3Rpb25zLFxuICBMb2FkRW50aXRpZXNLZXllZENvbmZpZyxcbiAgTG9hZEVudGl0aWVzTXV0YXRvcnMsXG59IGZyb20gJy4vbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnIH0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBpbnNlcnRJZiB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvYWRFbnRpdGllc0luaXRpYWxTdGF0ZTxFbnRpdHk+KFxuICBwcmV2aW91c0luaXRpYWxTdGF0ZSA9IHt9LFxuICBhbGxDb25maWdzOiBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4pOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+IHtcbiAgY29uc3QgdHJhaXRDb25maWcgPSBhbGxDb25maWdzLmxvYWRFbnRpdGllcztcbiAgY29uc3QgYWRhcHRlciA9IHRyYWl0Q29uZmlnIS5hZGFwdGVyO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgLi4uYWRhcHRlciEuZ2V0SW5pdGlhbFN0YXRlKCksXG4gICAgc3RhdHVzOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2FkRW50aXRpZXNUcmFpdFJlZHVjZXI8XG4gIFQsXG4gIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUPlxuPihcbiAgaW5pdGlhbFN0YXRlOiBTLFxuICBhY3Rpb25zOiBMb2FkRW50aXRpZXNBY3Rpb25zPFQ+LFxuICBhbGxNdXRhdG9yczogTG9hZEVudGl0aWVzTXV0YXRvcnM8VD4sXG4gIGFsbENvbmZpZ3M6IExvYWRFbnRpdGllc0tleWVkQ29uZmlnPFQ+ICYgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWdcbikge1xuICBjb25zdCBoYW5kbGVFbnRpdGllc01lcmdlID0gIWFsbENvbmZpZ3M/LnBhZ2luYXRpb247XG5cbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXIoXG4gICAgaW5pdGlhbFN0YXRlLFxuICAgIG9uKGFjdGlvbnMubG9hZEVudGl0aWVzLCAoc3RhdGUpID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHN0YXR1czogJ2xvYWRpbmcnLFxuICAgIH0pKSxcbiAgICBvbihhY3Rpb25zLmxvYWRFbnRpdGllc0ZhaWwsIChzdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc3RhdHVzOiAnZmFpbCcsXG4gICAgfSkpLFxuICAgIG9uKGFjdGlvbnMubG9hZEVudGl0aWVzU3VjY2VzcywgKHN0YXRlKSA9PiAoe1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICB9KSksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oaGFuZGxlRW50aXRpZXNNZXJnZSwgKCkgPT5cbiAgICAgIG9uKGFjdGlvbnMubG9hZEVudGl0aWVzU3VjY2VzcywgKHN0YXRlLCB7IGVudGl0aWVzIH0pID0+XG4gICAgICAgIGFsbE11dGF0b3JzLnNldEVudGl0aWVzTGlzdChlbnRpdGllcywge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==