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