@ngdux/list 3.0.0 → 4.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 (30) hide show
  1. package/fesm2022/ngdux-list.mjs +16 -16
  2. package/fesm2022/ngdux-list.mjs.map +1 -1
  3. package/index.d.ts +368 -10
  4. package/package.json +1 -3
  5. package/esm2022/index.mjs +0 -12
  6. package/esm2022/lib/+state/effects.mjs +0 -23
  7. package/esm2022/lib/+state/state.service.mjs +0 -55
  8. package/esm2022/lib/models/list.model.mjs +0 -7
  9. package/esm2022/lib/ngdux-list-state.module.mjs +0 -53
  10. package/esm2022/lib/services/list-notification-service.mjs +0 -21
  11. package/esm2022/lib/state-generator/abstract-list-effects.mjs +0 -50
  12. package/esm2022/lib/state-generator/abstract-list-state.service.mjs +0 -44
  13. package/esm2022/lib/state-generator/abstract-list.facade.mjs +0 -85
  14. package/esm2022/lib/state-generator/list-actions.mjs +0 -58
  15. package/esm2022/lib/state-generator/list-reducer.mjs +0 -104
  16. package/esm2022/lib/state-generator/list-selectors.mjs +0 -80
  17. package/esm2022/lib/state-generator/list-state.mjs +0 -18
  18. package/esm2022/ngdux-list.mjs +0 -5
  19. package/lib/+state/effects.d.ts +0 -14
  20. package/lib/+state/state.service.d.ts +0 -22
  21. package/lib/models/list.model.d.ts +0 -191
  22. package/lib/ngdux-list-state.module.d.ts +0 -23
  23. package/lib/services/list-notification-service.d.ts +0 -13
  24. package/lib/state-generator/abstract-list-effects.d.ts +0 -49
  25. package/lib/state-generator/abstract-list-state.service.d.ts +0 -21
  26. package/lib/state-generator/abstract-list.facade.d.ts +0 -45
  27. package/lib/state-generator/list-actions.d.ts +0 -2
  28. package/lib/state-generator/list-reducer.d.ts +0 -10
  29. package/lib/state-generator/list-selectors.d.ts +0 -4
  30. package/lib/state-generator/list-state.d.ts +0 -12
package/index.d.ts CHANGED
@@ -1,11 +1,369 @@
1
+ import * as _ngdux_data_model_common from '@ngdux/data-model-common';
2
+ import { SortingField, FilteringOptions, PagingOptions, ErrorDto, RequestOptions, RequestState, ListService, ListNotificationService } from '@ngdux/data-model-common';
1
3
  export { ListNotificationService, ListService, RequestOptions, 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';
4
+ import * as _ngrx_store from '@ngrx/store';
5
+ import { ActionCreator, Action, MemoizedSelector, ReducerManager, Store, ReducerTypes, ActionReducer, DefaultProjectorFn } from '@ngrx/store';
6
+ import * as i0 from '@angular/core';
7
+ import { InjectionToken, Type, ModuleWithProviders } from '@angular/core';
8
+ import { ApiRequestState, LoadingState, RegisterEffectsService, ActionPayload } from '@ngdux/store-common';
9
+ import * as _ngrx_entity from '@ngrx/entity';
10
+ import { EntityState, EntityAdapter } from '@ngrx/entity';
11
+ import * as _ngrx_effects from '@ngrx/effects';
12
+ import { Actions } from '@ngrx/effects';
13
+ import * as rxjs from 'rxjs';
14
+ import { ActionCreator as ActionCreator$1 } from '@ngrx/store/src/models';
15
+
16
+ declare const LIST_FEATURE_KEY: InjectionToken<string>;
17
+ declare const LIST_FEATURE_KEYS: InjectionToken<string>;
18
+ declare const LIST_SERVICES: InjectionToken<string>;
19
+ declare const LIST_NOTIFICATION_SERVICES: InjectionToken<string>;
20
+ interface ListState<T, E = unknown, Params = Record<string, string>> extends EntityState<T>, RequestOptions<Params>, ApiRequestState<E>, LoadingState {
21
+ selectedResourceIds: string[];
22
+ lastPageNumber?: number;
23
+ }
24
+ interface ListSelectors<T, E = unknown, Params = Record<string, string>> {
25
+ getAll: MemoizedSelector<object, T[]>;
26
+ getRequestOptions: MemoizedSelector<object, RequestOptions>;
27
+ isLastPage: MemoizedSelector<object, boolean>;
28
+ getCurrentPageData: MemoizedSelector<object, T[]>;
29
+ getPagingOptions: MemoizedSelector<object, PagingOptions>;
30
+ getSortingOptions: MemoizedSelector<object, SortingField[]>;
31
+ getFilteringOptions: MemoizedSelector<object, FilteringOptions>;
32
+ getRequestParameters: MemoizedSelector<object, Params | undefined>;
33
+ getCurrentPageNumber: MemoizedSelector<object, number>;
34
+ getLastPageNumber: MemoizedSelector<object, number | undefined>;
35
+ getLoadingState: MemoizedSelector<object, RequestState>;
36
+ getSelectedResourceIds: MemoizedSelector<object, string[]>;
37
+ getSelectedItems: MemoizedSelector<object, T[]>;
38
+ getSelectionRecord: MemoizedSelector<object, Record<string, T>>;
39
+ getRequestState: MemoizedSelector<object, RequestState>;
40
+ getErrors: MemoizedSelector<object, E | undefined>;
41
+ areSelectedReady: MemoizedSelector<object, boolean>;
42
+ isReady: MemoizedSelector<object, boolean>;
43
+ isDeleteDisabled: MemoizedSelector<object, boolean>;
44
+ isCopyDisabled: MemoizedSelector<object, boolean>;
45
+ getTotalCount: MemoizedSelector<object, number>;
46
+ }
47
+ interface ListActions<Entity, Error = unknown, Summary = Entity, Params = Record<string, string>> {
48
+ /**
49
+ * Set the page size without reloading the list
50
+ */
51
+ setPageSize: ActionCreator<string, (props: {
52
+ pageSize: number;
53
+ }) => {
54
+ pageSize: number;
55
+ } & Action<string>>;
56
+ /**
57
+ * Set the sorting options without reloading the list
58
+ */
59
+ setSorting: ActionCreator<string, (props: {
60
+ sortingOptions: SortingField[];
61
+ }) => {
62
+ sortingOptions: SortingField[];
63
+ } & Action<string>>;
64
+ /**
65
+ * Set the filtering options without reloading the list
66
+ */
67
+ setFiltering: ActionCreator<string, (props: {
68
+ filteringOptions: FilteringOptions;
69
+ }) => {
70
+ filteringOptions: FilteringOptions;
71
+ } & Action<string>>;
72
+ /**
73
+ * Set the request parameters without reloading the list
74
+ */
75
+ setRequestParams: ActionCreator<string, (props: {
76
+ params: Params;
77
+ }) => {
78
+ params: Params;
79
+ } & Action<string>>;
80
+ /**
81
+ * Change the paging options and reload the list
82
+ */
83
+ changePagingOptions: ActionCreator<string, (props: {
84
+ pagingOptions: PagingOptions;
85
+ }) => {
86
+ pagingOptions: PagingOptions;
87
+ } & Action<string>>;
88
+ /**
89
+ * Change the page number and reload the list
90
+ */
91
+ changePageNumber: ActionCreator<string, (props: {
92
+ pageNumber: number;
93
+ }) => {
94
+ pageNumber: number;
95
+ } & Action<string>>;
96
+ /**
97
+ * Change the page size and reload the list
98
+ */
99
+ changePageSize: ActionCreator<string, (props: {
100
+ pageSize: number;
101
+ }) => {
102
+ pageSize: number;
103
+ } & Action<string>>;
104
+ /**
105
+ * Change the sorting options and reload the list
106
+ */
107
+ changeSorting: ActionCreator<string, (props: {
108
+ sortingOptions: SortingField[];
109
+ }) => {
110
+ sortingOptions: SortingField[];
111
+ } & Action<string>>;
112
+ /**
113
+ * Change the filtering options and reload the list
114
+ */
115
+ changeFiltering: ActionCreator<string, (props: {
116
+ filteringOptions: FilteringOptions;
117
+ }) => {
118
+ filteringOptions: FilteringOptions;
119
+ } & Action<string>>;
120
+ /**
121
+ * Change the request parameters and reload the list
122
+ */
123
+ changeRequestParams: ActionCreator<string, (props: {
124
+ params: Params;
125
+ }) => {
126
+ params: Params;
127
+ } & Action<string>>;
128
+ changeSelectedResources: ActionCreator<string, (props: {
129
+ selectedResourceIds: string[];
130
+ }) => {
131
+ selectedResourceIds: string[];
132
+ } & Action<string>>;
133
+ loadPage: ActionCreator<string, () => Action<string>>;
134
+ loadPageSuccess: ActionCreator<string, (props: {
135
+ resources: Summary[];
136
+ pagingOptions: PagingOptions;
137
+ }) => {
138
+ resources: Summary[];
139
+ pagingOptions: PagingOptions;
140
+ } & Action<string>>;
141
+ loadPageFailure: ActionCreator<string, (props: {
142
+ errors: Error;
143
+ }) => {
144
+ errors: Error;
145
+ } & Action<string>>;
146
+ delete: ActionCreator<string, (props: {
147
+ resourceIds: string[];
148
+ }) => {
149
+ resourceIds: string[];
150
+ } & Action<string>>;
151
+ deleteSuccess: ActionCreator<string, (props: {
152
+ resourceIds: string[];
153
+ }) => {
154
+ resourceIds: string[];
155
+ } & Action<string>>;
156
+ deleteFailure: ActionCreator<string, (props: {
157
+ errors: Error;
158
+ }) => {
159
+ errors: Error;
160
+ } & Action<string>>;
161
+ patch: ActionCreator<string, (props: {
162
+ resourceIds: string[];
163
+ resource: Partial<Entity>;
164
+ }) => {
165
+ resourceIds: string[];
166
+ resource: Partial<Entity>;
167
+ } & Action<string>>;
168
+ patchSuccess: ActionCreator<string, (props: {
169
+ resources: (Entity | ErrorDto)[];
170
+ }) => {
171
+ resources: (Entity | ErrorDto)[];
172
+ } & Action<string>>;
173
+ patchFailure: ActionCreator<string, (props: {
174
+ errors: Error;
175
+ }) => {
176
+ errors: Error;
177
+ } & Action<string>>;
178
+ loadNextPage: ActionCreator<string, () => Action<string>>;
179
+ /**
180
+ * Remove the current data, set the page number to 1 and deselect resources.
181
+ * Keep all the rest, like filteringOptions and sortingOptions
182
+ */
183
+ initialize: ActionCreator<string, () => Action<string>>;
184
+ /**
185
+ * Reset to the initial state
186
+ */
187
+ reset: ActionCreator<string, () => Action<string>>;
188
+ loadPreviousPage: ActionCreator<string, () => Action<string>>;
189
+ loadFirstPage: ActionCreator<string, () => Action<string>>;
190
+ /**
191
+ * Reset the request state to idle
192
+ */
193
+ resetRequestState: ActionCreator<string, () => Action<string>>;
194
+ }
195
+ interface NgduxListStateModuleConfig<T extends {
196
+ [key: string]: any;
197
+ }, E, S = T, Params = Record<string, string>> {
198
+ service: Type<ListService<T, S, Params>>;
199
+ notificationService?: Type<ListNotificationService<E>>;
200
+ }
201
+
202
+ declare class ListStateService<T extends {
203
+ [key: string]: any;
204
+ }, Error = unknown, S extends {
205
+ [key: string]: any;
206
+ } = T, Params = Record<string, string>> {
207
+ private readonly reducerManager;
208
+ protected actions: Record<string, ListActions<T, Error, S, Params>>;
209
+ protected selectors: Record<string, ListSelectors<S, Error, Params>>;
210
+ private entityAdapter;
211
+ constructor(reducerManager: ReducerManager, featureKeys: string[]);
212
+ protected getActions(featureKey: string): ListActions<T, Error, S, Params>;
213
+ private getEntityAdapter;
214
+ protected addReducer(featureKey: string, actions: ListActions<T, Error, S, Params>): void;
215
+ protected getSelectors(featureKey: string): ListSelectors<S, Error, Params>;
216
+ getFeatureActions(featureKey: string): ListActions<T, Error, S, Params>;
217
+ getFeatureSelectors(featureKey: string): ListSelectors<S, Error, Params>;
218
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListStateService<any, any, any, any>, never>;
219
+ static ɵprov: i0.ɵɵInjectableDeclaration<ListStateService<any, any, any, any>>;
220
+ }
221
+
222
+ declare class NgduxListStateModule<T extends {
223
+ [key: string]: any;
224
+ }, Error = unknown, S extends {
225
+ [key: string]: any;
226
+ } = T, Params = Record<string, string>> {
227
+ constructor(registerEffectsService: RegisterEffectsService, actions$: Actions, store: Store, listStateService: ListStateService<T, Error, S, Params>, featureKeys: string[], services: ListService<T, S, Params>[], notificationServices: ListNotificationService<Error>[]);
228
+ static config<T extends {
229
+ [key: string]: any;
230
+ }, Error = unknown, S extends {
231
+ [key: string]: any;
232
+ } = T, Params = Record<string, string>>(config: NgduxListStateModuleConfig<T, Error, S, Params>): ModuleWithProviders<NgduxListStateModule<T, Error, S, Params>>;
233
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgduxListStateModule, never>;
234
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgduxListStateModule, never, never, never>;
235
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgduxListStateModule>;
236
+ }
237
+
238
+ declare abstract class AbstractListEffects<T, E = unknown, S = T, Params = Record<string, string>> {
239
+ protected readonly actions$: Actions;
240
+ protected readonly store: Store;
241
+ protected readonly service: ListService<T, S, Params>;
242
+ protected readonly listActions: ListActions<T, E, S, Params>;
243
+ protected readonly listSelectors: ListSelectors<S, E, Params>;
244
+ protected readonly notificationService?: ListNotificationService<E> | undefined;
245
+ reload$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
246
+ loadFirstPage$: rxjs.Observable<{
247
+ pageNumber: number;
248
+ } & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
249
+ loadPreviousPage$: rxjs.Observable<{
250
+ pageNumber: number;
251
+ } & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
252
+ loadNextPage$: rxjs.Observable<{
253
+ pageNumber: number;
254
+ } & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
255
+ loadPage$: rxjs.Observable<({
256
+ resources: S[];
257
+ pagingOptions: _ngdux_data_model_common.PagingOptions;
258
+ } & _ngrx_store.Action<string>) | ({
259
+ errors: E;
260
+ } & _ngrx_store.Action<string>)> & _ngrx_effects.CreateEffectMetadata;
261
+ patch$: rxjs.Observable<({
262
+ resources: (_ngdux_data_model_common.ErrorDto | T)[];
263
+ } & _ngrx_store.Action<string>) | ({
264
+ errors: E;
265
+ } & _ngrx_store.Action<string>)> & _ngrx_effects.CreateEffectMetadata;
266
+ delete$: rxjs.Observable<({
267
+ resourceIds: string[];
268
+ } & _ngrx_store.Action<string>) | ({
269
+ errors: E;
270
+ } & _ngrx_store.Action<string>)> & _ngrx_effects.CreateEffectMetadata;
271
+ deleteSuccess$: rxjs.Observable<{
272
+ resourceIds: string[];
273
+ } & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
274
+ errorsHandler$: rxjs.Observable<({
275
+ errors: E;
276
+ } & _ngrx_store.Action<string>) | ({
277
+ errors: E;
278
+ } & _ngrx_store.Action<string>) | ({
279
+ errors: E;
280
+ } & _ngrx_store.Action<string>)> & _ngrx_effects.CreateEffectMetadata;
281
+ protected constructor(actions$: Actions, store: Store, service: ListService<T, S, Params>, listActions: ListActions<T, E, S, Params>, listSelectors: ListSelectors<S, E, Params>, notificationService?: ListNotificationService<E> | undefined);
282
+ }
283
+
284
+ declare abstract class AbstractListReducerManager<T extends {
285
+ [key: string]: any;
286
+ }, E, S extends {
287
+ [key: string]: any;
288
+ } = T, Params = Record<string, string>> {
289
+ private readonly reducerManager;
290
+ private readonly featureKey;
291
+ actions: ListActions<T, E, S, Params>;
292
+ selectors: ListSelectors<S, E, Params>;
293
+ private entityAdapter;
294
+ constructor(reducerManager: ReducerManager, featureKey: string);
295
+ protected getActions(): ListActions<T, E, S, Params>;
296
+ private getEntityAdapter;
297
+ protected addReducer(): void;
298
+ protected getSelectors(): ListSelectors<S, E, Params>;
299
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractListReducerManager<any, any, any, any>, never>;
300
+ static ɵprov: i0.ɵɵInjectableDeclaration<AbstractListReducerManager<any, any, any, any>>;
301
+ }
302
+
303
+ declare abstract class AbstractListFacade<T, E, S = T, Params = Record<string, string>> {
304
+ protected readonly store: Store;
305
+ private readonly listActions;
306
+ private readonly listSelectors;
307
+ readonly resources$: rxjs.Observable<S[]>;
308
+ readonly loadingState$: rxjs.Observable<_ngdux_data_model_common.RequestState>;
309
+ readonly requestState$: rxjs.Observable<_ngdux_data_model_common.RequestState>;
310
+ readonly errors$: rxjs.Observable<E | undefined>;
311
+ readonly isReady$: rxjs.Observable<boolean>;
312
+ readonly areSelectedReady$: rxjs.Observable<boolean>;
313
+ readonly currentPageData$: rxjs.Observable<S[]>;
314
+ readonly currentPageNumber$: rxjs.Observable<number>;
315
+ readonly filteringOptions$: rxjs.Observable<_ngdux_data_model_common.FilteringOptions>;
316
+ readonly requestParameters$: rxjs.Observable<Params | undefined>;
317
+ readonly lastPageNumber$: rxjs.Observable<number | undefined>;
318
+ readonly pagingOptions$: rxjs.Observable<_ngdux_data_model_common.PagingOptions>;
319
+ readonly requestOptions$: rxjs.Observable<_ngdux_data_model_common.RequestOptions<Record<string, string>>>;
320
+ readonly sortingOptions$: rxjs.Observable<_ngdux_data_model_common.SortingField[]>;
321
+ readonly selectedItems$: rxjs.Observable<S[]>;
322
+ readonly totalCount$: rxjs.Observable<number>;
323
+ constructor(store: Store, listActions: ListActions<T, E, S, Params>, listSelectors: ListSelectors<S, E, Params>);
324
+ setPageSize(props: ActionPayload<ListActions<T, E, S, Params>['setPageSize']>): void;
325
+ setFiltering(props: ActionPayload<ListActions<T, E, S, Params>['setFiltering']>): void;
326
+ setSorting(props: ActionPayload<ListActions<T, E, S, Params>['setSorting']>): void;
327
+ setRequestParameters(props: ActionPayload<ListActions<T, E, S, Params>['setRequestParams']>): void;
328
+ changeFiltering(props: ActionPayload<ListActions<T, E, S, Params>['changeFiltering']>): void;
329
+ changePagingOptions(props: ActionPayload<ListActions<T, E, S, Params>['changePagingOptions']>): void;
330
+ changePageSize(props: ActionPayload<ListActions<T, E, S, Params>['changePageSize']>): void;
331
+ changePageNumber(props: ActionPayload<ListActions<T, E, S, Params>['changePageNumber']>): void;
332
+ changeSelectedResources(props: ActionPayload<ListActions<T, E, S, Params>['changeSelectedResources']>): void;
333
+ changeSorting(props: ActionPayload<ListActions<T, E, S, Params>['changeSorting']>): void;
334
+ changeRequestParams(props: ActionPayload<ListActions<T, E, S, Params>['changeRequestParams']>): void;
335
+ loadPage(): void;
336
+ loadFirstPage(): void;
337
+ loadNextPage(): void;
338
+ loadPreviousPage(): void;
339
+ patch(props: ActionPayload<ListActions<T, E, S, Params>['patch']>): void;
340
+ delete(props: ActionPayload<ListActions<T, E, S, Params>['delete']>): void;
341
+ initialize(): void;
342
+ reinitialize(): void;
343
+ resetRequestState(): void;
344
+ }
345
+
346
+ declare function createListActions<T, E, S = T, Params = Record<string, string>>(featureName: string): ListActions<T, E, S, Params>;
347
+
348
+ declare function createListEntityAdapter<T extends {
349
+ [key: string]: any;
350
+ }>(idKey?: string): EntityAdapter<T>;
351
+ declare function createListReducer<T, E, S = T, Params = Record<string, string>>(entityAdapter: EntityAdapter<S>, actions: ListActions<T, E, S, Params>, actionHandlers?: ReducerTypes<ListState<S, E, Params>, ActionCreator$1[]>[], initialListState?: {
352
+ [key: string]: unknown;
353
+ }): ActionReducer<ListState<S, E, Params>>;
354
+
355
+ declare function createListSelectors<T, E, Params = Record<string, string>>(entityAdapter: EntityAdapter<T>, getListState: MemoizedSelector<object, ListState<T, E, Params>, DefaultProjectorFn<ListState<T, E, Params>>>): ListSelectors<T, E, Params>;
356
+
357
+ declare function createListState<T extends {
358
+ [key: string]: any;
359
+ }, E, S extends {
360
+ [key: string]: any;
361
+ } = T, Params = Record<string, string>>(featureName: string, idKey?: string): {
362
+ actions: ListActions<T, E, S, Params>;
363
+ reducer: (state: ListState<S, E, Params>, action: Action) => ListState<S, E, Params>;
364
+ selectors: ListSelectors<S, E, Params>;
365
+ entityAdapter: _ngrx_entity.EntityAdapter<S>;
366
+ };
367
+
368
+ export { AbstractListEffects, AbstractListFacade, AbstractListReducerManager, LIST_FEATURE_KEY, LIST_FEATURE_KEYS, LIST_NOTIFICATION_SERVICES, LIST_SERVICES, ListStateService, NgduxListStateModule, createListActions, createListEntityAdapter, createListReducer, createListSelectors, createListState };
369
+ export type { ListActions, ListSelectors, ListState, NgduxListStateModuleConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngdux/list",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@github.com:allanartuso/ngdux.git",
@@ -23,8 +23,6 @@
23
23
  },
24
24
  ".": {
25
25
  "types": "./index.d.ts",
26
- "esm2022": "./esm2022/ngdux-list.mjs",
27
- "esm": "./esm2022/ngdux-list.mjs",
28
26
  "default": "./fesm2022/ngdux-list.mjs"
29
27
  }
30
28
  },
package/esm2022/index.mjs DELETED
@@ -1,12 +0,0 @@
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=
@@ -1,23 +0,0 @@
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
- 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
- export { ListEffects };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvK3N0YXRlL2VmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQU1YLFNBQVEsbUJBQXdDO0lBR2hELFlBQ0UsUUFBaUIsRUFDakIsS0FBWSxFQUNaLGdCQUF1RCxFQUN0QyxVQUFrQixFQUNuQyxPQUFrQyxFQUN0QixtQkFBb0Q7UUFFaEUsS0FBSyxDQUNILFFBQVEsRUFDUixLQUFLLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUM5QyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFDaEQsbUJBQW1CLENBQ3BCLENBQUM7UUFYZSxlQUFVLEdBQVYsVUFBVSxDQUFRO0lBWXJDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FDRixDQUFBO0FBOUJZLFdBQVc7SUFlbkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtxQ0FMRCxPQUFPO1FBQ1YsS0FBSztRQUNNLGdCQUFnQjtHQVp6QixXQUFXLENBOEJ2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBMaXN0U2VydmljZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IEFjdGlvbnMsIE9uSWRlbnRpZnlFZmZlY3RzIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdExpc3RFZmZlY3RzIH0gZnJvbSAnLi4vc3RhdGUtZ2VuZXJhdG9yL2Fic3RyYWN0LWxpc3QtZWZmZWN0cyc7XHJcbmltcG9ydCB7IExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIExpc3RFZmZlY3RzPFxyXG4gICAgVCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBFcnJvciA9IHVua25vd24sXHJcbiAgICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbiAgPlxyXG4gIGV4dGVuZHMgQWJzdHJhY3RMaXN0RWZmZWN0czxULCBFcnJvciwgUywgUGFyYW1zPlxyXG4gIGltcGxlbWVudHMgT25JZGVudGlmeUVmZmVjdHNcclxue1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICBzdG9yZTogU3RvcmUsXHJcbiAgICBsaXN0U3RhdGVTZXJ2aWNlOiBMaXN0U3RhdGVTZXJ2aWNlPFQsIEVycm9yLCBTLCBQYXJhbXM+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlS2V5OiBzdHJpbmcsXHJcbiAgICBzZXJ2aWNlOiBMaXN0U2VydmljZTxULCBTLCBQYXJhbXM+LFxyXG4gICAgQE9wdGlvbmFsKCkgbm90aWZpY2F0aW9uU2VydmljZT86IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlPEVycm9yPlxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGFjdGlvbnMkLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgc2VydmljZSxcclxuICAgICAgbGlzdFN0YXRlU2VydmljZS5nZXRGZWF0dXJlQWN0aW9ucyhmZWF0dXJlS2V5KSxcclxuICAgICAgbGlzdFN0YXRlU2VydmljZS5nZXRGZWF0dXJlU2VsZWN0b3JzKGZlYXR1cmVLZXkpLFxyXG4gICAgICBub3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdyeE9uSWRlbnRpZnlFZmZlY3RzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZUtleTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,55 +0,0 @@
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: "17.2.2", 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: "17.2.2", ngImport: i0, type: ListStateService }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ListStateService, decorators: [{
50
- type: Injectable
51
- }], ctorParameters: () => [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
52
- type: Inject,
53
- args: [LIST_FEATURE_KEYS]
54
- }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvK3N0YXRlL3N0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXlDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUd4RSxNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQTZCLGNBQThCLEVBQTZCLFdBQXFCO1FBQWhGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpqRCxZQUFPLEdBQXFELEVBQUUsQ0FBQztRQUMvRCxjQUFTLEdBQW9ELEVBQUUsQ0FBQztRQUl4RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsVUFBVSxDQUFDLFVBQWtCO1FBQ3JDLE9BQU8saUJBQWlCLENBQXNCLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyx1QkFBdUIsRUFBSyxDQUFDO0lBQ3RDLENBQUM7SUFFUyxVQUFVLENBQUMsVUFBa0IsRUFBRSxPQUF5QztRQUNoRixNQUFNLGVBQWUsR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQXNCLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWSxDQUFDLFVBQWtCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUE4QixVQUFVLENBQUMsQ0FBQztRQUNoRixPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWtCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBakRVLGdCQUFnQixnREFVMEMsaUJBQWlCO2tIQVYzRSxnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQVdxRCxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlBZGFwdGVyIH0gZnJvbSAnQG5ncngvZW50aXR5JztcclxuaW1wb3J0IHsgUmVkdWNlck1hbmFnZXIsIGNyZWF0ZUZlYXR1cmVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgTElTVF9GRUFUVVJFX0tFWVMsIExpc3RBY3Rpb25zLCBMaXN0U2VsZWN0b3JzLCBMaXN0U3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XHJcbmltcG9ydCB7IGNyZWF0ZUxpc3RBY3Rpb25zIH0gZnJvbSAnLi4vc3RhdGUtZ2VuZXJhdG9yL2xpc3QtYWN0aW9ucyc7XHJcbmltcG9ydCB7IGNyZWF0ZUxpc3RFbnRpdHlBZGFwdGVyLCBjcmVhdGVMaXN0UmVkdWNlciB9IGZyb20gJy4uL3N0YXRlLWdlbmVyYXRvci9saXN0LXJlZHVjZXInO1xyXG5pbXBvcnQgeyBjcmVhdGVMaXN0U2VsZWN0b3JzIH0gZnJvbSAnLi4vc3RhdGUtZ2VuZXJhdG9yL2xpc3Qtc2VsZWN0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExpc3RTdGF0ZVNlcnZpY2U8XHJcbiAgVCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgRXJyb3IgPSB1bmtub3duLFxyXG4gIFMgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gVCxcclxuICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbj4ge1xyXG4gIHByb3RlY3RlZCBhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBMaXN0QWN0aW9uczxULCBFcnJvciwgUywgUGFyYW1zPj4gPSB7fTtcclxuICBwcm90ZWN0ZWQgc2VsZWN0b3JzOiBSZWNvcmQ8c3RyaW5nLCBMaXN0U2VsZWN0b3JzPFMsIEVycm9yLCBQYXJhbXM+PiA9IHt9O1xyXG4gIHByaXZhdGUgZW50aXR5QWRhcHRlcjogRW50aXR5QWRhcHRlcjxTPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZWR1Y2VyTWFuYWdlcjogUmVkdWNlck1hbmFnZXIsIEBJbmplY3QoTElTVF9GRUFUVVJFX0tFWVMpIGZlYXR1cmVLZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5lbnRpdHlBZGFwdGVyID0gdGhpcy5nZXRFbnRpdHlBZGFwdGVyKCk7XHJcbiAgICBmZWF0dXJlS2V5cy5mb3JFYWNoKGZlYXR1cmVLZXkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuYWN0aW9uc1tmZWF0dXJlS2V5XSkge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uc1tmZWF0dXJlS2V5XSA9IHRoaXMuZ2V0QWN0aW9ucyhmZWF0dXJlS2V5KTtcclxuICAgICAgICB0aGlzLmFkZFJlZHVjZXIoZmVhdHVyZUtleSwgdGhpcy5hY3Rpb25zW2ZlYXR1cmVLZXldKTtcclxuICAgICAgICB0aGlzLnNlbGVjdG9yc1tmZWF0dXJlS2V5XSA9IHRoaXMuZ2V0U2VsZWN0b3JzKGZlYXR1cmVLZXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRBY3Rpb25zKGZlYXR1cmVLZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGNyZWF0ZUxpc3RBY3Rpb25zPFQsIEVycm9yLCBTLCBQYXJhbXM+KGZlYXR1cmVLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbnRpdHlBZGFwdGVyKCkge1xyXG4gICAgcmV0dXJuIGNyZWF0ZUxpc3RFbnRpdHlBZGFwdGVyPFM+KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYWRkUmVkdWNlcihmZWF0dXJlS2V5OiBzdHJpbmcsIGFjdGlvbnM6IExpc3RBY3Rpb25zPFQsIEVycm9yLCBTLCBQYXJhbXM+KSB7XHJcbiAgICBjb25zdCBjdXJyZW50UmVkdWNlcnM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXModGhpcy5yZWR1Y2VyTWFuYWdlci5jdXJyZW50UmVkdWNlcnMgfHwge30pO1xyXG5cclxuICAgIGlmICghY3VycmVudFJlZHVjZXJzLmluY2x1ZGVzKGZlYXR1cmVLZXkpKSB7XHJcbiAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVMaXN0UmVkdWNlcjxULCBFcnJvciwgUywgUGFyYW1zPih0aGlzLmVudGl0eUFkYXB0ZXIsIGFjdGlvbnMpO1xyXG4gICAgICB0aGlzLnJlZHVjZXJNYW5hZ2VyLmFkZFJlZHVjZXIoZmVhdHVyZUtleSwgcmVkdWNlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0b3JzKGZlYXR1cmVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgZ2V0U3RhdGUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8TGlzdFN0YXRlPFMsIEVycm9yLCBQYXJhbXM+PihmZWF0dXJlS2V5KTtcclxuICAgIHJldHVybiBjcmVhdGVMaXN0U2VsZWN0b3JzKHRoaXMuZW50aXR5QWRhcHRlciwgZ2V0U3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmVhdHVyZUFjdGlvbnMoZmVhdHVyZUtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zW2ZlYXR1cmVLZXldO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmVhdHVyZVNlbGVjdG9ycyhmZWF0dXJlS2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9yc1tmZWF0dXJlS2V5XTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +0,0 @@
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
@@ -1,53 +0,0 @@
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: "17.2.2", 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: "17.2.2", ngImport: i0, type: NgduxListStateModule }); }
36
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgduxListStateModule, providers: [ListStateService] }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NgduxListStateModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- providers: [ListStateService]
42
- }]
43
- }], ctorParameters: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtbGlzdC1zdGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvbGlzdC9zcmMvbGliL25nZHV4LWxpc3Qtc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLGFBQWEsRUFFZCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7QUFLdEYsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUNFLHNCQUE4QyxFQUM5QyxRQUFpQixFQUNqQixLQUFZLEVBQ1osZ0JBQXVELEVBQzVCLFdBQXFCLEVBQ3pCLFFBQXFDLEVBQ3hCLG9CQUFzRDtRQUUxRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUNqQyxRQUFRLEVBQ1IsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUNmLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUM1QixDQUFDO1lBQ0Ysc0JBQXNCLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQU1YLE1BQXVEO1FBRXZELE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDakU7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsSUFBSSw4QkFBOEI7aUJBQ3ZFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs4R0EvQ1Usb0JBQW9CLG9JQVdyQixpQkFBaUIsYUFDakIsYUFBYSxhQUNiLDBCQUEwQjsrR0FiekIsb0JBQW9COytHQUFwQixvQkFBb0IsYUFGcEIsQ0FBQyxnQkFBZ0IsQ0FBQzs7MkZBRWxCLG9CQUFvQjtrQkFIaEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUI7OzBCQVlJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3ROb3RpZmljYXRpb25TZXJ2aWNlLCBMaXN0U2VydmljZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IFJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UgfSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgTGlzdEVmZmVjdHMgfSBmcm9tICcuLytzdGF0ZS9lZmZlY3RzJztcclxuaW1wb3J0IHsgTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4vK3N0YXRlL3N0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIExJU1RfRkVBVFVSRV9LRVlTLFxyXG4gIExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTLFxyXG4gIExJU1RfU0VSVklDRVMsXHJcbiAgTmdkdXhMaXN0U3RhdGVNb2R1bGVDb25maWdcclxufSBmcm9tICcuL21vZGVscy9saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9saXN0LW5vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbTGlzdFN0YXRlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5nZHV4TGlzdFN0YXRlTW9kdWxlPFxyXG4gIFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gIEVycm9yID0gdW5rbm93bixcclxuICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlZ2lzdGVyRWZmZWN0c1NlcnZpY2U6IFJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UsXHJcbiAgICBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHN0b3JlOiBTdG9yZSxcclxuICAgIGxpc3RTdGF0ZVNlcnZpY2U6IExpc3RTdGF0ZVNlcnZpY2U8VCwgRXJyb3IsIFMsIFBhcmFtcz4sXHJcbiAgICBASW5qZWN0KExJU1RfRkVBVFVSRV9LRVlTKSBmZWF0dXJlS2V5czogc3RyaW5nW10sXHJcbiAgICBASW5qZWN0KExJU1RfU0VSVklDRVMpIHNlcnZpY2VzOiBMaXN0U2VydmljZTxULCBTLCBQYXJhbXM+W10sXHJcbiAgICBASW5qZWN0KExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTKSBub3RpZmljYXRpb25TZXJ2aWNlczogTGlzdE5vdGlmaWNhdGlvblNlcnZpY2U8RXJyb3I+W11cclxuICApIHtcclxuICAgIGZlYXR1cmVLZXlzLmZvckVhY2goKGZlYXR1cmVLZXksIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3RFZmZlY3RzID0gbmV3IExpc3RFZmZlY3RzKFxyXG4gICAgICAgIGFjdGlvbnMkLFxyXG4gICAgICAgIHN0b3JlLFxyXG4gICAgICAgIGxpc3RTdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgZmVhdHVyZUtleSxcclxuICAgICAgICBzZXJ2aWNlc1tpbmRleF0sXHJcbiAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZXNbaW5kZXhdXHJcbiAgICAgICk7XHJcbiAgICAgIHJlZ2lzdGVyRWZmZWN0c1NlcnZpY2UucmVnaXN0ZXJFZmZlY3RzKFtsaXN0RWZmZWN0c10pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29uZmlnPFxyXG4gICAgVCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBFcnJvciA9IHVua25vd24sXHJcbiAgICBTIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IFQsXHJcbiAgICBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbiAgPihcclxuICAgIGNvbmZpZzogTmdkdXhMaXN0U3RhdGVNb2R1bGVDb25maWc8VCwgRXJyb3IsIFMsIFBhcmFtcz5cclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nZHV4TGlzdFN0YXRlTW9kdWxlPFQsIEVycm9yLCBTLCBQYXJhbXM+PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmdkdXhMaXN0U3RhdGVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogTElTVF9TRVJWSUNFUywgbXVsdGk6IHRydWUsIHVzZUNsYXNzOiBjb25maWcuc2VydmljZSB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IExJU1RfTk9USUZJQ0FUSU9OX1NFUlZJQ0VTLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICB1c2VDbGFzczogY29uZmlnLm5vdGlmaWNhdGlvblNlcnZpY2UgfHwgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,21 +0,0 @@
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: "17.2.2", ngImport: i0, type: NotificationServicePlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NotificationServicePlaceholder }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: NotificationServicePlaceholder, decorators: [{
19
- type: Injectable
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ub3RpZmljYXRpb24tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9saXN0L3NyYy9saWIvc2VydmljZXMvbGlzdC1ub3RpZmljYXRpb24tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsWUFBWSxDQUFDLE1BQWdCO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBd0M7UUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDOzhHQWJVLDhCQUE4QjtrSEFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFcnJvckR0bywgTGlzdE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZVBsYWNlaG9sZGVyIGltcGxlbWVudHMgTGlzdE5vdGlmaWNhdGlvblNlcnZpY2U8RXJyb3JEdG8+IHtcclxuICBvbkxpc3RFcnJvcnMoZXJyb3JzOiBFcnJvckR0byk6IHZvaWQge1xyXG4gICAgY29uc29sZS5lcnJvcignRVJST1InLCBlcnJvcnMpO1xyXG4gIH1cclxuXHJcbiAgb25MaXN0RGVsZXRlKGlkczogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKGBSZXNvdXJjZXMgJHtpZHMuam9pbignLCAnKX0gaGF2ZSBiZWVuIGRlbGV0ZWQuYCk7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29uZmlybWF0aW9uRGlhbG9nKGRhdGE6IHsgbWVzc2FnZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnNvbGUubG9nKGRhdGEudGl0bGUsIGRhdGEubWVzc2FnZSk7XHJcblxyXG4gICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gIH1cclxufVxyXG4iXX0=