ngssm-remote-data 16.1.0 → 16.1.2

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 (23) hide show
  1. package/esm2022/lib/ngssm-remote-call/provide-ngssm-remote-call.mjs +4 -5
  2. package/esm2022/lib/ngssm-remote-call/public-api.mjs +1 -2
  3. package/esm2022/lib/ngssm-remote-call/reducers/remote-call-setter.reducer.mjs +1 -7
  4. package/esm2022/lib/ngssm-remote-call/reducers/remote-call.reducer.mjs +1 -7
  5. package/esm2022/lib/remote-data/effects/caches-display.effect.mjs +1 -7
  6. package/esm2022/lib/remote-data/effects/remote-data-loading.effect.mjs +21 -24
  7. package/esm2022/lib/remote-data/guards/remote-data-loading.guard.mjs +5 -3
  8. package/esm2022/lib/remote-data/model/remote-data-provider.mjs +21 -2
  9. package/esm2022/lib/remote-data/provide-ngssm-remote-data.mjs +6 -7
  10. package/esm2022/lib/remote-data/reducers/remote-data.reducer.mjs +1 -7
  11. package/fesm2022/ngssm-remote-data.mjs +48 -53
  12. package/fesm2022/ngssm-remote-data.mjs.map +1 -1
  13. package/lib/ngssm-remote-call/public-api.d.ts +0 -1
  14. package/lib/ngssm-remote-call/reducers/remote-call-setter.reducer.d.ts +0 -2
  15. package/lib/ngssm-remote-call/reducers/remote-call.reducer.d.ts +0 -2
  16. package/lib/remote-data/effects/caches-display.effect.d.ts +0 -2
  17. package/lib/remote-data/effects/remote-data-loading.effect.d.ts +4 -4
  18. package/lib/remote-data/guards/remote-data-loading.guard.d.ts +1 -1
  19. package/lib/remote-data/model/remote-data-provider.d.ts +6 -1
  20. package/lib/remote-data/reducers/remote-data.reducer.d.ts +0 -2
  21. package/package.json +2 -2
  22. package/esm2022/lib/ngssm-remote-call/ngssm-remote-call-routes.mjs +0 -2
  23. package/lib/ngssm-remote-call/ngssm-remote-call-routes.d.ts +0 -2
@@ -1,12 +1,11 @@
1
1
  import { makeEnvironmentProviders } from '@angular/core';
2
- import { NGSSM_STATE_INITIALIZER } from 'ngssm-store';
2
+ import { NGSSM_STATE_INITIALIZER, provideReducers } from 'ngssm-store';
3
3
  import { NgssmRemoteCallStateInitializer } from './ngssm-remote-call-state-initializer';
4
- import { remoteCallReducerProvider, remoteCallSetterReducerProvider } from './reducers';
4
+ import { RemoteCallReducer, RemoteCallSetterReducer } from './reducers';
5
5
  export const provideNgssmRemoteCall = () => {
6
6
  return makeEnvironmentProviders([
7
7
  { provide: NGSSM_STATE_INITIALIZER, useClass: NgssmRemoteCallStateInitializer, multi: true },
8
- remoteCallReducerProvider,
9
- remoteCallSetterReducerProvider
8
+ provideReducers(RemoteCallSetterReducer, RemoteCallReducer)
10
9
  ]);
11
10
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBeUIsRUFBRTtJQUMvRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQzVGLHlCQUF5QjtRQUN6QiwrQkFBK0I7S0FDaEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdTU01fU1RBVEVfSU5JVElBTElaRVIgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5pbXBvcnQgeyBOZ3NzbVJlbW90ZUNhbGxTdGF0ZUluaXRpYWxpemVyIH0gZnJvbSAnLi9uZ3NzbS1yZW1vdGUtY2FsbC1zdGF0ZS1pbml0aWFsaXplcic7XG5pbXBvcnQgeyByZW1vdGVDYWxsUmVkdWNlclByb3ZpZGVyLCByZW1vdGVDYWxsU2V0dGVyUmVkdWNlclByb3ZpZGVyIH0gZnJvbSAnLi9yZWR1Y2Vycyc7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlTmdzc21SZW1vdGVDYWxsID0gKCk6IEVudmlyb25tZW50UHJvdmlkZXJzID0+IHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgeyBwcm92aWRlOiBOR1NTTV9TVEFURV9JTklUSUFMSVpFUiwgdXNlQ2xhc3M6IE5nc3NtUmVtb3RlQ2FsbFN0YXRlSW5pdGlhbGl6ZXIsIG11bHRpOiB0cnVlIH0sXG4gICAgcmVtb3RlQ2FsbFJlZHVjZXJQcm92aWRlcixcbiAgICByZW1vdGVDYWxsU2V0dGVyUmVkdWNlclByb3ZpZGVyXG4gIF0pO1xufTtcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQXlCLEVBQUU7SUFDL0QsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUM1RixlQUFlLENBQUMsdUJBQXVCLEVBQUUsaUJBQWlCLENBQUM7S0FDNUQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdTU01fU1RBVEVfSU5JVElBTElaRVIsIHByb3ZpZGVSZWR1Y2VycyB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IE5nc3NtUmVtb3RlQ2FsbFN0YXRlSW5pdGlhbGl6ZXIgfSBmcm9tICcuL25nc3NtLXJlbW90ZS1jYWxsLXN0YXRlLWluaXRpYWxpemVyJztcbmltcG9ydCB7IFJlbW90ZUNhbGxSZWR1Y2VyLCBSZW1vdGVDYWxsU2V0dGVyUmVkdWNlciB9IGZyb20gJy4vcmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgcHJvdmlkZU5nc3NtUmVtb3RlQ2FsbCA9ICgpOiBFbnZpcm9ubWVudFByb3ZpZGVycyA9PiB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHsgcHJvdmlkZTogTkdTU01fU1RBVEVfSU5JVElBTElaRVIsIHVzZUNsYXNzOiBOZ3NzbVJlbW90ZUNhbGxTdGF0ZUluaXRpYWxpemVyLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHByb3ZpZGVSZWR1Y2VycyhSZW1vdGVDYWxsU2V0dGVyUmVkdWNlciwgUmVtb3RlQ2FsbFJlZHVjZXIpXG4gIF0pO1xufTtcbiJdfQ==
@@ -1,8 +1,7 @@
1
1
  export * from './provide-ngssm-remote-call';
2
- export * from './ngssm-remote-call-routes';
3
2
  export * from './model';
4
3
  export * from './state';
5
4
  export * from './components';
6
5
  export * from './provide-ngssm-remote-call-config';
7
6
  export * from './actions';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbCc7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLXJlbW90ZS1jYWxsLXJvdXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZS1uZ3NzbS1yZW1vdGUtY2FsbC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3ZpZGUtbmdzc20tcmVtb3RlLWNhbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGUtbmdzc20tcmVtb3RlLWNhbGwtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucyc7XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { NGSSM_REDUCER } from 'ngssm-store';
3
2
  import { NgssmRemoteCallActionType } from '../actions';
4
3
  import { updateNgssmRemoteCallState } from '../state';
5
4
  import * as i0 from "@angular/core";
@@ -26,9 +25,4 @@ export class RemoteCallSetterReducer {
26
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteCallSetterReducer, decorators: [{
27
26
  type: Injectable
28
27
  }] });
29
- export const remoteCallSetterReducerProvider = {
30
- provide: NGSSM_REDUCER,
31
- useClass: RemoteCallSetterReducer,
32
- multi: true
33
- };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNhbGwtc2V0dGVyLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL25nc3NtLXJlbW90ZS1jYWxsL3JlZHVjZXJzL3JlbW90ZS1jYWxsLXNldHRlci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEUsT0FBTyxFQUFFLHlCQUF5QixFQUF1QixNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3RELE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFa0IscUJBQWdCLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQWdCeEY7SUFkUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUsseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sbUJBQW1CLEdBQUcsTUFBNkIsQ0FBQztnQkFDMUQsT0FBTywwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZDLFdBQVcsRUFBRTt3QkFDWCxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtxQkFDN0U7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FoQlUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7O0FBb0JYLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFhO0lBQ3ZELE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSx1QkFBdUI7SUFDakMsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVkdWNlciwgU3RhdGUsIEFjdGlvbiwgTkdTU01fUkVEVUNFUiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTmdzc21SZW1vdGVDYWxsQWN0aW9uVHlwZSwgU2V0UmVtb3RlQ2FsbEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXBkYXRlTmdzc21SZW1vdGVDYWxsU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZW1vdGVDYWxsU2V0dGVyUmVkdWNlciBpbXBsZW1lbnRzIFJlZHVjZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc2VkQWN0aW9uczogc3RyaW5nW10gPSBbTmdzc21SZW1vdGVDYWxsQWN0aW9uVHlwZS5zZXRSZW1vdGVDYWxsXTtcblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIE5nc3NtUmVtb3RlQ2FsbEFjdGlvblR5cGUuc2V0UmVtb3RlQ2FsbDoge1xuICAgICAgICBjb25zdCBzZXRSZW1vdGVDYWxsQWN0aW9uID0gYWN0aW9uIGFzIFNldFJlbW90ZUNhbGxBY3Rpb247XG4gICAgICAgIHJldHVybiB1cGRhdGVOZ3NzbVJlbW90ZUNhbGxTdGF0ZShzdGF0ZSwge1xuICAgICAgICAgIHJlbW90ZUNhbGxzOiB7XG4gICAgICAgICAgICBbc2V0UmVtb3RlQ2FsbEFjdGlvbi5yZW1vdGVDYWxsSWRdOiB7ICRzZXQ6IHNldFJlbW90ZUNhbGxBY3Rpb24ucmVtb3RlQ2FsbCB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlbW90ZUNhbGxTZXR0ZXJSZWR1Y2VyUHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR1NTTV9SRURVQ0VSLFxuICB1c2VDbGFzczogUmVtb3RlQ2FsbFNldHRlclJlZHVjZXIsXG4gIG11bHRpOiB0cnVlXG59O1xuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNhbGwtc2V0dGVyLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL25nc3NtLXJlbW90ZS1jYWxsL3JlZHVjZXJzL3JlbW90ZS1jYWxsLXNldHRlci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLHlCQUF5QixFQUF1QixNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3RELE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFa0IscUJBQWdCLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQWdCeEY7SUFkUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUsseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sbUJBQW1CLEdBQUcsTUFBNkIsQ0FBQztnQkFDMUQsT0FBTywwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZDLFdBQVcsRUFBRTt3QkFDWCxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtxQkFDN0U7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FoQlUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtUmVtb3RlQ2FsbEFjdGlvblR5cGUsIFNldFJlbW90ZUNhbGxBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IHVwZGF0ZU5nc3NtUmVtb3RlQ2FsbFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVtb3RlQ2FsbFNldHRlclJlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW05nc3NtUmVtb3RlQ2FsbEFjdGlvblR5cGUuc2V0UmVtb3RlQ2FsbF07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBOZ3NzbVJlbW90ZUNhbGxBY3Rpb25UeXBlLnNldFJlbW90ZUNhbGw6IHtcbiAgICAgICAgY29uc3Qgc2V0UmVtb3RlQ2FsbEFjdGlvbiA9IGFjdGlvbiBhcyBTZXRSZW1vdGVDYWxsQWN0aW9uO1xuICAgICAgICByZXR1cm4gdXBkYXRlTmdzc21SZW1vdGVDYWxsU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICByZW1vdGVDYWxsczoge1xuICAgICAgICAgICAgW3NldFJlbW90ZUNhbGxBY3Rpb24ucmVtb3RlQ2FsbElkXTogeyAkc2V0OiBzZXRSZW1vdGVDYWxsQWN0aW9uLnJlbW90ZUNhbGwgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
- import { NGSSM_REDUCER } from 'ngssm-store';
3
2
  import { NGSSM_REMOTE_CALL_CONFIG, RemoteCallStatus, getDefaultRemoteCall } from '../model';
4
3
  import { updateNgssmRemoteCallState } from '../state';
5
4
  import * as i0 from "@angular/core";
@@ -42,9 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
42
41
  }, {
43
42
  type: Optional
44
43
  }] }]; } });
45
- export const remoteCallReducerProvider = {
46
- provide: NGSSM_REDUCER,
47
- useClass: RemoteCallReducer,
48
- multi: true
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNhbGwucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcmVkdWNlcnMvcmVtb3RlLWNhbGwucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFvQixnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3RELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBa0UsaUJBQXFDO1FBQXJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFGdkYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRzlDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEksQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ25ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDakcsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekIsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckQsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE1BQU0sRUFBRTtvQkFDMUMsV0FBVyxFQUFFO3dCQUNYLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO3FCQUN6RTtpQkFDRixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxNQUFNLDJCQUEyQixHQUFHLE1BQXFDLENBQUM7Z0JBQzFFLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxNQUFNLEVBQUU7b0JBQzFDLFdBQVcsRUFBRTt3QkFDWCxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSwyQkFBMkIsQ0FBQyxVQUFVLEVBQUU7cUJBQzlEO2lCQUNGLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQTlCVSxpQkFBaUIsa0JBR1Isd0JBQXdCO2tIQUhqQyxpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQUlJLE1BQU07MkJBQUMsd0JBQXdCOzswQkFBRyxRQUFROztBQThCekQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQWE7SUFDakQsT0FBTyxFQUFFLGFBQWE7SUFDdEIsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZWR1Y2VyLCBTdGF0ZSwgQWN0aW9uLCBOR1NTTV9SRURVQ0VSIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBOZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IE5HU1NNX1JFTU9URV9DQUxMX0NPTkZJRywgUmVtb3RlQ2FsbENvbmZpZywgUmVtb3RlQ2FsbFN0YXR1cywgZ2V0RGVmYXVsdFJlbW90ZUNhbGwgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyB1cGRhdGVOZ3NzbVJlbW90ZUNhbGxTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNhbGxSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdTU01fUkVNT1RFX0NBTExfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlbW90ZUNhbGxDb25maWdzOiBSZW1vdGVDYWxsQ29uZmlnW10pIHtcbiAgICAodGhpcy5yZW1vdGVDYWxsQ29uZmlncyA/PyBbXSkuZm9yRWFjaCgoYykgPT4gdGhpcy5wcm9jZXNzZWRBY3Rpb25zLnB1c2goLi4uWy4uLmMudHJpZ2dlcmVkQWN0aW9uVHlwZXMsIC4uLmMucmVzdWx0QWN0aW9uVHlwZXNdKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcbiAgICBjb25zdCBjb25maWdzID0gKHRoaXMucmVtb3RlQ2FsbENvbmZpZ3MgPz8gW10pLmZpbHRlcihcbiAgICAgIChjKSA9PiBjLnRyaWdnZXJlZEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKSB8fCBjLnJlc3VsdEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKVxuICAgICk7XG4gICAgbGV0IG91dHB1dCA9IHN0YXRlO1xuICAgIGNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICBpZiAoY29uZmlnLnRyaWdnZXJlZEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKSkge1xuICAgICAgICBvdXRwdXQgPSB1cGRhdGVOZ3NzbVJlbW90ZUNhbGxTdGF0ZShvdXRwdXQsIHtcbiAgICAgICAgICByZW1vdGVDYWxsczoge1xuICAgICAgICAgICAgW2NvbmZpZy5pZF06IHsgJHNldDogZ2V0RGVmYXVsdFJlbW90ZUNhbGwoUmVtb3RlQ2FsbFN0YXR1cy5pblByb2dyZXNzKSB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5nc3NtUmVtb3RlQ2FsbFJlc3VsdEFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb247XG4gICAgICAgIG91dHB1dCA9IHVwZGF0ZU5nc3NtUmVtb3RlQ2FsbFN0YXRlKG91dHB1dCwge1xuICAgICAgICAgIHJlbW90ZUNhbGxzOiB7XG4gICAgICAgICAgICBbY29uZmlnLmlkXTogeyAkc2V0OiBuZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb24ucmVtb3RlQ2FsbCB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlbW90ZUNhbGxSZWR1Y2VyUHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR1NTTV9SRURVQ0VSLFxuICB1c2VDbGFzczogUmVtb3RlQ2FsbFJlZHVjZXIsXG4gIG11bHRpOiB0cnVlXG59O1xuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNhbGwucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvbmdzc20tcmVtb3RlLWNhbGwvcmVkdWNlcnMvcmVtb3RlLWNhbGwucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFvQixnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3RELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBa0UsaUJBQXFDO1FBQXJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFGdkYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRzlDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEksQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ25ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDakcsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekIsSUFBSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckQsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE1BQU0sRUFBRTtvQkFDMUMsV0FBVyxFQUFFO3dCQUNYLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO3FCQUN6RTtpQkFDRixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxNQUFNLDJCQUEyQixHQUFHLE1BQXFDLENBQUM7Z0JBQzFFLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxNQUFNLEVBQUU7b0JBQzFDLFdBQVcsRUFBRTt3QkFDWCxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSwyQkFBMkIsQ0FBQyxVQUFVLEVBQUU7cUJBQzlEO2lCQUNGLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQTlCVSxpQkFBaUIsa0JBR1Isd0JBQXdCO2tIQUhqQyxpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQUlJLE1BQU07MkJBQUMsd0JBQXdCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZWR1Y2VyLCBTdGF0ZSwgQWN0aW9uIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBOZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IE5HU1NNX1JFTU9URV9DQUxMX0NPTkZJRywgUmVtb3RlQ2FsbENvbmZpZywgUmVtb3RlQ2FsbFN0YXR1cywgZ2V0RGVmYXVsdFJlbW90ZUNhbGwgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyB1cGRhdGVOZ3NzbVJlbW90ZUNhbGxTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNhbGxSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdTU01fUkVNT1RFX0NBTExfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlbW90ZUNhbGxDb25maWdzOiBSZW1vdGVDYWxsQ29uZmlnW10pIHtcbiAgICAodGhpcy5yZW1vdGVDYWxsQ29uZmlncyA/PyBbXSkuZm9yRWFjaCgoYykgPT4gdGhpcy5wcm9jZXNzZWRBY3Rpb25zLnB1c2goLi4uWy4uLmMudHJpZ2dlcmVkQWN0aW9uVHlwZXMsIC4uLmMucmVzdWx0QWN0aW9uVHlwZXNdKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcbiAgICBjb25zdCBjb25maWdzID0gKHRoaXMucmVtb3RlQ2FsbENvbmZpZ3MgPz8gW10pLmZpbHRlcihcbiAgICAgIChjKSA9PiBjLnRyaWdnZXJlZEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKSB8fCBjLnJlc3VsdEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKVxuICAgICk7XG4gICAgbGV0IG91dHB1dCA9IHN0YXRlO1xuICAgIGNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICBpZiAoY29uZmlnLnRyaWdnZXJlZEFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbi50eXBlKSkge1xuICAgICAgICBvdXRwdXQgPSB1cGRhdGVOZ3NzbVJlbW90ZUNhbGxTdGF0ZShvdXRwdXQsIHtcbiAgICAgICAgICByZW1vdGVDYWxsczoge1xuICAgICAgICAgICAgW2NvbmZpZy5pZF06IHsgJHNldDogZ2V0RGVmYXVsdFJlbW90ZUNhbGwoUmVtb3RlQ2FsbFN0YXR1cy5pblByb2dyZXNzKSB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5nc3NtUmVtb3RlQ2FsbFJlc3VsdEFjdGlvbiA9IGFjdGlvbiBhcyBOZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb247XG4gICAgICAgIG91dHB1dCA9IHVwZGF0ZU5nc3NtUmVtb3RlQ2FsbFN0YXRlKG91dHB1dCwge1xuICAgICAgICAgIHJlbW90ZUNhbGxzOiB7XG4gICAgICAgICAgICBbY29uZmlnLmlkXTogeyAkc2V0OiBuZ3NzbVJlbW90ZUNhbGxSZXN1bHRBY3Rpb24ucmVtb3RlQ2FsbCB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { NGSSM_EFFECT } from 'ngssm-store';
3
2
  import { RemoteDataActionType } from '../actions';
4
3
  import { NgssmCachesComponent } from '../components';
5
4
  import * as i0 from "@angular/core";
@@ -30,9 +29,4 @@ export class CachesDisplayEffect {
30
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CachesDisplayEffect, decorators: [{
31
30
  type: Injectable
32
31
  }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
33
- export const cachesDisplayEffectProvider = {
34
- provide: NGSSM_EFFECT,
35
- useClass: CachesDisplayEffect,
36
- multi: true
37
- };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVzLWRpc3BsYXkuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tcmVtb3RlLWRhdGEvc3JjL2xpYi9yZW1vdGUtZGF0YS9lZmZlY3RzL2NhY2hlcy1kaXNwbGF5LmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3JELE9BQU8sRUFBZ0MsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGeEIscUJBQWdCLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVsRixDQUFDO0lBRXJDLGFBQWEsQ0FBQyxLQUFZLEVBQUUsS0FBWSxFQUFFLE1BQWM7UUFDN0QsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7b0JBQ3RELFlBQVksRUFBRSxJQUFJO2lCQUNuQixDQUFDLENBQUM7Z0JBRUgsTUFBTTthQUNQO1lBRUQsS0FBSyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFFeEIsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDOzhHQXhCVSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7QUE0QlgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWE7SUFDbkQsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBFZmZlY3QsIFN0b3JlLCBTdGF0ZSwgQWN0aW9uLCBOR1NTTV9FRkZFQ1QgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5pbXBvcnQgeyBSZW1vdGVEYXRhQWN0aW9uVHlwZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgTmdzc21DYWNoZXNDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhY2hlc0Rpc3BsYXlFZmZlY3QgaW1wbGVtZW50cyBFZmZlY3Qge1xuICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nUmVmPE5nc3NtQ2FjaGVzQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc2VkQWN0aW9uczogc3RyaW5nW10gPSBbUmVtb3RlRGF0YUFjdGlvblR5cGUuZGlzcGxheUNhY2hlcywgUmVtb3RlRGF0YUFjdGlvblR5cGUuY2xvc2VDYWNoZXNDb21wb25lbnRdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgcHVibGljIHByb2Nlc3NBY3Rpb24oc3RvcmU6IFN0b3JlLCBzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogdm9pZCB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5kaXNwbGF5Q2FjaGVzOiB7XG4gICAgICAgIHRoaXMuZGlhbG9nID0gdGhpcy5tYXREaWFsb2cub3BlbihOZ3NzbUNhY2hlc0NvbXBvbmVudCwge1xuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5jbG9zZUNhY2hlc0NvbXBvbmVudDoge1xuICAgICAgICB0aGlzLmRpYWxvZz8uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kaWFsb2cgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjYWNoZXNEaXNwbGF5RWZmZWN0UHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR1NTTV9FRkZFQ1QsXG4gIHVzZUNsYXNzOiBDYWNoZXNEaXNwbGF5RWZmZWN0LFxuICBtdWx0aTogdHJ1ZVxufTtcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVzLWRpc3BsYXkuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tcmVtb3RlLWRhdGEvc3JjL2xpYi9yZW1vdGUtZGF0YS9lZmZlY3RzL2NhY2hlcy1kaXNwbGF5LmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGeEIscUJBQWdCLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVsRixDQUFDO0lBRXJDLGFBQWEsQ0FBQyxLQUFZLEVBQUUsS0FBWSxFQUFFLE1BQWM7UUFDN0QsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7b0JBQ3RELFlBQVksRUFBRSxJQUFJO2lCQUNuQixDQUFDLENBQUM7Z0JBRUgsTUFBTTthQUNQO1lBRUQsS0FBSyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFFeEIsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDOzhHQXhCVSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRWZmZWN0LCBTdG9yZSwgU3RhdGUsIEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IFJlbW90ZURhdGFBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3NzbUNhY2hlc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FjaGVzRGlzcGxheUVmZmVjdCBpbXBsZW1lbnRzIEVmZmVjdCB7XG4gIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dSZWY8Tmdzc21DYWNoZXNDb21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtSZW1vdGVEYXRhQWN0aW9uVHlwZS5kaXNwbGF5Q2FjaGVzLCBSZW1vdGVEYXRhQWN0aW9uVHlwZS5jbG9zZUNhY2hlc0NvbXBvbmVudF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZykge31cblxuICBwdWJsaWMgcHJvY2Vzc0FjdGlvbihzdG9yZTogU3RvcmUsIHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIFJlbW90ZURhdGFBY3Rpb25UeXBlLmRpc3BsYXlDYWNoZXM6IHtcbiAgICAgICAgdGhpcy5kaWFsb2cgPSB0aGlzLm1hdERpYWxvZy5vcGVuKE5nc3NtQ2FjaGVzQ29tcG9uZW50LCB7XG4gICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFJlbW90ZURhdGFBY3Rpb25UeXBlLmNsb3NlQ2FjaGVzQ29tcG9uZW50OiB7XG4gICAgICAgIHRoaXMuZGlhbG9nPy5jbG9zZSgpO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IHVuZGVmaW5lZDtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,13 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { NGSSM_EFFECT } from 'ngssm-store';
1
+ import { Inject, Injectable, Optional, runInInjectionContext } from '@angular/core';
3
2
  import { RegisterLoadedRemoteDataAction, RemoteDataActionType } from '../actions';
4
3
  import { DataStatus, NGSSM_REMOTE_DATA_PROVIDER } from '../model';
5
4
  import { selectRemoteDataState } from '../state';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "ngssm-toolkit";
8
7
  export class RemoteDataLoadingEffect {
9
- constructor(remoteDataProviders, notifierService) {
8
+ constructor(remoteDataProviders, notifierService, injector) {
10
9
  this.notifierService = notifierService;
10
+ this.injector = injector;
11
11
  this.processedActions = [RemoteDataActionType.loadRemoteData];
12
12
  this.remoteDataProvidersPerKey = new Map((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));
13
13
  }
@@ -18,23 +18,25 @@ export class RemoteDataLoadingEffect {
18
18
  if (!item || !provider || item.status !== DataStatus.loading) {
19
19
  return;
20
20
  }
21
- provider.get(item.getterParams).subscribe({
22
- next: (value) => {
23
- store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));
24
- if (item.getterParams?.callbackAction) {
25
- store.dispatchActionType(item.getterParams.callbackAction);
21
+ runInInjectionContext(this.injector, () => {
22
+ provider.get(item.getterParams).subscribe({
23
+ next: (value) => {
24
+ store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));
25
+ if (item.getterParams?.callbackAction) {
26
+ store.dispatchActionType(item.getterParams.callbackAction);
27
+ }
28
+ },
29
+ error: (error) => {
30
+ console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);
31
+ if (item.getterParams?.errorNotificationMessage) {
32
+ this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));
33
+ }
34
+ store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error));
26
35
  }
27
- },
28
- error: (error) => {
29
- console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);
30
- if (item.getterParams?.errorNotificationMessage) {
31
- this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));
32
- }
33
- store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error));
34
- }
36
+ });
35
37
  });
36
38
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, deps: [{ token: NGSSM_REMOTE_DATA_PROVIDER, optional: true }, { token: i1.NgssmNotifierService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, deps: [{ token: NGSSM_REMOTE_DATA_PROVIDER, optional: true }, { token: i1.NgssmNotifierService }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
40
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect }); }
39
41
  }
40
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, decorators: [{
@@ -44,10 +46,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
44
46
  args: [NGSSM_REMOTE_DATA_PROVIDER]
45
47
  }, {
46
48
  type: Optional
47
- }] }, { type: i1.NgssmNotifierService }]; } });
48
- export const remoteDataLoadingEffectProvider = {
49
- provide: NGSSM_EFFECT,
50
- useClass: RemoteDataLoadingEffect,
51
- multi: true
52
- };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtbG9hZGluZy5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL3JlbW90ZS1kYXRhL2VmZmVjdHMvcmVtb3RlLWRhdGEtbG9hZGluZy5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBZ0MsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pFLE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEcsT0FBTyxFQUFFLFVBQVUsRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHakQsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUNrRCxtQkFBeUMsRUFDakYsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBSi9CLHFCQUFnQixHQUFhLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7UUFNakYsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksR0FBRyxDQUE2QixDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVksRUFBRSxLQUFZLEVBQUUsTUFBYztRQUM3RCxNQUFNLG9CQUFvQixHQUFHLE1BQThCLENBQUM7UUFDNUQsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4RixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUM1RCxPQUFPO1NBQ1I7UUFFRCxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZILElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUU7b0JBQ3JDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUM1RDtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixvQkFBb0IsQ0FBQyxhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDeEYsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLHdCQUF3QixFQUFFO29CQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUM1RjtnQkFFRCxLQUFLLENBQUMsY0FBYyxDQUNsQixJQUFJLDhCQUE4QixDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQ2xILENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2Q1UsdUJBQXVCLGtCQU14QiwwQkFBMEI7a0hBTnpCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBT04sTUFBTTsyQkFBQywwQkFBMEI7OzBCQUFHLFFBQVE7O0FBb0NqRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBYTtJQUN2RCxPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsdUJBQXVCO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVmZmVjdCwgU3RvcmUsIFN0YXRlLCBBY3Rpb24sIE5HU1NNX0VGRkVDVCB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IE5nc3NtTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnbmdzc20tdG9vbGtpdCc7XG5cbmltcG9ydCB7IExvYWRSZW1vdGVEYXRhQWN0aW9uLCBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24sIFJlbW90ZURhdGFBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBEYXRhU3RhdHVzLCBSZW1vdGVEYXRhUHJvdmlkZXIsIE5HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0UmVtb3RlRGF0YVN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVtb3RlRGF0YUxvYWRpbmdFZmZlY3QgaW1wbGVtZW50cyBFZmZlY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbW90ZURhdGFQcm92aWRlcnNQZXJLZXk6IE1hcDxzdHJpbmcsIFJlbW90ZURhdGFQcm92aWRlcj47XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1JlbW90ZURhdGFBY3Rpb25UeXBlLmxvYWRSZW1vdGVEYXRhXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSKSBAT3B0aW9uYWwoKSByZW1vdGVEYXRhUHJvdmlkZXJzOiBSZW1vdGVEYXRhUHJvdmlkZXJbXSxcbiAgICBwcml2YXRlIG5vdGlmaWVyU2VydmljZTogTmdzc21Ob3RpZmllclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZW1vdGVEYXRhUHJvdmlkZXJzUGVyS2V5ID0gbmV3IE1hcDxzdHJpbmcsIFJlbW90ZURhdGFQcm92aWRlcj4oKHJlbW90ZURhdGFQcm92aWRlcnMgPz8gW10pLm1hcCgocikgPT4gW3IucmVtb3RlRGF0YUtleSwgcl0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzQWN0aW9uKHN0b3JlOiBTdG9yZSwgc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRSZW1vdGVEYXRhQWN0aW9uID0gYWN0aW9uIGFzIExvYWRSZW1vdGVEYXRhQWN0aW9uO1xuICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3RSZW1vdGVEYXRhU3RhdGUoc3RhdGUpW2xvYWRSZW1vdGVEYXRhQWN0aW9uLnJlbW90ZURhdGFLZXldO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5yZW1vdGVEYXRhUHJvdmlkZXJzUGVyS2V5LmdldChsb2FkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVEYXRhS2V5KTtcblxuICAgIGlmICghaXRlbSB8fCAhcHJvdmlkZXIgfHwgaXRlbS5zdGF0dXMgIT09IERhdGFTdGF0dXMubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHByb3ZpZGVyLmdldChpdGVtLmdldHRlclBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBzdG9yZS5kaXNwYXRjaEFjdGlvbihuZXcgUmVnaXN0ZXJMb2FkZWRSZW1vdGVEYXRhQWN0aW9uKGxvYWRSZW1vdGVEYXRhQWN0aW9uLnJlbW90ZURhdGFLZXksIERhdGFTdGF0dXMubG9hZGVkLCB2YWx1ZSkpO1xuICAgICAgICBpZiAoaXRlbS5nZXR0ZXJQYXJhbXM/LmNhbGxiYWNrQWN0aW9uKSB7XG4gICAgICAgICAgc3RvcmUuZGlzcGF0Y2hBY3Rpb25UeXBlKGl0ZW0uZ2V0dGVyUGFyYW1zLmNhbGxiYWNrQWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVW5hYmxlIHRvIGxvYWQgZGF0YSBmb3IgJyR7bG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleX0nYCwgZXJyb3IpO1xuICAgICAgICBpZiAoaXRlbS5nZXR0ZXJQYXJhbXM/LmVycm9yTm90aWZpY2F0aW9uTWVzc2FnZSkge1xuICAgICAgICAgIHRoaXMubm90aWZpZXJTZXJ2aWNlLm5vdGlmeUVycm9yKGl0ZW0uZ2V0dGVyUGFyYW1zLmVycm9yTm90aWZpY2F0aW9uTWVzc2FnZShlcnJvcj8uZXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0b3JlLmRpc3BhdGNoQWN0aW9uKFxuICAgICAgICAgIG5ldyBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24obG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleSwgRGF0YVN0YXR1cy5lcnJvciwgdW5kZWZpbmVkLCBlcnJvcj8uZXJyb3IpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlbW90ZURhdGFMb2FkaW5nRWZmZWN0UHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR1NTTV9FRkZFQ1QsXG4gIHVzZUNsYXNzOiBSZW1vdGVEYXRhTG9hZGluZ0VmZmVjdCxcbiAgbXVsdGk6IHRydWVcbn07XG4iXX0=
49
+ }] }, { type: i1.NgssmNotifierService }, { type: i0.EnvironmentInjector }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtbG9hZGluZy5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL3JlbW90ZS1kYXRhL2VmZmVjdHMvcmVtb3RlLWRhdGEtbG9hZGluZy5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt6RyxPQUFPLEVBQXdCLDhCQUE4QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxVQUFVLEVBQXNCLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFDa0QsbUJBQXlDLEVBQ2pGLGVBQXFDLEVBQ3JDLFFBQTZCO1FBRDdCLG9CQUFlLEdBQWYsZUFBZSxDQUFzQjtRQUNyQyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUx2QixxQkFBZ0IsR0FBYSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBT2pGLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLEdBQUcsQ0FBNkIsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZLEVBQUUsS0FBWSxFQUFFLE1BQWM7UUFDN0QsTUFBTSxvQkFBb0IsR0FBRyxNQUE4QixDQUFDO1FBQzVELE1BQU0sSUFBSSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDNUQsT0FBTztTQUNSO1FBRUQscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDeEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUN4QyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDZCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksOEJBQThCLENBQUMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDdkgsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRTt3QkFDckMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7cUJBQzVEO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsb0JBQW9CLENBQUMsYUFBYSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ3hGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRTt3QkFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztxQkFDNUY7b0JBRUQsS0FBSyxDQUFDLGNBQWMsQ0FDbEIsSUFBSSw4QkFBOEIsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUNsSCxDQUFDO2dCQUNKLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUNVLHVCQUF1QixrQkFNeEIsMEJBQTBCO2tIQU56Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsMEJBQTBCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVmZmVjdCwgU3RvcmUsIFN0YXRlLCBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5pbXBvcnQgeyBOZ3NzbU5vdGlmaWVyU2VydmljZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBMb2FkUmVtb3RlRGF0YUFjdGlvbiwgUmVnaXN0ZXJMb2FkZWRSZW1vdGVEYXRhQWN0aW9uLCBSZW1vdGVEYXRhQWN0aW9uVHlwZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgRGF0YVN0YXR1cywgUmVtb3RlRGF0YVByb3ZpZGVyLCBOR1NTTV9SRU1PVEVfREFUQV9QUk9WSURFUiB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdFJlbW90ZURhdGFTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW90ZURhdGFMb2FkaW5nRWZmZWN0IGltcGxlbWVudHMgRWZmZWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdGVEYXRhUHJvdmlkZXJzUGVyS2V5OiBNYXA8c3RyaW5nLCBSZW1vdGVEYXRhUHJvdmlkZXI+O1xuXG4gIHB1YmxpYyByZWFkb25seSBwcm9jZXNzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtSZW1vdGVEYXRhQWN0aW9uVHlwZS5sb2FkUmVtb3RlRGF0YV07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1NTTV9SRU1PVEVfREFUQV9QUk9WSURFUikgQE9wdGlvbmFsKCkgcmVtb3RlRGF0YVByb3ZpZGVyczogUmVtb3RlRGF0YVByb3ZpZGVyW10sXG4gICAgcHJpdmF0ZSBub3RpZmllclNlcnZpY2U6IE5nc3NtTm90aWZpZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5yZW1vdGVEYXRhUHJvdmlkZXJzUGVyS2V5ID0gbmV3IE1hcDxzdHJpbmcsIFJlbW90ZURhdGFQcm92aWRlcj4oKHJlbW90ZURhdGFQcm92aWRlcnMgPz8gW10pLm1hcCgocikgPT4gW3IucmVtb3RlRGF0YUtleSwgcl0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzQWN0aW9uKHN0b3JlOiBTdG9yZSwgc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRSZW1vdGVEYXRhQWN0aW9uID0gYWN0aW9uIGFzIExvYWRSZW1vdGVEYXRhQWN0aW9uO1xuICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3RSZW1vdGVEYXRhU3RhdGUoc3RhdGUpW2xvYWRSZW1vdGVEYXRhQWN0aW9uLnJlbW90ZURhdGFLZXldO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5yZW1vdGVEYXRhUHJvdmlkZXJzUGVyS2V5LmdldChsb2FkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVEYXRhS2V5KTtcblxuICAgIGlmICghaXRlbSB8fCAhcHJvdmlkZXIgfHwgaXRlbS5zdGF0dXMgIT09IERhdGFTdGF0dXMubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICBwcm92aWRlci5nZXQoaXRlbS5nZXR0ZXJQYXJhbXMpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHN0b3JlLmRpc3BhdGNoQWN0aW9uKG5ldyBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24obG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleSwgRGF0YVN0YXR1cy5sb2FkZWQsIHZhbHVlKSk7XG4gICAgICAgICAgaWYgKGl0ZW0uZ2V0dGVyUGFyYW1zPy5jYWxsYmFja0FjdGlvbikge1xuICAgICAgICAgICAgc3RvcmUuZGlzcGF0Y2hBY3Rpb25UeXBlKGl0ZW0uZ2V0dGVyUGFyYW1zLmNhbGxiYWNrQWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBVbmFibGUgdG8gbG9hZCBkYXRhIGZvciAnJHtsb2FkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVEYXRhS2V5fSdgLCBlcnJvcik7XG4gICAgICAgICAgaWYgKGl0ZW0uZ2V0dGVyUGFyYW1zPy5lcnJvck5vdGlmaWNhdGlvbk1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpZXJTZXJ2aWNlLm5vdGlmeUVycm9yKGl0ZW0uZ2V0dGVyUGFyYW1zLmVycm9yTm90aWZpY2F0aW9uTWVzc2FnZShlcnJvcj8uZXJyb3IpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdG9yZS5kaXNwYXRjaEFjdGlvbihcbiAgICAgICAgICAgIG5ldyBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24obG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleSwgRGF0YVN0YXR1cy5lcnJvciwgdW5kZWZpbmVkLCBlcnJvcj8uZXJyb3IpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -24,7 +24,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
24
24
  }]
25
25
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
26
26
  export const ngssmReloadRemoteData = (remoteDataKey, params = { forceReload: true }) => {
27
- inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));
28
- return true;
27
+ return () => {
28
+ inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));
29
+ return true;
30
+ };
29
31
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtbG9hZGluZy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvZ3VhcmRzL3JlbW90ZS1kYXRhLWxvYWRpbmcuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQWVsRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztJQUU3QixXQUFXLENBQUMsS0FBNkI7UUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQXdDLENBQUM7UUFDbEUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FWVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQWNELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQWMsYUFBcUIsRUFBRSxTQUE4QixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBVyxFQUFFO0lBQ3hJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBMb2FkUmVtb3RlRGF0YUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgUmVsb2FkUGFyYW1zIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZURhdGFMb2FkaW5nR3VhcmRJdGVtIHtcbiAgcmVtb3RlRGF0YUtleTogc3RyaW5nO1xuICBmb3JjZVJlbG9hZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlRGF0YUxvYWRpbmdHdWFyZFBhcmFtZXRlcnMge1xuICByZW1vdGVEYXRhSXRlbXM6IFJlbW90ZURhdGFMb2FkaW5nR3VhcmRJdGVtW107XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZURhdGFMb2FkaW5nR3VhcmQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSByb3V0ZS5kYXRhIGFzIFJlbW90ZURhdGFMb2FkaW5nR3VhcmRQYXJhbWV0ZXJzO1xuICAgIChwYXJhbWV0ZXJzPy5yZW1vdGVEYXRhSXRlbXMgPz8gW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2hBY3Rpb24obmV3IExvYWRSZW1vdGVEYXRhQWN0aW9uKGl0ZW0ucmVtb3RlRGF0YUtleSwgeyBmb3JjZVJlbG9hZDogaXRlbS5mb3JjZVJlbG9hZCA9PT0gdHJ1ZSB9KSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgbmdzc21SZWxvYWRSZW1vdGVEYXRhID0gPFREYXRhID0gYW55PihyZW1vdGVEYXRhS2V5OiBzdHJpbmcsIHBhcmFtczogUmVsb2FkUGFyYW1zPFREYXRhPiA9IHsgZm9yY2VSZWxvYWQ6IHRydWUgfSk6IGJvb2xlYW4gPT4ge1xuICBpbmplY3QoU3RvcmUpLmRpc3BhdGNoQWN0aW9uKG5ldyBMb2FkUmVtb3RlRGF0YUFjdGlvbihyZW1vdGVEYXRhS2V5LCBwYXJhbXMpKTtcbiAgcmV0dXJuIHRydWU7XG59O1xuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtbG9hZGluZy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvZ3VhcmRzL3JlbW90ZS1kYXRhLWxvYWRpbmcuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQWVsRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztJQUU3QixXQUFXLENBQUMsS0FBNkI7UUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQXdDLENBQUM7UUFDbEUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FWVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQWNELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGFBQXFCLEVBQ3JCLFNBQThCLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUNsQyxFQUFFO0lBQ25CLE9BQU8sR0FBRyxFQUFFO1FBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IExvYWRSZW1vdGVEYXRhQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBSZWxvYWRQYXJhbXMgfSBmcm9tICcuLi9tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlRGF0YUxvYWRpbmdHdWFyZEl0ZW0ge1xuICByZW1vdGVEYXRhS2V5OiBzdHJpbmc7XG4gIGZvcmNlUmVsb2FkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVEYXRhTG9hZGluZ0d1YXJkUGFyYW1ldGVycyB7XG4gIHJlbW90ZURhdGFJdGVtczogUmVtb3RlRGF0YUxvYWRpbmdHdWFyZEl0ZW1bXTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlRGF0YUxvYWRpbmdHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHJvdXRlLmRhdGEgYXMgUmVtb3RlRGF0YUxvYWRpbmdHdWFyZFBhcmFtZXRlcnM7XG4gICAgKHBhcmFtZXRlcnM/LnJlbW90ZURhdGFJdGVtcyA/PyBbXSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaEFjdGlvbihuZXcgTG9hZFJlbW90ZURhdGFBY3Rpb24oaXRlbS5yZW1vdGVEYXRhS2V5LCB7IGZvcmNlUmVsb2FkOiBpdGVtLmZvcmNlUmVsb2FkID09PSB0cnVlIH0pKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBuZ3NzbVJlbG9hZFJlbW90ZURhdGEgPSA8VERhdGEgPSBhbnk+KFxuICByZW1vdGVEYXRhS2V5OiBzdHJpbmcsXG4gIHBhcmFtczogUmVsb2FkUGFyYW1zPFREYXRhPiA9IHsgZm9yY2VSZWxvYWQ6IHRydWUgfVxuKTogKCgpID0+IGJvb2xlYW4pID0+IHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpbmplY3QoU3RvcmUpLmRpc3BhdGNoQWN0aW9uKG5ldyBMb2FkUmVtb3RlRGF0YUFjdGlvbihyZW1vdGVEYXRhS2V5LCBwYXJhbXMpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcbn07XG4iXX0=
@@ -1,3 +1,22 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
2
  export const NGSSM_REMOTE_DATA_PROVIDER = new InjectionToken('NGSSM_REMOTE_DATA_PROVIDER');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL3JlbW90ZS1kYXRhL21vZGVsL3JlbW90ZS1kYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFXL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQXFCLDRCQUE0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVtb3RlRGF0YUdldHRlclBhcmFtcyB9IGZyb20gJy4vcmVtb3RlLWRhdGEtZ2V0dGVyLXBhcmFtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlRGF0YVByb3ZpZGVyPFREYXRhID0gYW55LCBUVmFsdWUgPSBhbnk+IHtcbiAgcmVhZG9ubHkgcmVtb3RlRGF0YUtleTogc3RyaW5nO1xuICByZWFkb25seSBjYWNoZUR1cmF0aW9uSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIGdldChwYXJhbXM/OiBSZW1vdGVEYXRhR2V0dGVyUGFyYW1zPFRWYWx1ZT4pOiBPYnNlcnZhYmxlPFREYXRhPjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPFJlbW90ZURhdGFQcm92aWRlcj4oJ05HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSJyk7XG4iXX0=
3
+ export const provideRemoteDataProviders = (...providers) => {
4
+ return makeEnvironmentProviders(providers.map((provider) => ({ provide: NGSSM_REMOTE_DATA_PROVIDER, useClass: provider, multi: true })));
5
+ };
6
+ export const provideRemoteDataFunc = (remoteDataKey, remoteDataLoadingFunc, cacheDurationInSeconds) => {
7
+ return makeEnvironmentProviders([
8
+ {
9
+ provide: NGSSM_REMOTE_DATA_PROVIDER,
10
+ useFactory: () => {
11
+ const provider = {
12
+ remoteDataKey,
13
+ cacheDurationInSeconds,
14
+ get: remoteDataLoadingFunc
15
+ };
16
+ return provider;
17
+ },
18
+ multi: true
19
+ }
20
+ ]);
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1yZW1vdGUtZGF0YS9zcmMvbGliL3JlbW90ZS1kYXRhL21vZGVsL3JlbW90ZS1kYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsY0FBYyxFQUFRLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBV3JHLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFxQiw0QkFBNEIsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsR0FBRyxTQUFxQyxFQUF3QixFQUFFO0lBQzNHLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzSSxDQUFDLENBQUM7QUFNRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxhQUFxQixFQUNyQixxQkFBMkQsRUFDM0Qsc0JBQStCLEVBQ1QsRUFBRTtJQUN4QixPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxVQUFVLEVBQUUsR0FBRyxFQUFFO2dCQUNmLE1BQU0sUUFBUSxHQUFzQztvQkFDbEQsYUFBYTtvQkFDYixzQkFBc0I7b0JBQ3RCLEdBQUcsRUFBRSxxQkFBcUI7aUJBQzNCLENBQUM7Z0JBQ0YsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztZQUNELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIFR5cGUsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVtb3RlRGF0YUdldHRlclBhcmFtcyB9IGZyb20gJy4vcmVtb3RlLWRhdGEtZ2V0dGVyLXBhcmFtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlRGF0YVByb3ZpZGVyPFREYXRhID0gYW55LCBUVmFsdWUgPSBhbnk+IHtcbiAgcmVhZG9ubHkgcmVtb3RlRGF0YUtleTogc3RyaW5nO1xuICByZWFkb25seSBjYWNoZUR1cmF0aW9uSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIGdldChwYXJhbXM/OiBSZW1vdGVEYXRhR2V0dGVyUGFyYW1zPFRWYWx1ZT4pOiBPYnNlcnZhYmxlPFREYXRhPjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPFJlbW90ZURhdGFQcm92aWRlcj4oJ05HU1NNX1JFTU9URV9EQVRBX1BST1ZJREVSJyk7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlUmVtb3RlRGF0YVByb3ZpZGVycyA9ICguLi5wcm92aWRlcnM6IFR5cGU8UmVtb3RlRGF0YVByb3ZpZGVyPltdKTogRW52aXJvbm1lbnRQcm92aWRlcnMgPT4ge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycy5tYXAoKHByb3ZpZGVyKSA9PiAoeyBwcm92aWRlOiBOR1NTTV9SRU1PVEVfREFUQV9QUk9WSURFUiwgdXNlQ2xhc3M6IHByb3ZpZGVyLCBtdWx0aTogdHJ1ZSB9KSkpO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVEYXRhTG9hZGluZ0Z1bmM8VERhdGEgPSBhbnksIFRWYWx1ZSA9IGFueT4ge1xuICAocGFyYW1zPzogUmVtb3RlRGF0YUdldHRlclBhcmFtczxUVmFsdWU+KTogT2JzZXJ2YWJsZTxURGF0YT47XG59XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlUmVtb3RlRGF0YUZ1bmMgPSA8VERhdGEgPSBhbnksIFRWYWx1ZSA9IGFueT4oXG4gIHJlbW90ZURhdGFLZXk6IHN0cmluZyxcbiAgcmVtb3RlRGF0YUxvYWRpbmdGdW5jOiBSZW1vdGVEYXRhTG9hZGluZ0Z1bmM8VERhdGEsIFRWYWx1ZT4sXG4gIGNhY2hlRHVyYXRpb25JblNlY29uZHM/OiBudW1iZXJcbik6IEVudmlyb25tZW50UHJvdmlkZXJzID0+IHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdTU01fUkVNT1RFX0RBVEFfUFJPVklERVIsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyOiBSZW1vdGVEYXRhUHJvdmlkZXI8VERhdGEsIFRWYWx1ZT4gPSB7XG4gICAgICAgICAgcmVtb3RlRGF0YUtleSxcbiAgICAgICAgICBjYWNoZUR1cmF0aW9uSW5TZWNvbmRzLFxuICAgICAgICAgIGdldDogcmVtb3RlRGF0YUxvYWRpbmdGdW5jXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBwcm92aWRlcjtcbiAgICAgIH0sXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSk7XG59O1xuIl19
@@ -1,14 +1,13 @@
1
1
  import { makeEnvironmentProviders } from '@angular/core';
2
- import { NGSSM_STATE_INITIALIZER } from 'ngssm-store';
3
- import { cachesDisplayEffectProvider, remoteDataLoadingEffectProvider } from './effects';
4
- import { remoteDataReducerProvider } from './reducers/remote-data.reducer';
2
+ import { NGSSM_STATE_INITIALIZER, provideEffects, provideReducer } from 'ngssm-store';
3
+ import { CachesDisplayEffect, RemoteDataLoadingEffect } from './effects';
4
+ import { RemoteDataReducer } from './reducers/remote-data.reducer';
5
5
  import { RemoteDataStateInitializer } from './remote-data-state-initializer';
6
6
  export const provideNgssmRemoteData = () => {
7
7
  return makeEnvironmentProviders([
8
- remoteDataReducerProvider,
9
- remoteDataLoadingEffectProvider,
10
- cachesDisplayEffectProvider,
8
+ provideReducer(RemoteDataReducer),
9
+ provideEffects(CachesDisplayEffect, RemoteDataLoadingEffect),
11
10
  { provide: NGSSM_STATE_INITIALIZER, useClass: RemoteDataStateInitializer, multi: true }
12
11
  ]);
13
12
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1yZW1vdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvcHJvdmlkZS1uZ3NzbS1yZW1vdGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBeUIsRUFBRTtJQUMvRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLHlCQUF5QjtRQUN6QiwrQkFBK0I7UUFDL0IsMkJBQTJCO1FBQzNCLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQ3hGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTkdTU01fU1RBVEVfSU5JVElBTElaRVIgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IGNhY2hlc0Rpc3BsYXlFZmZlY3RQcm92aWRlciwgcmVtb3RlRGF0YUxvYWRpbmdFZmZlY3RQcm92aWRlciB9IGZyb20gJy4vZWZmZWN0cyc7XG5pbXBvcnQgeyByZW1vdGVEYXRhUmVkdWNlclByb3ZpZGVyIH0gZnJvbSAnLi9yZWR1Y2Vycy9yZW1vdGUtZGF0YS5yZWR1Y2VyJztcbmltcG9ydCB7IFJlbW90ZURhdGFTdGF0ZUluaXRpYWxpemVyIH0gZnJvbSAnLi9yZW1vdGUtZGF0YS1zdGF0ZS1pbml0aWFsaXplcic7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlTmdzc21SZW1vdGVEYXRhID0gKCk6IEVudmlyb25tZW50UHJvdmlkZXJzID0+IHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgcmVtb3RlRGF0YVJlZHVjZXJQcm92aWRlcixcbiAgICByZW1vdGVEYXRhTG9hZGluZ0VmZmVjdFByb3ZpZGVyLFxuICAgIGNhY2hlc0Rpc3BsYXlFZmZlY3RQcm92aWRlcixcbiAgICB7IHByb3ZpZGU6IE5HU1NNX1NUQVRFX0lOSVRJQUxJWkVSLCB1c2VDbGFzczogUmVtb3RlRGF0YVN0YXRlSW5pdGlhbGl6ZXIsIG11bHRpOiB0cnVlIH1cbiAgXSk7XG59O1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1yZW1vdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvcHJvdmlkZS1uZ3NzbS1yZW1vdGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUF5QixFQUFFO0lBQy9ELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsY0FBYyxDQUFDLGlCQUFpQixDQUFDO1FBQ2pDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQztRQUM1RCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtLQUN4RixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5HU1NNX1NUQVRFX0lOSVRJQUxJWkVSLCBwcm92aWRlRWZmZWN0cywgcHJvdmlkZVJlZHVjZXIgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IENhY2hlc0Rpc3BsYXlFZmZlY3QsIFJlbW90ZURhdGFMb2FkaW5nRWZmZWN0IH0gZnJvbSAnLi9lZmZlY3RzJztcbmltcG9ydCB7IFJlbW90ZURhdGFSZWR1Y2VyIH0gZnJvbSAnLi9yZWR1Y2Vycy9yZW1vdGUtZGF0YS5yZWR1Y2VyJztcbmltcG9ydCB7IFJlbW90ZURhdGFTdGF0ZUluaXRpYWxpemVyIH0gZnJvbSAnLi9yZW1vdGUtZGF0YS1zdGF0ZS1pbml0aWFsaXplcic7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlTmdzc21SZW1vdGVEYXRhID0gKCk6IEVudmlyb25tZW50UHJvdmlkZXJzID0+IHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgcHJvdmlkZVJlZHVjZXIoUmVtb3RlRGF0YVJlZHVjZXIpLFxuICAgIHByb3ZpZGVFZmZlY3RzKENhY2hlc0Rpc3BsYXlFZmZlY3QsIFJlbW90ZURhdGFMb2FkaW5nRWZmZWN0KSxcbiAgICB7IHByb3ZpZGU6IE5HU1NNX1NUQVRFX0lOSVRJQUxJWkVSLCB1c2VDbGFzczogUmVtb3RlRGF0YVN0YXRlSW5pdGlhbGl6ZXIsIG11bHRpOiB0cnVlIH1cbiAgXSk7XG59O1xuIl19
@@ -1,5 +1,4 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
- import { NGSSM_REDUCER } from 'ngssm-store';
3
2
  import { RemoteDataActionType } from '../actions';
4
3
  import { DataStatus, NGSSM_REMOTE_DATA_PROVIDER } from '../model';
5
4
  import { selectRemoteDataState, updateRemoteDataState } from '../state';
@@ -71,9 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
71
70
  }, {
72
71
  type: Optional
73
72
  }] }]; } });
74
- export const remoteDataReducerProvider = {
75
- provide: NGSSM_REDUCER,
76
- useClass: RemoteDataReducer,
77
- multi: true
78
- };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvcmVkdWNlcnMvcmVtb3RlLWRhdGEucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFrQixhQUFhLEVBQVUsTUFBTSxhQUFhLENBQUM7QUFFcEUsT0FBTyxFQUF3RCxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFzQiwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3hFLE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBNEQsbUJBQXlDO1FBRnJGLHFCQUFnQixHQUFhLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFHaEksSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksR0FBRyxDQUE2QixDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVksRUFBRSxNQUFjO1FBQzdDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNuQixLQUFLLG9CQUFvQixDQUFDLGNBQWM7Z0JBQ3RDLE1BQU0sb0JBQW9CLEdBQUcsTUFBOEIsQ0FBQztnQkFDNUQsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1QsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDeEYsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDYixPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFFRCxJQUNFLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtvQkFDaEMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLFdBQVcsS0FBSyxJQUFJO29CQUNqRCxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJO29CQUMvQixJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxLQUFLO29CQUNoQyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxRQUFRO29CQUNuQyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNmLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixFQUN6RjtvQkFDQSxPQUFPLHFCQUFxQixDQUFDLEtBQUssRUFBRTt3QkFDbEMsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsRUFBRTs0QkFDcEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUU7NEJBQ3BDLFlBQVksRUFBRTtnQ0FDWixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQ0FDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEtBQUssSUFBSSxFQUFFO3dDQUMvRixPQUFPLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7cUNBQzVDO29DQUVELE9BQU8sS0FBSyxDQUFDO2dDQUNmLENBQUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLHdCQUF3QjtnQkFDaEQsTUFBTSw4QkFBOEIsR0FBRyxNQUF3QyxDQUFDO2dCQUNoRixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3BGLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFO3dCQUNsQyxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxFQUFFOzRCQUM5QyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsOEJBQThCLENBQUMsTUFBTSxFQUFFOzRCQUN2RCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsOEJBQThCLENBQUMsSUFBSSxFQUFFOzRCQUNuRCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRTs0QkFDL0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixDQUFDLE9BQU8sRUFBRTs0QkFDekQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixDQUFDLGVBQWUsRUFBRTt5QkFDaEU7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU07U0FDVDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FwRVUsaUJBQWlCLGtCQUtSLDBCQUEwQjtrSEFMbkMsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFNSSxNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQUcsUUFBUTs7QUFrRTNELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFhO0lBQ2pELE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVkdWNlciwgU3RhdGUsIE5HU1NNX1JFRFVDRVIsIEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTG9hZFJlbW90ZURhdGFBY3Rpb24sIFJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbiwgUmVtb3RlRGF0YUFjdGlvblR5cGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IERhdGFTdGF0dXMsIFJlbW90ZURhdGFQcm92aWRlciwgTkdTU01fUkVNT1RFX0RBVEFfUFJPVklERVIgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3RSZW1vdGVEYXRhU3RhdGUsIHVwZGF0ZVJlbW90ZURhdGFTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW90ZURhdGFSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVtb3RlRGF0YVByb3ZpZGVyc1BlcktleTogTWFwPHN0cmluZywgUmVtb3RlRGF0YVByb3ZpZGVyPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc2VkQWN0aW9uczogc3RyaW5nW10gPSBbUmVtb3RlRGF0YUFjdGlvblR5cGUubG9hZFJlbW90ZURhdGEsIFJlbW90ZURhdGFBY3Rpb25UeXBlLnJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YV07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1NTTV9SRU1PVEVfREFUQV9QUk9WSURFUikgQE9wdGlvbmFsKCkgcmVtb3RlRGF0YVByb3ZpZGVyczogUmVtb3RlRGF0YVByb3ZpZGVyW10pIHtcbiAgICB0aGlzLnJlbW90ZURhdGFQcm92aWRlcnNQZXJLZXkgPSBuZXcgTWFwPHN0cmluZywgUmVtb3RlRGF0YVByb3ZpZGVyPigocmVtb3RlRGF0YVByb3ZpZGVycyA/PyBbXSkubWFwKChyKSA9PiBbci5yZW1vdGVEYXRhS2V5LCByXSkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5sb2FkUmVtb3RlRGF0YTpcbiAgICAgICAgY29uc3QgbG9hZFJlbW90ZURhdGFBY3Rpb24gPSBhY3Rpb24gYXMgTG9hZFJlbW90ZURhdGFBY3Rpb247XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3RSZW1vdGVEYXRhU3RhdGUoc3RhdGUpW2xvYWRSZW1vdGVEYXRhQWN0aW9uLnJlbW90ZURhdGFLZXldO1xuICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucmVtb3RlRGF0YVByb3ZpZGVyc1BlcktleS5nZXQobG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleSk7XG4gICAgICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXByb3ZpZGVyLmNhY2hlRHVyYXRpb25JblNlY29uZHMgfHxcbiAgICAgICAgICBsb2FkUmVtb3RlRGF0YUFjdGlvbi5wYXJhbXM/LmZvcmNlUmVsb2FkID09PSB0cnVlIHx8XG4gICAgICAgICAgaXRlbS5zdGF0dXMgPT09IERhdGFTdGF0dXMubm9uZSB8fFxuICAgICAgICAgIGl0ZW0uc3RhdHVzID09PSBEYXRhU3RhdHVzLmVycm9yIHx8XG4gICAgICAgICAgaXRlbS5zdGF0dXMgPT09IERhdGFTdGF0dXMubm90Rm91bmQgfHxcbiAgICAgICAgICAhaXRlbS50aW1lc3RhbXAgfHxcbiAgICAgICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGl0ZW0udGltZXN0YW1wLmdldFRpbWUoKSA+PSAxMDAwICogcHJvdmlkZXIuY2FjaGVEdXJhdGlvbkluU2Vjb25kc1xuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlUmVtb3RlRGF0YVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgICBbbG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleV06IHtcbiAgICAgICAgICAgICAgc3RhdHVzOiB7ICRzZXQ6IERhdGFTdGF0dXMubG9hZGluZyB9LFxuICAgICAgICAgICAgICBnZXR0ZXJQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAkYXBwbHk6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKCFsb2FkUmVtb3RlRGF0YUFjdGlvbi5wYXJhbXMgfHwgbG9hZFJlbW90ZURhdGFBY3Rpb24ucGFyYW1zLmtlZXBTdG9yZWRHZXR0ZXJQYXJhbXMgIT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRSZW1vdGVEYXRhQWN0aW9uLnBhcmFtcz8ucGFyYW1zO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5yZWdpc3RlckxvYWRlZFJlbW90ZURhdGE6XG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbiA9IGFjdGlvbiBhcyBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb247XG4gICAgICAgIGlmICh0aGlzLnJlbW90ZURhdGFQcm92aWRlcnNQZXJLZXkuaGFzKHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVEYXRhS2V5KSkge1xuICAgICAgICAgIHJldHVybiB1cGRhdGVSZW1vdGVEYXRhU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICAgIFtyZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleV06IHtcbiAgICAgICAgICAgICAgc3RhdHVzOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5zdGF0dXMgfSxcbiAgICAgICAgICAgICAgZGF0YTogeyAkc2V0OiByZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24uZGF0YSB9LFxuICAgICAgICAgICAgICB0aW1lc3RhbXA6IHsgJHNldDogbmV3IERhdGUoKSB9LFxuICAgICAgICAgICAgICBtZXNzYWdlOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5tZXNzYWdlIH0sXG4gICAgICAgICAgICAgIGVycm9yOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVDYWxsRXJyb3IgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCByZW1vdGVEYXRhUmVkdWNlclByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdTU01fUkVEVUNFUixcbiAgdXNlQ2xhc3M6IFJlbW90ZURhdGFSZWR1Y2VyLFxuICBtdWx0aTogdHJ1ZVxufTtcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWRhdGEucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXJlbW90ZS1kYXRhL3NyYy9saWIvcmVtb3RlLWRhdGEvcmVkdWNlcnMvcmVtb3RlLWRhdGEucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0QsT0FBTyxFQUF3RCxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFzQiwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3hFLE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBNEQsbUJBQXlDO1FBRnJGLHFCQUFnQixHQUFhLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFHaEksSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksR0FBRyxDQUE2QixDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVksRUFBRSxNQUFjO1FBQzdDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNuQixLQUFLLG9CQUFvQixDQUFDLGNBQWM7Z0JBQ3RDLE1BQU0sb0JBQW9CLEdBQUcsTUFBOEIsQ0FBQztnQkFDNUQsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1QsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDeEYsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDYixPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFFRCxJQUNFLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtvQkFDaEMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLFdBQVcsS0FBSyxJQUFJO29CQUNqRCxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJO29CQUMvQixJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxLQUFLO29CQUNoQyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxRQUFRO29CQUNuQyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNmLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixFQUN6RjtvQkFDQSxPQUFPLHFCQUFxQixDQUFDLEtBQUssRUFBRTt3QkFDbEMsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsRUFBRTs0QkFDcEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUU7NEJBQ3BDLFlBQVksRUFBRTtnQ0FDWixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQ0FDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEtBQUssSUFBSSxFQUFFO3dDQUMvRixPQUFPLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7cUNBQzVDO29DQUVELE9BQU8sS0FBSyxDQUFDO2dDQUNmLENBQUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLHdCQUF3QjtnQkFDaEQsTUFBTSw4QkFBOEIsR0FBRyxNQUF3QyxDQUFDO2dCQUNoRixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3BGLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFO3dCQUNsQyxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxFQUFFOzRCQUM5QyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsOEJBQThCLENBQUMsTUFBTSxFQUFFOzRCQUN2RCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsOEJBQThCLENBQUMsSUFBSSxFQUFFOzRCQUNuRCxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRTs0QkFDL0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixDQUFDLE9BQU8sRUFBRTs0QkFDekQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixDQUFDLGVBQWUsRUFBRTt5QkFDaEU7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU07U0FDVDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FwRVUsaUJBQWlCLGtCQUtSLDBCQUEwQjtrSEFMbkMsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFNSSxNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVkdWNlciwgU3RhdGUsIEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTG9hZFJlbW90ZURhdGFBY3Rpb24sIFJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbiwgUmVtb3RlRGF0YUFjdGlvblR5cGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IERhdGFTdGF0dXMsIFJlbW90ZURhdGFQcm92aWRlciwgTkdTU01fUkVNT1RFX0RBVEFfUFJPVklERVIgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3RSZW1vdGVEYXRhU3RhdGUsIHVwZGF0ZVJlbW90ZURhdGFTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW90ZURhdGFSZWR1Y2VyIGltcGxlbWVudHMgUmVkdWNlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVtb3RlRGF0YVByb3ZpZGVyc1BlcktleTogTWFwPHN0cmluZywgUmVtb3RlRGF0YVByb3ZpZGVyPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc2VkQWN0aW9uczogc3RyaW5nW10gPSBbUmVtb3RlRGF0YUFjdGlvblR5cGUubG9hZFJlbW90ZURhdGEsIFJlbW90ZURhdGFBY3Rpb25UeXBlLnJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YV07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1NTTV9SRU1PVEVfREFUQV9QUk9WSURFUikgQE9wdGlvbmFsKCkgcmVtb3RlRGF0YVByb3ZpZGVyczogUmVtb3RlRGF0YVByb3ZpZGVyW10pIHtcbiAgICB0aGlzLnJlbW90ZURhdGFQcm92aWRlcnNQZXJLZXkgPSBuZXcgTWFwPHN0cmluZywgUmVtb3RlRGF0YVByb3ZpZGVyPigocmVtb3RlRGF0YVByb3ZpZGVycyA/PyBbXSkubWFwKChyKSA9PiBbci5yZW1vdGVEYXRhS2V5LCByXSkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5sb2FkUmVtb3RlRGF0YTpcbiAgICAgICAgY29uc3QgbG9hZFJlbW90ZURhdGFBY3Rpb24gPSBhY3Rpb24gYXMgTG9hZFJlbW90ZURhdGFBY3Rpb247XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3RSZW1vdGVEYXRhU3RhdGUoc3RhdGUpW2xvYWRSZW1vdGVEYXRhQWN0aW9uLnJlbW90ZURhdGFLZXldO1xuICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucmVtb3RlRGF0YVByb3ZpZGVyc1BlcktleS5nZXQobG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleSk7XG4gICAgICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXByb3ZpZGVyLmNhY2hlRHVyYXRpb25JblNlY29uZHMgfHxcbiAgICAgICAgICBsb2FkUmVtb3RlRGF0YUFjdGlvbi5wYXJhbXM/LmZvcmNlUmVsb2FkID09PSB0cnVlIHx8XG4gICAgICAgICAgaXRlbS5zdGF0dXMgPT09IERhdGFTdGF0dXMubm9uZSB8fFxuICAgICAgICAgIGl0ZW0uc3RhdHVzID09PSBEYXRhU3RhdHVzLmVycm9yIHx8XG4gICAgICAgICAgaXRlbS5zdGF0dXMgPT09IERhdGFTdGF0dXMubm90Rm91bmQgfHxcbiAgICAgICAgICAhaXRlbS50aW1lc3RhbXAgfHxcbiAgICAgICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGl0ZW0udGltZXN0YW1wLmdldFRpbWUoKSA+PSAxMDAwICogcHJvdmlkZXIuY2FjaGVEdXJhdGlvbkluU2Vjb25kc1xuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlUmVtb3RlRGF0YVN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgICBbbG9hZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleV06IHtcbiAgICAgICAgICAgICAgc3RhdHVzOiB7ICRzZXQ6IERhdGFTdGF0dXMubG9hZGluZyB9LFxuICAgICAgICAgICAgICBnZXR0ZXJQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAkYXBwbHk6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKCFsb2FkUmVtb3RlRGF0YUFjdGlvbi5wYXJhbXMgfHwgbG9hZFJlbW90ZURhdGFBY3Rpb24ucGFyYW1zLmtlZXBTdG9yZWRHZXR0ZXJQYXJhbXMgIT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRSZW1vdGVEYXRhQWN0aW9uLnBhcmFtcz8ucGFyYW1zO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBSZW1vdGVEYXRhQWN0aW9uVHlwZS5yZWdpc3RlckxvYWRlZFJlbW90ZURhdGE6XG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbiA9IGFjdGlvbiBhcyBSZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb247XG4gICAgICAgIGlmICh0aGlzLnJlbW90ZURhdGFQcm92aWRlcnNQZXJLZXkuaGFzKHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVEYXRhS2V5KSkge1xuICAgICAgICAgIHJldHVybiB1cGRhdGVSZW1vdGVEYXRhU3RhdGUoc3RhdGUsIHtcbiAgICAgICAgICAgIFtyZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24ucmVtb3RlRGF0YUtleV06IHtcbiAgICAgICAgICAgICAgc3RhdHVzOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5zdGF0dXMgfSxcbiAgICAgICAgICAgICAgZGF0YTogeyAkc2V0OiByZWdpc3RlckxvYWRlZFJlbW90ZURhdGFBY3Rpb24uZGF0YSB9LFxuICAgICAgICAgICAgICB0aW1lc3RhbXA6IHsgJHNldDogbmV3IERhdGUoKSB9LFxuICAgICAgICAgICAgICBtZXNzYWdlOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5tZXNzYWdlIH0sXG4gICAgICAgICAgICAgIGVycm9yOiB7ICRzZXQ6IHJlZ2lzdGVyTG9hZGVkUmVtb3RlRGF0YUFjdGlvbi5yZW1vdGVDYWxsRXJyb3IgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, inject, Component, ChangeDetectionStrategy, Input, Directive, Inject, Optional, makeEnvironmentProviders, HostBinding } from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, Injectable, inject, Component, ChangeDetectionStrategy, Input, Directive, runInInjectionContext, Inject, Optional, HostBinding } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
4
  import update from 'immutability-helper';
5
5
  import * as i1 from 'ngssm-store';
6
- import { NgSsmFeatureState, Store, NgSsmComponent, NGSSM_EFFECT, NGSSM_REDUCER, NGSSM_STATE_INITIALIZER } from 'ngssm-store';
6
+ import { NgSsmFeatureState, Store, NgSsmComponent, provideReducer, provideEffects, NGSSM_STATE_INITIALIZER, provideReducers } from 'ngssm-store';
7
7
  import * as i2 from '@angular/common';
8
8
  import { DatePipe, CommonModule } from '@angular/common';
9
9
  import * as i3 from '@angular/material/icon';
@@ -37,6 +37,25 @@ const getDefaultRemoteData = (defaultValue, defaultStatus = DataStatus.none) =>
37
37
  });
38
38
 
39
39
  const NGSSM_REMOTE_DATA_PROVIDER = new InjectionToken('NGSSM_REMOTE_DATA_PROVIDER');
40
+ const provideRemoteDataProviders = (...providers) => {
41
+ return makeEnvironmentProviders(providers.map((provider) => ({ provide: NGSSM_REMOTE_DATA_PROVIDER, useClass: provider, multi: true })));
42
+ };
43
+ const provideRemoteDataFunc = (remoteDataKey, remoteDataLoadingFunc, cacheDurationInSeconds) => {
44
+ return makeEnvironmentProviders([
45
+ {
46
+ provide: NGSSM_REMOTE_DATA_PROVIDER,
47
+ useFactory: () => {
48
+ const provider = {
49
+ remoteDataKey,
50
+ cacheDurationInSeconds,
51
+ get: remoteDataLoadingFunc
52
+ };
53
+ return provider;
54
+ },
55
+ multi: true
56
+ }
57
+ ]);
58
+ };
40
59
 
41
60
  var RemoteDataStateSpecification_1;
42
61
  const selectRemoteDataState = (state) => state[RemoteDataStateSpecification.featureStateKey];
@@ -105,8 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
105
124
  }]
106
125
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
107
126
  const ngssmReloadRemoteData = (remoteDataKey, params = { forceReload: true }) => {
108
- inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));
109
- return true;
127
+ return () => {
128
+ inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));
129
+ return true;
130
+ };
110
131
  };
111
132
 
112
133
  const datePipe = new DatePipe('en-US');
@@ -268,15 +289,11 @@ class CachesDisplayEffect {
268
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CachesDisplayEffect, decorators: [{
269
290
  type: Injectable
270
291
  }], ctorParameters: function () { return [{ type: i3$1.MatDialog }]; } });
271
- const cachesDisplayEffectProvider = {
272
- provide: NGSSM_EFFECT,
273
- useClass: CachesDisplayEffect,
274
- multi: true
275
- };
276
292
 
277
293
  class RemoteDataLoadingEffect {
278
- constructor(remoteDataProviders, notifierService) {
294
+ constructor(remoteDataProviders, notifierService, injector) {
279
295
  this.notifierService = notifierService;
296
+ this.injector = injector;
280
297
  this.processedActions = [RemoteDataActionType.loadRemoteData];
281
298
  this.remoteDataProvidersPerKey = new Map((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));
282
299
  }
@@ -287,23 +304,25 @@ class RemoteDataLoadingEffect {
287
304
  if (!item || !provider || item.status !== DataStatus.loading) {
288
305
  return;
289
306
  }
290
- provider.get(item.getterParams).subscribe({
291
- next: (value) => {
292
- store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));
293
- if (item.getterParams?.callbackAction) {
294
- store.dispatchActionType(item.getterParams.callbackAction);
295
- }
296
- },
297
- error: (error) => {
298
- console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);
299
- if (item.getterParams?.errorNotificationMessage) {
300
- this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));
307
+ runInInjectionContext(this.injector, () => {
308
+ provider.get(item.getterParams).subscribe({
309
+ next: (value) => {
310
+ store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));
311
+ if (item.getterParams?.callbackAction) {
312
+ store.dispatchActionType(item.getterParams.callbackAction);
313
+ }
314
+ },
315
+ error: (error) => {
316
+ console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);
317
+ if (item.getterParams?.errorNotificationMessage) {
318
+ this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));
319
+ }
320
+ store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error));
301
321
  }
302
- store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error));
303
- }
322
+ });
304
323
  });
305
324
  }
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, deps: [{ token: NGSSM_REMOTE_DATA_PROVIDER, optional: true }, { token: i2$1.NgssmNotifierService }], target: i0.ɵɵFactoryTarget.Injectable }); }
325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, deps: [{ token: NGSSM_REMOTE_DATA_PROVIDER, optional: true }, { token: i2$1.NgssmNotifierService }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
307
326
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect }); }
308
327
  }
309
328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteDataLoadingEffect, decorators: [{
@@ -313,12 +332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
313
332
  args: [NGSSM_REMOTE_DATA_PROVIDER]
314
333
  }, {
315
334
  type: Optional
316
- }] }, { type: i2$1.NgssmNotifierService }]; } });
317
- const remoteDataLoadingEffectProvider = {
318
- provide: NGSSM_EFFECT,
319
- useClass: RemoteDataLoadingEffect,
320
- multi: true
321
- };
335
+ }] }, { type: i2$1.NgssmNotifierService }, { type: i0.EnvironmentInjector }]; } });
322
336
 
323
337
  class RemoteDataReducer {
324
338
  constructor(remoteDataProviders) {
@@ -387,11 +401,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
387
401
  }, {
388
402
  type: Optional
389
403
  }] }]; } });
390
- const remoteDataReducerProvider = {
391
- provide: NGSSM_REDUCER,
392
- useClass: RemoteDataReducer,
393
- multi: true
394
- };
395
404
 
396
405
  class RemoteDataStateInitializer {
397
406
  constructor(remoteDataProviders) {
@@ -415,9 +424,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
415
424
 
416
425
  const provideNgssmRemoteData = () => {
417
426
  return makeEnvironmentProviders([
418
- remoteDataReducerProvider,
419
- remoteDataLoadingEffectProvider,
420
- cachesDisplayEffectProvider,
427
+ provideReducer(RemoteDataReducer),
428
+ provideEffects(CachesDisplayEffect, RemoteDataLoadingEffect),
421
429
  { provide: NGSSM_STATE_INITIALIZER, useClass: RemoteDataStateInitializer, multi: true }
422
430
  ]);
423
431
  };
@@ -518,11 +526,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
518
526
  }, {
519
527
  type: Optional
520
528
  }] }]; } });
521
- const remoteCallReducerProvider = {
522
- provide: NGSSM_REDUCER,
523
- useClass: RemoteCallReducer,
524
- multi: true
525
- };
526
529
 
527
530
  var NgssmRemoteCallActionType;
528
531
  (function (NgssmRemoteCallActionType) {
@@ -567,22 +570,14 @@ class RemoteCallSetterReducer {
567
570
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RemoteCallSetterReducer, decorators: [{
568
571
  type: Injectable
569
572
  }] });
570
- const remoteCallSetterReducerProvider = {
571
- provide: NGSSM_REDUCER,
572
- useClass: RemoteCallSetterReducer,
573
- multi: true
574
- };
575
573
 
576
574
  const provideNgssmRemoteCall = () => {
577
575
  return makeEnvironmentProviders([
578
576
  { provide: NGSSM_STATE_INITIALIZER, useClass: NgssmRemoteCallStateInitializer, multi: true },
579
- remoteCallReducerProvider,
580
- remoteCallSetterReducerProvider
577
+ provideReducers(RemoteCallSetterReducer, RemoteCallReducer)
581
578
  ]);
582
579
  };
583
580
 
584
- const ngssmRemoteCallRoutes = [];
585
-
586
581
  class NgssmRemoteCallDirective extends NgSsmComponent {
587
582
  constructor(store, overlyBuilder) {
588
583
  super(store);
@@ -661,5 +656,5 @@ const provideNgssmRemoteCallConfig = (config) => ({
661
656
  * Generated bundle index. Do not edit.
662
657
  */
663
658
 
664
- export { DataStatus, LoadRemoteDataAction, NGSSM_REMOTE_CALL_CONFIG, NGSSM_REMOTE_DATA_PROVIDER, NgssmCachesComponent, NgssmCachesDisplayButtonComponent, NgssmRemoteCallActionType, NgssmRemoteCallDirective, NgssmRemoteCallErrorComponent, NgssmRemoteCallResultAction, NgssmRemoteCallStateSpecification, NgssmRemoteDataOverlayDirective, NgssmRemoteDataReloadButtonComponent, RegisterLoadedRemoteDataAction, RemoteCallStatus, RemoteDataActionType, RemoteDataLoadingGuard, RemoteDataStateSpecification, SetRemoteCallAction, getDefaultRemoteCall, getDefaultRemoteData, ngssmReloadRemoteData, ngssmRemoteCallRoutes, provideNgssmRemoteCall, provideNgssmRemoteCallConfig, provideNgssmRemoteData, selectNgssmRemoteCallState, selectRemoteCall, selectRemoteData, selectRemoteDataState, updateNgssmRemoteCallState, updateRemoteDataState };
659
+ export { DataStatus, LoadRemoteDataAction, NGSSM_REMOTE_CALL_CONFIG, NGSSM_REMOTE_DATA_PROVIDER, NgssmCachesComponent, NgssmCachesDisplayButtonComponent, NgssmRemoteCallActionType, NgssmRemoteCallDirective, NgssmRemoteCallErrorComponent, NgssmRemoteCallResultAction, NgssmRemoteCallStateSpecification, NgssmRemoteDataOverlayDirective, NgssmRemoteDataReloadButtonComponent, RegisterLoadedRemoteDataAction, RemoteCallStatus, RemoteDataActionType, RemoteDataLoadingGuard, RemoteDataStateSpecification, SetRemoteCallAction, getDefaultRemoteCall, getDefaultRemoteData, ngssmReloadRemoteData, provideNgssmRemoteCall, provideNgssmRemoteCallConfig, provideNgssmRemoteData, provideRemoteDataFunc, provideRemoteDataProviders, selectNgssmRemoteCallState, selectRemoteCall, selectRemoteData, selectRemoteDataState, updateNgssmRemoteCallState, updateRemoteDataState };
665
660
  //# sourceMappingURL=ngssm-remote-data.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngssm-remote-data.mjs","sources":["../../../projects/ngssm-remote-data/src/lib/remote-data/model/data-status.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/model/remote-data.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/model/remote-data-provider.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/state/remote-data.state.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/state/selectors.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/remote-data-action-type.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/load-remote-data.action.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/register-loaded-remote-data.action.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/guards/remote-data-loading.guard.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-reload-button/ngssm-remote-data-reload-button.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-reload-button/ngssm-remote-data-reload-button.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-overlay.directive.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches-display-button/ngssm-caches-display-button.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches-display-button/ngssm-caches-display-button.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches/ngssm-caches.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches/ngssm-caches.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/effects/caches-display.effect.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/effects/remote-data-loading.effect.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/reducers/remote-data.reducer.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/remote-data-state-initializer.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/provide-ngssm-remote-data.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/public-api.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call-config.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call-status.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/state/ngssm-remote-call.state.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/state/selectors.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/ngssm-remote-call-state-initializer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/reducers/remote-call.reducer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/ngssm-remote-call-action-type.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/ngssm-remote-call-result.action.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/set-remote-call.action.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/reducers/remote-call-setter.reducer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/provide-ngssm-remote-call.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/ngssm-remote-call-routes.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call.directive.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call-error/ngssm-remote-call-error.component.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call-error/ngssm-remote-call-error.component.html","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/provide-ngssm-remote-call-config.ts","../../../projects/ngssm-remote-data/src/public-api.ts","../../../projects/ngssm-remote-data/src/ngssm-remote-data.ts"],"sourcesContent":["export enum DataStatus {\n none = 'None',\n loading = 'Loading',\n loaded = 'Loaded',\n notFound = 'NotFound',\n error = 'Error'\n}\n","import { RemoteCallError } from '../../ngssm-remote-call/model';\nimport { DataStatus } from './data-status';\nimport { RemoteDataGetterParams } from './remote-data-getter-params';\n\nexport interface RemoteData<TData = any, TGetterParams = any> {\n status: DataStatus;\n data?: TData;\n timestamp?: Date;\n message?: string;\n error?: RemoteCallError;\n getterParams?: RemoteDataGetterParams<TGetterParams>;\n}\n\nexport const getDefaultRemoteData = <T>(defaultValue?: T, defaultStatus: DataStatus = DataStatus.none): RemoteData<T> => ({\n status: defaultStatus,\n data: defaultValue\n});\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RemoteDataGetterParams } from './remote-data-getter-params';\n\nexport interface RemoteDataProvider<TData = any, TValue = any> {\n readonly remoteDataKey: string;\n readonly cacheDurationInSeconds?: number;\n\n get(params?: RemoteDataGetterParams<TValue>): Observable<TData>;\n}\n\nexport const NGSSM_REMOTE_DATA_PROVIDER = new InjectionToken<RemoteDataProvider>('NGSSM_REMOTE_DATA_PROVIDER');\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nimport { RemoteData } from '../model';\n\nexport const selectRemoteDataState = (state: State): RemoteDataState =>\n state[RemoteDataStateSpecification.featureStateKey] as RemoteDataState;\n\nexport const updateRemoteDataState = (state: State, command: Spec<RemoteDataState, never>): State =>\n update(state, {\n [RemoteDataStateSpecification.featureStateKey]: command\n });\n\nexport interface RemoteDataState {\n [key: string]: RemoteData<any>;\n}\n\n@NgSsmFeatureState({\n featureStateKey: RemoteDataStateSpecification.featureStateKey,\n initialState: RemoteDataStateSpecification.initialState\n})\nexport class RemoteDataStateSpecification {\n public static readonly featureStateKey = 'remote-data-state';\n public static readonly initialState: RemoteDataState = {};\n}\n","import { State } from 'ngssm-store';\n\nimport { selectRemoteDataState } from './remote-data.state';\n\nexport const selectRemoteData = (state: State, remoteDataKey: string) => selectRemoteDataState(state)[remoteDataKey];\n","export enum RemoteDataActionType {\n loadRemoteData = '[RemoteDataActionType] loadRemoteData',\n registerLoadedRemoteData = '[RemoteDataActionType] registerLoadedRemoteData',\n displayCaches = '[RemoteDataActionType] displayCaches',\n closeCachesComponent = '[RemoteDataActionType] closeCachesComponent'\n}\n","import { Action } from 'ngssm-store';\n\nimport { ReloadParams } from '../model';\nimport { RemoteDataActionType } from './remote-data-action-type';\n\nexport class LoadRemoteDataAction<TValue = any> implements Action {\n public readonly type: string = RemoteDataActionType.loadRemoteData;\n\n constructor(public readonly remoteDataKey: string, public readonly params?: ReloadParams<TValue>) {}\n}\n","import { Action } from 'ngssm-store';\n\nimport { RemoteCallError } from '../../ngssm-remote-call/model';\nimport { DataStatus } from '../model';\nimport { RemoteDataActionType } from './remote-data-action-type';\n\nexport class RegisterLoadedRemoteDataAction implements Action {\n public readonly type: string = RemoteDataActionType.registerLoadedRemoteData;\n\n constructor(\n public readonly remoteDataKey: string,\n public readonly status: DataStatus,\n public readonly data: any,\n public readonly message?: string,\n public readonly remoteCallError?: RemoteCallError\n ) {}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { Store } from 'ngssm-store';\n\nimport { LoadRemoteDataAction } from '../actions';\nimport { ReloadParams } from '../model';\n\nexport interface RemoteDataLoadingGuardItem {\n remoteDataKey: string;\n forceReload?: boolean;\n}\n\nexport interface RemoteDataLoadingGuardParameters {\n remoteDataItems: RemoteDataLoadingGuardItem[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RemoteDataLoadingGuard {\n constructor(private store: Store) {}\n\n public canActivate(route: ActivatedRouteSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const parameters = route.data as RemoteDataLoadingGuardParameters;\n (parameters?.remoteDataItems ?? []).forEach((item) => {\n this.store.dispatchAction(new LoadRemoteDataAction(item.remoteDataKey, { forceReload: item.forceReload === true }));\n });\n\n return true;\n }\n}\n\nexport const ngssmReloadRemoteData = <TData = any>(remoteDataKey: string, params: ReloadParams<TData> = { forceReload: true }): boolean => {\n inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));\n return true;\n};\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { LoadRemoteDataAction } from '../../actions';\nimport { selectRemoteDataState } from '../../state';\nimport { DataStatus } from '../../model';\n\nconst datePipe = new DatePipe('en-US');\n\n@Component({\n selector: 'ngssm-remote-data-reload-button',\n standalone: true,\n imports: [CommonModule, MatIconModule, MatButtonModule, MatTooltipModule],\n templateUrl: './ngssm-remote-data-reload-button.component.html',\n styleUrls: ['./ngssm-remote-data-reload-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmRemoteDataReloadButtonComponent extends NgSsmComponent {\n private readonly _remoteDataKey$ = new BehaviorSubject<string>('');\n private readonly _tooltipMessage$ = new BehaviorSubject<string>('');\n private readonly _disabled$ = new BehaviorSubject<boolean>(false);\n\n @Input() actionTypes: string[] = [];\n\n constructor(store: Store) {\n super(store);\n combineLatest([this.watch((s) => selectRemoteDataState(s)), this._remoteDataKey$]).subscribe((values) => {\n let tooltiMessage = 'Reload data.';\n let disabled = true;\n if (values[1]) {\n const timestamp = values[0][values[1]]?.timestamp;\n if (timestamp) {\n tooltiMessage = [tooltiMessage, `Loaded at ${datePipe.transform(timestamp, 'mediumTime')}`].join('\\n');\n }\n\n disabled = (values[0][values[1]]?.status ?? DataStatus.loading) === DataStatus.loading;\n }\n\n this._tooltipMessage$.next(tooltiMessage);\n this._disabled$.next(disabled);\n });\n }\n\n @Input() set remoteDataKey(value: string) {\n this._remoteDataKey$.next(value);\n }\n\n public get tooltipMessage$(): Observable<string> {\n return this._tooltipMessage$.asObservable();\n }\n\n public get disabled$(): Observable<boolean> {\n return this._disabled$.asObservable();\n }\n\n public reload(): void {\n this.dispatchAction(new LoadRemoteDataAction(this._remoteDataKey$.getValue(), { forceReload: true, keepStoredGetterParams: true }));\n\n (this.actionTypes ?? []).forEach((type) => this.dispatchActionType(type));\n }\n}\n","<button mat-icon-button color=\"primary\" (click)=\"reload()\" [matTooltip]=\"(tooltipMessage$ | async) ?? 'Reload'\"\n [disabled]=\"disabled$ | async\">\n <mat-icon class=\"fa-solid fa-rotate-right\"></mat-icon>\n</button>","import { Directive, Input } from '@angular/core';\nimport { combineLatest, Subscription } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\nimport { NgssmOverlayBuilder } from 'ngssm-toolkit';\n\nimport { DataStatus } from '../model';\nimport { selectRemoteData } from '../state';\n\n@Directive({\n selector: '[ngssmRemoteDataOverlay]',\n standalone: true,\n providers: [NgssmOverlayBuilder]\n})\nexport class NgssmRemoteDataOverlayDirective extends NgSsmComponent {\n private subscription: Subscription | undefined;\n private isDisplayed = false;\n\n constructor(store: Store, private overlyBuilder: NgssmOverlayBuilder) {\n super(store);\n this.unsubscribeAll$.subscribe(() => this.overlyBuilder.hideOverlay());\n }\n\n @Input() set ngssmRemoteDataOverlay(values: string[]) {\n this.subscription?.unsubscribe();\n this.subscription = undefined;\n if (values.length > 0) {\n this.subscription = combineLatest(values.map((v) => this.watch((s) => selectRemoteData(s, v)))).subscribe((v) => {\n if (v.map((w) => w?.status).includes(DataStatus.loading)) {\n if (!this.isDisplayed) {\n this.overlyBuilder.showOverlay();\n this.isDisplayed = true;\n }\n } else {\n if (this.isDisplayed) {\n this.overlyBuilder.hideOverlay();\n this.isDisplayed = false;\n }\n }\n });\n }\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { RemoteDataActionType } from '../../actions';\n\n@Component({\n selector: 'ngssm-caches-display-button',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule],\n templateUrl: './ngssm-caches-display-button.component.html',\n styleUrls: ['./ngssm-caches-display-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmCachesDisplayButtonComponent extends NgSsmComponent {\n constructor(store: Store) {\n super(store);\n }\n\n public displayCaches(): void {\n this.dispatchActionType(RemoteDataActionType.displayCaches);\n }\n}\n","<button mat-icon-button matTooltip=\"Display caches\" (click)=\"displayCaches()\">\n <mat-icon class=\"fa-solid fa-cloud-bolt\"></mat-icon>\n</button>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { RemoteDataActionType, LoadRemoteDataAction } from '../../actions';\nimport { DataStatus, RemoteData } from '../../model';\nimport { selectRemoteDataState } from '../../state';\n\ninterface Cache {\n key: string;\n value: RemoteData;\n}\n\n@Component({\n selector: 'ngssm-caches',\n standalone: true,\n imports: [CommonModule, MatDialogModule, MatButtonModule, MatTableModule, MatIconModule, MatProgressSpinnerModule],\n templateUrl: './ngssm-caches.component.html',\n styleUrls: ['./ngssm-caches.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmCachesComponent extends NgSsmComponent {\n private readonly _caches$ = new BehaviorSubject<Cache[]>([]);\n\n public readonly dataStatus = DataStatus;\n\n constructor(store: Store) {\n super(store);\n\n this.watch((s) => selectRemoteDataState(s)).subscribe((state) => {\n const caches: Cache[] = Object.keys(state).map((key) => ({\n key,\n value: state[key]\n }));\n this._caches$.next(caches);\n });\n }\n\n public get caches$(): Observable<Cache[]> {\n return this._caches$.asObservable();\n }\n\n public close(): void {\n this.dispatchActionType(RemoteDataActionType.closeCachesComponent);\n }\n\n public reloadCache(cache: Cache): void {\n this.dispatchAction(new LoadRemoteDataAction(cache.key, { forceReload: true, keepStoredGetterParams: true }));\n }\n}\n","<h1 mat-dialog-title>List of caches</h1>\n<mat-dialog-content class=\"flex-column-stretch fxFlex\">\n <mat-table [dataSource]=\"caches$\" class=\"fxFlex\">\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell *matHeaderCellDef> </mat-header-cell>\n <mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [disabled]=\"element.value.status === dataStatus.loading\" (click)=\"reloadCache(element)\" color=\"primary\" id=\"reload_{{element.key}}\">\n <mat-icon class=\"fa-solid fa-rotate-right\"></mat-icon>\n </button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"key\">\n <mat-header-cell *matHeaderCellDef> Key </mat-header-cell>\n <mat-cell *matCellDef=\"let element\"> {{element.key}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <mat-header-cell *matHeaderCellDef> Status </mat-header-cell>\n <mat-cell *matCellDef=\"let element\">\n\n <div [ngSwitch]=\"element.value.status\">\n <mat-icon *ngSwitchCase=\"dataStatus.none\" class=\"fa-solid fa-minus\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.loaded\" class=\"fa-solid fa-check\" color=\"primary\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.error\" class=\"fa-solid fa-xmark\" color=\"warn\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.notFound\" class=\"fa-solid fa-xmark\" color=\"warn\"></mat-icon>\n <mat-spinner [diameter]=\"20\" *ngSwitchCase=\"dataStatus.loading\"></mat-spinner>\n </div>\n\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"timestamp\">\n <mat-header-cell *matHeaderCellDef> Timestamp </mat-header-cell>\n <mat-cell *matCellDef=\"let element\"> {{element.value.timestamp}} </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"['actions', 'status', 'key', 'timestamp']; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: ['actions', 'status', 'key', 'timestamp']\"></mat-row>\n </mat-table>\n</mat-dialog-content>\n<mat-dialog-actions class=\"flex-row-center\">\n <span class=\"fxFlex\"></span>\n <button mat-button (click)=\"close()\" id=\"closeButton\">Close</button>\n</mat-dialog-actions>","import { Injectable, Provider } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { Effect, Store, State, Action, NGSSM_EFFECT } from 'ngssm-store';\nimport { RemoteDataActionType } from '../actions';\nimport { NgssmCachesComponent } from '../components';\n\n@Injectable()\nexport class CachesDisplayEffect implements Effect {\n private dialog: MatDialogRef<NgssmCachesComponent> | undefined;\n\n public readonly processedActions: string[] = [RemoteDataActionType.displayCaches, RemoteDataActionType.closeCachesComponent];\n\n constructor(private matDialog: MatDialog) {}\n\n public processAction(store: Store, state: State, action: Action): void {\n switch (action.type) {\n case RemoteDataActionType.displayCaches: {\n this.dialog = this.matDialog.open(NgssmCachesComponent, {\n disableClose: true\n });\n\n break;\n }\n\n case RemoteDataActionType.closeCachesComponent: {\n this.dialog?.close();\n this.dialog = undefined;\n\n break;\n }\n }\n }\n}\n\nexport const cachesDisplayEffectProvider: Provider = {\n provide: NGSSM_EFFECT,\n useClass: CachesDisplayEffect,\n multi: true\n};\n","import { Inject, Injectable, Optional, Provider } from '@angular/core';\n\nimport { Effect, Store, State, Action, NGSSM_EFFECT } from 'ngssm-store';\nimport { NgssmNotifierService } from 'ngssm-toolkit';\n\nimport { LoadRemoteDataAction, RegisterLoadedRemoteDataAction, RemoteDataActionType } from '../actions';\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from '../model';\nimport { selectRemoteDataState } from '../state';\n\n@Injectable()\nexport class RemoteDataLoadingEffect implements Effect {\n private readonly remoteDataProvidersPerKey: Map<string, RemoteDataProvider>;\n\n public readonly processedActions: string[] = [RemoteDataActionType.loadRemoteData];\n\n constructor(\n @Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() remoteDataProviders: RemoteDataProvider[],\n private notifierService: NgssmNotifierService\n ) {\n this.remoteDataProvidersPerKey = new Map<string, RemoteDataProvider>((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));\n }\n\n public processAction(store: Store, state: State, action: Action): void {\n const loadRemoteDataAction = action as LoadRemoteDataAction;\n const item = selectRemoteDataState(state)[loadRemoteDataAction.remoteDataKey];\n const provider = this.remoteDataProvidersPerKey.get(loadRemoteDataAction.remoteDataKey);\n\n if (!item || !provider || item.status !== DataStatus.loading) {\n return;\n }\n\n provider.get(item.getterParams).subscribe({\n next: (value) => {\n store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));\n if (item.getterParams?.callbackAction) {\n store.dispatchActionType(item.getterParams.callbackAction);\n }\n },\n error: (error) => {\n console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);\n if (item.getterParams?.errorNotificationMessage) {\n this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));\n }\n\n store.dispatchAction(\n new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error)\n );\n }\n });\n }\n}\n\nexport const remoteDataLoadingEffectProvider: Provider = {\n provide: NGSSM_EFFECT,\n useClass: RemoteDataLoadingEffect,\n multi: true\n};\n","import { Inject, Injectable, Optional, Provider } from '@angular/core';\n\nimport { Reducer, State, NGSSM_REDUCER, Action } from 'ngssm-store';\n\nimport { LoadRemoteDataAction, RegisterLoadedRemoteDataAction, RemoteDataActionType } from '../actions';\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from '../model';\nimport { selectRemoteDataState, updateRemoteDataState } from '../state';\n\n@Injectable()\nexport class RemoteDataReducer implements Reducer {\n private readonly remoteDataProvidersPerKey: Map<string, RemoteDataProvider>;\n\n public readonly processedActions: string[] = [RemoteDataActionType.loadRemoteData, RemoteDataActionType.registerLoadedRemoteData];\n\n constructor(@Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() remoteDataProviders: RemoteDataProvider[]) {\n this.remoteDataProvidersPerKey = new Map<string, RemoteDataProvider>((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));\n }\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case RemoteDataActionType.loadRemoteData:\n const loadRemoteDataAction = action as LoadRemoteDataAction;\n const item = selectRemoteDataState(state)[loadRemoteDataAction.remoteDataKey];\n if (!item) {\n return state;\n }\n\n const provider = this.remoteDataProvidersPerKey.get(loadRemoteDataAction.remoteDataKey);\n if (!provider) {\n return state;\n }\n\n if (\n !provider.cacheDurationInSeconds ||\n loadRemoteDataAction.params?.forceReload === true ||\n item.status === DataStatus.none ||\n item.status === DataStatus.error ||\n item.status === DataStatus.notFound ||\n !item.timestamp ||\n new Date().getTime() - item.timestamp.getTime() >= 1000 * provider.cacheDurationInSeconds\n ) {\n return updateRemoteDataState(state, {\n [loadRemoteDataAction.remoteDataKey]: {\n status: { $set: DataStatus.loading },\n getterParams: {\n $apply: (value) => {\n if (!loadRemoteDataAction.params || loadRemoteDataAction.params.keepStoredGetterParams !== true) {\n return loadRemoteDataAction.params?.params;\n }\n\n return value;\n }\n }\n }\n });\n }\n\n break;\n\n case RemoteDataActionType.registerLoadedRemoteData:\n const registerLoadedRemoteDataAction = action as RegisterLoadedRemoteDataAction;\n if (this.remoteDataProvidersPerKey.has(registerLoadedRemoteDataAction.remoteDataKey)) {\n return updateRemoteDataState(state, {\n [registerLoadedRemoteDataAction.remoteDataKey]: {\n status: { $set: registerLoadedRemoteDataAction.status },\n data: { $set: registerLoadedRemoteDataAction.data },\n timestamp: { $set: new Date() },\n message: { $set: registerLoadedRemoteDataAction.message },\n error: { $set: registerLoadedRemoteDataAction.remoteCallError }\n }\n });\n }\n\n break;\n }\n\n return state;\n }\n}\n\nexport const remoteDataReducerProvider: Provider = {\n provide: NGSSM_REDUCER,\n useClass: RemoteDataReducer,\n multi: true\n};\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { State, StateInitializer } from 'ngssm-store';\n\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from './model';\nimport { updateRemoteDataState } from './state';\n\n@Injectable()\nexport class RemoteDataStateInitializer implements StateInitializer {\n constructor(@Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() private remoteDataProviders: RemoteDataProvider[]) {}\n\n public initializeState(state: State): State {\n let tempState = state;\n return (this.remoteDataProviders ?? []).reduce(\n (s, provider) => updateRemoteDataState(s, { [provider.remoteDataKey]: { $set: { status: DataStatus.none } } }),\n tempState\n );\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { NGSSM_STATE_INITIALIZER } from 'ngssm-store';\n\nimport { cachesDisplayEffectProvider, remoteDataLoadingEffectProvider } from './effects';\nimport { remoteDataReducerProvider } from './reducers/remote-data.reducer';\nimport { RemoteDataStateInitializer } from './remote-data-state-initializer';\n\nexport const provideNgssmRemoteData = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n remoteDataReducerProvider,\n remoteDataLoadingEffectProvider,\n cachesDisplayEffectProvider,\n { provide: NGSSM_STATE_INITIALIZER, useClass: RemoteDataStateInitializer, multi: true }\n ]);\n};\n","/*\n * Public API Surface of ngssm-remote-data\n */\n\nexport * from './model';\nexport * from './state';\nexport * from './actions';\nexport * from './guards';\nexport * from './components';\nexport * from './provide-ngssm-remote-data';\n","import { InjectionToken } from '@angular/core';\n\nexport interface RemoteCallConfig {\n id: string;\n triggeredActionTypes: string[];\n resultActionTypes: string[];\n}\n\nexport const NGSSM_REMOTE_CALL_CONFIG = new InjectionToken<RemoteCallConfig>('NGSSM_REMOTE_CALL_CONFIG');\n","export enum RemoteCallStatus {\n none = 'None',\n inProgress = 'In progress',\n done = 'Done',\n ko = 'Ko'\n}\n","import { RemoteCallError } from './remote-call-error';\nimport { RemoteCallStatus } from './remote-call-status';\n\nexport interface RemoteCall {\n status: RemoteCallStatus;\n error?: RemoteCallError;\n message?: string;\n}\n\nexport const getDefaultRemoteCall = (status: RemoteCallStatus = RemoteCallStatus.none): RemoteCall => ({ status });\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nimport { RemoteCall } from '../model';\n\nexport const selectNgssmRemoteCallState = (state: State): NgssmRemoteCallState =>\n state[NgssmRemoteCallStateSpecification.featureStateKey] as NgssmRemoteCallState;\n\nexport const updateNgssmRemoteCallState = (state: State, command: Spec<NgssmRemoteCallState, never>): State =>\n update(state, {\n [NgssmRemoteCallStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmRemoteCallState {\n remoteCalls: { [key: string]: RemoteCall };\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmRemoteCallStateSpecification.featureStateKey,\n initialState: NgssmRemoteCallStateSpecification.initialState\n})\nexport class NgssmRemoteCallStateSpecification {\n public static readonly featureStateKey = 'ngssm-remote-call-state';\n public static readonly initialState: NgssmRemoteCallState = {\n remoteCalls: {}\n };\n}\n","import { State } from 'ngssm-store';\nimport { getDefaultRemoteCall, RemoteCall } from '../model';\nimport { selectNgssmRemoteCallState } from './ngssm-remote-call.state';\n\nexport const selectRemoteCall = (state: State, id: string): RemoteCall =>\n selectNgssmRemoteCallState(state).remoteCalls[id] ?? getDefaultRemoteCall();\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { State, StateInitializer } from 'ngssm-store';\n\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig, RemoteCallStatus } from './model';\nimport { updateNgssmRemoteCallState } from './state';\n\n@Injectable()\nexport class NgssmRemoteCallStateInitializer implements StateInitializer {\n constructor(@Inject(NGSSM_REMOTE_CALL_CONFIG) @Optional() private remoteCallConfigs: RemoteCallConfig[]) {}\n\n public initializeState(state: State): State {\n let tempState = state;\n return (this.remoteCallConfigs ?? []).reduce(\n (s, config) => updateNgssmRemoteCallState(s, { remoteCalls: { [config.id]: { $set: { status: RemoteCallStatus.none } } } }),\n tempState\n );\n }\n}\n","import { Inject, Injectable, Optional, Provider } from '@angular/core';\n\nimport { Reducer, State, Action, NGSSM_REDUCER } from 'ngssm-store';\n\nimport { NgssmRemoteCallResultAction } from '../actions';\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig, RemoteCallStatus, getDefaultRemoteCall } from '../model';\nimport { updateNgssmRemoteCallState } from '../state';\n\n@Injectable()\nexport class RemoteCallReducer implements Reducer {\n public readonly processedActions: string[] = [];\n\n constructor(@Inject(NGSSM_REMOTE_CALL_CONFIG) @Optional() private remoteCallConfigs: RemoteCallConfig[]) {\n (this.remoteCallConfigs ?? []).forEach((c) => this.processedActions.push(...[...c.triggeredActionTypes, ...c.resultActionTypes]));\n }\n\n public updateState(state: State, action: Action): State {\n const configs = (this.remoteCallConfigs ?? []).filter(\n (c) => c.triggeredActionTypes.includes(action.type) || c.resultActionTypes.includes(action.type)\n );\n let output = state;\n configs.forEach((config) => {\n if (config.triggeredActionTypes.includes(action.type)) {\n output = updateNgssmRemoteCallState(output, {\n remoteCalls: {\n [config.id]: { $set: getDefaultRemoteCall(RemoteCallStatus.inProgress) }\n }\n });\n } else {\n const ngssmRemoteCallResultAction = action as NgssmRemoteCallResultAction;\n output = updateNgssmRemoteCallState(output, {\n remoteCalls: {\n [config.id]: { $set: ngssmRemoteCallResultAction.remoteCall }\n }\n });\n }\n });\n\n return output;\n }\n}\n\nexport const remoteCallReducerProvider: Provider = {\n provide: NGSSM_REDUCER,\n useClass: RemoteCallReducer,\n multi: true\n};\n","export enum NgssmRemoteCallActionType {\n setRemoteCall = '[NgssmRemoteCallActionType] setRemoteCall'\n}\n","import { Action } from 'ngssm-store';\nimport { RemoteCall } from '../model';\n\nexport class NgssmRemoteCallResultAction implements Action {\n constructor(public readonly type: string, public readonly remoteCall: RemoteCall) {}\n}\n","import { Action } from 'ngssm-store';\nimport { RemoteCall } from '../model';\nimport { NgssmRemoteCallActionType } from './ngssm-remote-call-action-type';\n\nexport class SetRemoteCallAction implements Action {\n public readonly type: string = NgssmRemoteCallActionType.setRemoteCall;\n\n constructor(public readonly remoteCallId: string, public readonly remoteCall: RemoteCall) {}\n}\n","import { Injectable, Provider } from '@angular/core';\n\nimport { Reducer, State, Action, NGSSM_REDUCER } from 'ngssm-store';\n\nimport { NgssmRemoteCallActionType, SetRemoteCallAction } from '../actions';\nimport { updateNgssmRemoteCallState } from '../state';\n\n@Injectable()\nexport class RemoteCallSetterReducer implements Reducer {\n public readonly processedActions: string[] = [NgssmRemoteCallActionType.setRemoteCall];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmRemoteCallActionType.setRemoteCall: {\n const setRemoteCallAction = action as SetRemoteCallAction;\n return updateNgssmRemoteCallState(state, {\n remoteCalls: {\n [setRemoteCallAction.remoteCallId]: { $set: setRemoteCallAction.remoteCall }\n }\n });\n }\n }\n\n return state;\n }\n}\n\nexport const remoteCallSetterReducerProvider: Provider = {\n provide: NGSSM_REDUCER,\n useClass: RemoteCallSetterReducer,\n multi: true\n};\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { NGSSM_STATE_INITIALIZER } from 'ngssm-store';\nimport { NgssmRemoteCallStateInitializer } from './ngssm-remote-call-state-initializer';\nimport { remoteCallReducerProvider, remoteCallSetterReducerProvider } from './reducers';\n\nexport const provideNgssmRemoteCall = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n { provide: NGSSM_STATE_INITIALIZER, useClass: NgssmRemoteCallStateInitializer, multi: true },\n remoteCallReducerProvider,\n remoteCallSetterReducerProvider\n ]);\n};\n","import { Routes } from '@angular/router';\n\nexport const ngssmRemoteCallRoutes: Routes = [];\n","import { Directive, Input } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\nimport { NgssmOverlayBuilder } from 'ngssm-toolkit';\n\nimport { RemoteCallStatus } from '../model';\nimport { selectRemoteCall } from '../state';\n\n@Directive({\n selector: '[ngssmRemoteCall]',\n standalone: true,\n providers: [NgssmOverlayBuilder]\n})\nexport class NgssmRemoteCallDirective extends NgSsmComponent {\n private subscription: Subscription | undefined;\n\n constructor(store: Store, private overlyBuilder: NgssmOverlayBuilder) {\n super(store);\n this.unsubscribeAll$.subscribe(() => this.overlyBuilder.hideOverlay());\n }\n\n @Input('ngssmRemoteCall') set remoteCallId(value: string) {\n this.subscription?.unsubscribe();\n this.subscription = this.watch((s) => selectRemoteCall(s, value)).subscribe((value) => {\n if (value.status === RemoteCallStatus.inProgress) {\n this.overlyBuilder.showOverlay();\n } else {\n this.overlyBuilder.hideOverlay();\n }\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BehaviorSubject, Observable, Subject, switchMap } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { selectNgssmRemoteCallState } from '../../state';\nimport { RemoteCallError } from '../../model';\n\n@Component({\n selector: 'ngssm-remote-call-error',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './ngssm-remote-call-error.component.html',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmRemoteCallErrorComponent extends NgSsmComponent {\n private readonly _remoteCallId$ = new Subject<string>();\n private readonly _remoteCallError$ = new BehaviorSubject<RemoteCallError | undefined>(undefined);\n\n @HostBinding('class') public hostCssClasses = 'ngssm-remote-call-error';\n\n constructor(store: Store) {\n super(store);\n\n this._remoteCallId$\n .pipe(switchMap((v) => this.watch((s) => selectNgssmRemoteCallState(s).remoteCalls[v])))\n .subscribe((remoteCall) => this._remoteCallError$.next(remoteCall?.error));\n }\n\n @Input() public set remoteCallId(value: string) {\n this._remoteCallId$.next(value);\n }\n\n public get remoteCallError$(): Observable<RemoteCallError | undefined> {\n return this._remoteCallError$.asObservable();\n }\n\n public hideComponent(): void {\n this._remoteCallError$.next(undefined);\n }\n}\n","<div *ngIf=\"(remoteCallError$ | async) !== undefined\" class=\"ngssm-remote-call-error-container\">\n {{remoteCallError$ | async | json}}\n\n <button mat-icon-button color=\"warn\" class=\"ngssm-remote-call-error-close-button\" (click)=\"hideComponent()\">\n <mat-icon class=\"fa-solid fa-square-xmark\"></mat-icon>\n </button>\n</div>","import { Provider } from '@angular/core';\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig } from './model';\n\nexport const provideNgssmRemoteCallConfig = (config: RemoteCallConfig): Provider => ({\n provide: NGSSM_REMOTE_CALL_CONFIG,\n useValue: config,\n multi: true\n});\n","/*\n * Public API Surface of ngssm-remote-data\n */\n\nexport * from './lib/remote-data/public-api';\nexport * from './lib/ngssm-remote-call/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i3","i5","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAAY,WAMX;AAND,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EANW,UAAU,KAAV,UAAU,GAMrB,EAAA,CAAA,CAAA;;ACOM,MAAM,oBAAoB,GAAG,CAAI,YAAgB,EAAE,aAA4B,GAAA,UAAU,CAAC,IAAI,MAAqB;AACxH,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,IAAI,EAAE,YAAY;AACnB,CAAA;;MCLY,0BAA0B,GAAG,IAAI,cAAc,CAAqB,4BAA4B;;;ACLtG,MAAM,qBAAqB,GAAG,CAAC,KAAY,KAChD,KAAK,CAAC,4BAA4B,CAAC,eAAe,EAAqB;AAElE,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,OAAqC,KACvF,MAAM,CAAC,KAAK,EAAE;AACZ,IAAA,CAAC,4BAA4B,CAAC,eAAe,GAAG,OAAO;AACxD,CAAA,EAAE;AAUQ,IAAA,4BAA4B,GAAlC,MAAM,4BAA4B,CAAA;;aAChB,IAAe,CAAA,eAAA,GAAG,mBAAH,CAAuB,EAAA;aACtC,IAAY,CAAA,YAAA,GAAoB,EAApB,CAAuB,EAAA;;AAF/C,4BAA4B,GAAA,8BAAA,GAAA,UAAA,CAAA;AAJxC,IAAA,iBAAiB,CAAC;QACjB,eAAe,EAAE,8BAA4B,CAAC,eAAe;QAC7D,YAAY,EAAE,8BAA4B,CAAC,YAAY;KACxD,CAAC;AACW,CAAA,EAAA,4BAA4B,CAGxC;;ACrBY,MAAA,gBAAgB,GAAG,CAAC,KAAY,EAAE,aAAqB,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAC,aAAa;;ICJvG,qBAKX;AALD,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,uCAAwD,CAAA;AACxD,IAAA,oBAAA,CAAA,0BAAA,CAAA,GAAA,iDAA4E,CAAA;AAC5E,IAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,sCAAsD,CAAA;AACtD,IAAA,oBAAA,CAAA,sBAAA,CAAA,GAAA,6CAAoE,CAAA;AACtE,CAAC,EALW,oBAAoB,KAApB,oBAAoB,GAK/B,EAAA,CAAA,CAAA;;MCAY,oBAAoB,CAAA;IAG/B,WAA4B,CAAA,aAAqB,EAAkB,MAA6B,EAAA;QAApE,IAAa,CAAA,aAAA,GAAb,aAAa,CAAQ;QAAkB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAuB;AAFhF,QAAA,IAAA,CAAA,IAAI,GAAW,oBAAoB,CAAC,cAAc,CAAC;KAEiC;AACrG;;MCHY,8BAA8B,CAAA;IAGzC,WACkB,CAAA,aAAqB,EACrB,MAAkB,EAClB,IAAS,EACT,OAAgB,EAChB,eAAiC,EAAA;QAJjC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAQ;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;QAClB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;QACT,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;AAPnC,QAAA,IAAA,CAAA,IAAI,GAAW,oBAAoB,CAAC,wBAAwB,CAAC;KAQzE;AACL;;MCKY,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAoB,KAAY,EAAA;QAAZ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;KAAI;AAE7B,IAAA,WAAW,CAAC,KAA6B,EAAA;AAC9C,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAwC,CAAC;AAClE,QAAA,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;YACnD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;AACtH,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;8GAVU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;AAcM,MAAM,qBAAqB,GAAG,CAAc,aAAqB,EAAE,MAA8B,GAAA,EAAE,WAAW,EAAE,IAAI,EAAE,KAAa;AACxI,IAAA,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9E,IAAA,OAAO,IAAI,CAAC;AACd;;ACxBA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AAUjC,MAAO,oCAAqC,SAAQ,cAAc,CAAA;AAOtE,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;AAPE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAEzD,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;AAIlC,QAAA,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;YACtG,IAAI,aAAa,GAAG,cAAc,CAAC;YACnC,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,YAAA,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;AACb,gBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;AAClD,gBAAA,IAAI,SAAS,EAAE;oBACb,aAAa,GAAG,CAAC,aAAa,EAAE,aAAa,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxG,iBAAA;gBAED,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,UAAU,CAAC,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;AACxF,aAAA;AAED,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACJ;IAED,IAAa,aAAa,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAED,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;KACvC;IAEM,MAAM,GAAA;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3E;8GA1CU,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBjD,uOAGS,EDeG,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,mFAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK7D,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBARhD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAC/B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAGxD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uOAAA,EAAA,CAAA;4FAOtC,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAqBO,aAAa,EAAA,CAAA;sBAAzB,KAAK;;;AEnCF,MAAO,+BAAgC,SAAQ,cAAc,CAAA;IAIjE,WAAY,CAAA,KAAY,EAAU,aAAkC,EAAA;QAClE,KAAK,CAAC,KAAK,CAAC,CAAC;QADmB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;QAF5D,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAI1B,QAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;KACxE;IAED,IAAa,sBAAsB,CAAC,MAAgB,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC9B,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;gBAC9G,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AACxD,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,wBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACjC,wBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,wBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACjC,wBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC1B,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;8GA3BU,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAF/B,CAAC,mBAAmB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAErB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;gIAUc,sBAAsB,EAAA,CAAA;sBAAlC,KAAK;;;ACLF,MAAO,iCAAkC,SAAQ,cAAc,CAAA;AACnE,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;KACd;IAEM,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;KAC7D;8GAPU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB9C,6JAGA,EDUY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK7D,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAR7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC3B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAGxD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6JAAA,EAAA,CAAA;;;AEY3C,MAAO,oBAAqB,SAAQ,cAAc,CAAA;AAKtD,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;AALE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,EAAE,CAAC,CAAC;QAE7C,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AAKtC,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC9D,YAAA,MAAM,MAAM,GAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;gBACvD,GAAG;AACH,gBAAA,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;AAClB,aAAA,CAAC,CAAC,CAAC;AACJ,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;KACrC;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;KACpE;AAEM,IAAA,WAAW,CAAC,KAAY,EAAA;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KAC/G;8GA3BU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EC5BjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,m7EA4CqB,EDrBT,MAAA,EAAA,CAAA,qPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,mLAAE,wBAAwB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKtG,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cACZ,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,wBAAwB,CAAC,EAGjG,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,m7EAAA,EAAA,MAAA,EAAA,CAAA,qPAAA,CAAA,EAAA,CAAA;;;MElBpC,mBAAmB,CAAA;AAK9B,IAAA,WAAA,CAAoB,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAFxB,IAAgB,CAAA,gBAAA,GAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;KAEjF;AAErC,IAAA,aAAa,CAAC,KAAY,EAAE,KAAY,EAAE,MAAc,EAAA;QAC7D,QAAQ,MAAM,CAAC,IAAI;AACjB,YAAA,KAAK,oBAAoB,CAAC,aAAa,EAAE;gBACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACtD,oBAAA,YAAY,EAAE,IAAI;AACnB,iBAAA,CAAC,CAAC;gBAEH,MAAM;AACP,aAAA;AAED,YAAA,KAAK,oBAAoB,CAAC,oBAAoB,EAAE;AAC9C,gBAAA,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBAExB,MAAM;AACP,aAAA;AACF,SAAA;KACF;8GAxBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAnB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;AA4BJ,MAAM,2BAA2B,GAAa;AACnD,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,mBAAmB;AAC7B,IAAA,KAAK,EAAE,IAAI;CACZ;;MC7BY,uBAAuB,CAAA;IAKlC,WACkD,CAAA,mBAAyC,EACjF,eAAqC,EAAA;QAArC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAsB;AAJ/B,QAAA,IAAA,CAAA,gBAAgB,GAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAMjF,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,CAA6B,CAAC,mBAAmB,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KACpI;AAEM,IAAA,aAAa,CAAC,KAAY,EAAE,KAAY,EAAE,MAAc,EAAA;QAC7D,MAAM,oBAAoB,GAAG,MAA8B,CAAC;QAC5D,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC9E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAExF,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE;YAC5D,OAAO;AACR,SAAA;QAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;AACxC,YAAA,IAAI,EAAE,CAAC,KAAK,KAAI;AACd,gBAAA,KAAK,CAAC,cAAc,CAAC,IAAI,8BAA8B,CAAC,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACvH,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE;oBACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;AAC5D,iBAAA;aACF;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,OAAO,CAAC,KAAK,CAAC,CAA4B,yBAAA,EAAA,oBAAoB,CAAC,aAAa,CAAG,CAAA,CAAA,EAAE,KAAK,CAAC,CAAC;AACxF,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,wBAAwB,EAAE;AAC/C,oBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5F,iBAAA;gBAED,KAAK,CAAC,cAAc,CAClB,IAAI,8BAA8B,CAAC,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAClH,CAAC;aACH;AACF,SAAA,CAAC,CAAC;KACJ;AAvCU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAMxB,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHANzB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;0BAON,MAAM;2BAAC,0BAA0B,CAAA;;0BAAG,QAAQ;;AAoC1C,MAAM,+BAA+B,GAAa;AACvD,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,uBAAuB;AACjC,IAAA,KAAK,EAAE,IAAI;CACZ;;MC/CY,iBAAiB,CAAA;AAK5B,IAAA,WAAA,CAA4D,mBAAyC,EAAA;QAFrF,IAAgB,CAAA,gBAAA,GAAa,CAAC,oBAAoB,CAAC,cAAc,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;AAGhI,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,CAA6B,CAAC,mBAAmB,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KACpI;IAEM,WAAW,CAAC,KAAY,EAAE,MAAc,EAAA;QAC7C,QAAQ,MAAM,CAAC,IAAI;YACjB,KAAK,oBAAoB,CAAC,cAAc;gBACtC,MAAM,oBAAoB,GAAG,MAA8B,CAAC;gBAC5D,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAC9E,IAAI,CAAC,IAAI,EAAE;AACT,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AAED,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACxF,IAAI,CAAC,QAAQ,EAAE;AACb,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;gBAED,IACE,CAAC,QAAQ,CAAC,sBAAsB;AAChC,oBAAA,oBAAoB,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI;AACjD,oBAAA,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI;AAC/B,oBAAA,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK;AAChC,oBAAA,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ;oBACnC,CAAC,IAAI,CAAC,SAAS;AACf,oBAAA,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EACzF;oBACA,OAAO,qBAAqB,CAAC,KAAK,EAAE;AAClC,wBAAA,CAAC,oBAAoB,CAAC,aAAa,GAAG;AACpC,4BAAA,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;AACpC,4BAAA,YAAY,EAAE;AACZ,gCAAA,MAAM,EAAE,CAAC,KAAK,KAAI;AAChB,oCAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,sBAAsB,KAAK,IAAI,EAAE;AAC/F,wCAAA,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5C,qCAAA;AAED,oCAAA,OAAO,KAAK,CAAC;iCACd;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;gBAED,MAAM;YAER,KAAK,oBAAoB,CAAC,wBAAwB;gBAChD,MAAM,8BAA8B,GAAG,MAAwC,CAAC;gBAChF,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,8BAA8B,CAAC,aAAa,CAAC,EAAE;oBACpF,OAAO,qBAAqB,CAAC,KAAK,EAAE;AAClC,wBAAA,CAAC,8BAA8B,CAAC,aAAa,GAAG;AAC9C,4BAAA,MAAM,EAAE,EAAE,IAAI,EAAE,8BAA8B,CAAC,MAAM,EAAE;AACvD,4BAAA,IAAI,EAAE,EAAE,IAAI,EAAE,8BAA8B,CAAC,IAAI,EAAE;AACnD,4BAAA,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;AAC/B,4BAAA,OAAO,EAAE,EAAE,IAAI,EAAE,8BAA8B,CAAC,OAAO,EAAE;AACzD,4BAAA,KAAK,EAAE,EAAE,IAAI,EAAE,8BAA8B,CAAC,eAAe,EAAE;AAChE,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;gBAED,MAAM;AACT,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AApEU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAKR,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHALnC,iBAAiB,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;0BAMI,MAAM;2BAAC,0BAA0B,CAAA;;0BAAG,QAAQ;;AAkEpD,MAAM,yBAAyB,GAAa;AACjD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,KAAK,EAAE,IAAI;CACZ;;MC5EY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CAAoE,mBAAyC,EAAA;QAAzC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;KAAI;AAE1G,IAAA,eAAe,CAAC,KAAY,EAAA;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,EAAE,MAAM,CAC5C,CAAC,CAAC,EAAE,QAAQ,KAAK,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAC9G,SAAS,CACV,CAAC;KACH;AATU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBACjB,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHADnC,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;0BAEI,MAAM;2BAAC,0BAA0B,CAAA;;0BAAG,QAAQ;;;ACDpD,MAAM,sBAAsB,GAAG,MAA2B;AAC/D,IAAA,OAAO,wBAAwB,CAAC;QAC9B,yBAAyB;QACzB,+BAA+B;QAC/B,2BAA2B;QAC3B,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE;AACxF,KAAA,CAAC,CAAC;AACL;;ACfA;;AAEG;;MCMU,wBAAwB,GAAG,IAAI,cAAc,CAAmB,0BAA0B;;ICR3F,iBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;AAC1B,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACX,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA;;ACIY,MAAA,oBAAoB,GAAG,CAAC,SAA2B,gBAAgB,CAAC,IAAI,MAAkB,EAAE,MAAM,EAAE;;;ACH1G,MAAM,0BAA0B,GAAG,CAAC,KAAY,KACrD,KAAK,CAAC,iCAAiC,CAAC,eAAe,EAA0B;AAE5E,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAE,OAA0C,KACjG,MAAM,CAAC,KAAK,EAAE;AACZ,IAAA,CAAC,iCAAiC,CAAC,eAAe,GAAG,OAAO;AAC7D,CAAA,EAAE;AAUQ,IAAA,iCAAiC,GAAvC,MAAM,iCAAiC,CAAA;;aACrB,IAAe,CAAA,eAAA,GAAG,yBAAH,CAA6B,EAAA;AAC5C,IAAA,SAAA,IAAA,CAAA,YAAY,GAAyB;AAC1D,QAAA,WAAW,EAAE,EAAE;AAChB,KAFkC,CAEjC,EAAA;;AAJS,iCAAiC,GAAA,mCAAA,GAAA,UAAA,CAAA;AAJ7C,IAAA,iBAAiB,CAAC;QACjB,eAAe,EAAE,mCAAiC,CAAC,eAAe;QAClE,YAAY,EAAE,mCAAiC,CAAC,YAAY;KAC7D,CAAC;AACW,CAAA,EAAA,iCAAiC,CAK7C;;MCvBY,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAU,KACvD,0BAA0B,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,oBAAoB;;MCG9D,+BAA+B,CAAA;AAC1C,IAAA,WAAA,CAAkE,iBAAqC,EAAA;QAArC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAoB;KAAI;AAEpG,IAAA,eAAe,CAAC,KAAY,EAAA;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,MAAM,CAC1C,CAAC,CAAC,EAAE,MAAM,KAAK,0BAA0B,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3H,SAAS,CACV,CAAC;KACH;AATU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,kBACtB,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHADjC,+BAA+B,EAAA,CAAA,CAAA,EAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;;0BAEI,MAAM;2BAAC,wBAAwB,CAAA;;0BAAG,QAAQ;;;MCA5C,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAkE,iBAAqC,EAAA;QAArC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAoB;QAFvF,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;AAG9C,QAAA,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;KACnI;IAEM,WAAW,CAAC,KAAY,EAAE,MAAc,EAAA;AAC7C,QAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,MAAM,CACnD,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACjG,CAAC;QACF,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;YACzB,IAAI,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrD,gBAAA,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE;AAC1C,oBAAA,WAAW,EAAE;AACX,wBAAA,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;AACzE,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;gBACL,MAAM,2BAA2B,GAAG,MAAqC,CAAC;AAC1E,gBAAA,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE;AAC1C,oBAAA,WAAW,EAAE;wBACX,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,2BAA2B,CAAC,UAAU,EAAE;AAC9D,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACf;AA9BU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAGR,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAHjC,iBAAiB,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;0BAII,MAAM;2BAAC,wBAAwB,CAAA;;0BAAG,QAAQ;;AA8BlD,MAAM,yBAAyB,GAAa;AACjD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,KAAK,EAAE,IAAI;CACZ;;IC9CW,0BAEX;AAFD,CAAA,UAAY,yBAAyB,EAAA;AACnC,IAAA,yBAAA,CAAA,eAAA,CAAA,GAAA,2CAA2D,CAAA;AAC7D,CAAC,EAFW,yBAAyB,KAAzB,yBAAyB,GAEpC,EAAA,CAAA,CAAA;;MCCY,2BAA2B,CAAA;IACtC,WAA4B,CAAA,IAAY,EAAkB,UAAsB,EAAA;QAApD,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAAkB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AACrF;;MCDY,mBAAmB,CAAA;IAG9B,WAA4B,CAAA,YAAoB,EAAkB,UAAsB,EAAA;QAA5D,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAQ;QAAkB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFxE,QAAA,IAAA,CAAA,IAAI,GAAW,yBAAyB,CAAC,aAAa,CAAC;KAEqB;AAC7F;;MCAY,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEkB,QAAA,IAAA,CAAA,gBAAgB,GAAa,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;AAgBxF,KAAA;IAdQ,WAAW,CAAC,KAAY,EAAE,MAAc,EAAA;QAC7C,QAAQ,MAAM,CAAC,IAAI;AACjB,YAAA,KAAK,yBAAyB,CAAC,aAAa,EAAE;gBAC5C,MAAM,mBAAmB,GAAG,MAA6B,CAAC;gBAC1D,OAAO,0BAA0B,CAAC,KAAK,EAAE;AACvC,oBAAA,WAAW,EAAE;wBACX,CAAC,mBAAmB,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,mBAAmB,CAAC,UAAU,EAAE;AAC7E,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;8GAhBU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;AAoBJ,MAAM,+BAA+B,GAAa;AACvD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE,uBAAuB;AACjC,IAAA,KAAK,EAAE,IAAI;CACZ;;AC1BM,MAAM,sBAAsB,GAAG,MAA2B;AAC/D,IAAA,OAAO,wBAAwB,CAAC;QAC9B,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5F,yBAAyB;QACzB,+BAA+B;AAChC,KAAA,CAAC,CAAC;AACL;;ACTO,MAAM,qBAAqB,GAAW;;ACYvC,MAAO,wBAAyB,SAAQ,cAAc,CAAA;IAG1D,WAAY,CAAA,KAAY,EAAU,aAAkC,EAAA;QAClE,KAAK,CAAC,KAAK,CAAC,CAAC;QADmB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;AAElE,QAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;KACxE;IAED,IAA8B,YAAY,CAAC,KAAa,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACpF,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,CAAC,UAAU,EAAE;AAChD,gBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAClC,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAClC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;8GAjBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,mBAAmB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAErB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;gIAS+B,YAAY,EAAA,CAAA;sBAAzC,KAAK;uBAAC,iBAAiB,CAAA;;;ACHpB,MAAO,6BAA8B,SAAQ,cAAc,CAAA;AAM/D,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;AANE,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAA8B,SAAS,CAAC,CAAC;QAEpE,IAAc,CAAA,cAAA,GAAG,yBAAyB,CAAC;AAKtE,QAAA,IAAI,CAAC,cAAc;AAChB,aAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,aAAA,SAAS,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;KAC9E;IAED,IAAoB,YAAY,CAAC,KAAa,EAAA;AAC5C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;AAED,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAC9C;IAEM,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACxC;8GAxBU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,8MCnB1C,kWAMM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDQM,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2LAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK3C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EACvB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,EAGtC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kWAAA,EAAA,CAAA;4FAMlB,cAAc,EAAA,CAAA;sBAA1C,WAAW;uBAAC,OAAO,CAAA;gBAUA,YAAY,EAAA,CAAA;sBAA/B,KAAK;;;ME9BK,4BAA4B,GAAG,CAAC,MAAwB,MAAgB;AACnF,IAAA,OAAO,EAAE,wBAAwB;AACjC,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,IAAI;AACZ,CAAA;;ACPD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"ngssm-remote-data.mjs","sources":["../../../projects/ngssm-remote-data/src/lib/remote-data/model/data-status.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/model/remote-data.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/model/remote-data-provider.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/state/remote-data.state.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/state/selectors.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/remote-data-action-type.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/load-remote-data.action.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/actions/register-loaded-remote-data.action.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/guards/remote-data-loading.guard.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-reload-button/ngssm-remote-data-reload-button.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-reload-button/ngssm-remote-data-reload-button.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-remote-data-overlay.directive.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches-display-button/ngssm-caches-display-button.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches-display-button/ngssm-caches-display-button.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches/ngssm-caches.component.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/components/ngssm-caches/ngssm-caches.component.html","../../../projects/ngssm-remote-data/src/lib/remote-data/effects/caches-display.effect.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/effects/remote-data-loading.effect.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/reducers/remote-data.reducer.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/remote-data-state-initializer.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/provide-ngssm-remote-data.ts","../../../projects/ngssm-remote-data/src/lib/remote-data/public-api.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call-config.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call-status.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/model/remote-call.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/state/ngssm-remote-call.state.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/state/selectors.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/ngssm-remote-call-state-initializer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/reducers/remote-call.reducer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/ngssm-remote-call-action-type.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/ngssm-remote-call-result.action.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/actions/set-remote-call.action.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/reducers/remote-call-setter.reducer.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/provide-ngssm-remote-call.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call.directive.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call-error/ngssm-remote-call-error.component.ts","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/components/ngssm-remote-call-error/ngssm-remote-call-error.component.html","../../../projects/ngssm-remote-data/src/lib/ngssm-remote-call/provide-ngssm-remote-call-config.ts","../../../projects/ngssm-remote-data/src/public-api.ts","../../../projects/ngssm-remote-data/src/ngssm-remote-data.ts"],"sourcesContent":["export enum DataStatus {\n none = 'None',\n loading = 'Loading',\n loaded = 'Loaded',\n notFound = 'NotFound',\n error = 'Error'\n}\n","import { RemoteCallError } from '../../ngssm-remote-call/model';\nimport { DataStatus } from './data-status';\nimport { RemoteDataGetterParams } from './remote-data-getter-params';\n\nexport interface RemoteData<TData = any, TGetterParams = any> {\n status: DataStatus;\n data?: TData;\n timestamp?: Date;\n message?: string;\n error?: RemoteCallError;\n getterParams?: RemoteDataGetterParams<TGetterParams>;\n}\n\nexport const getDefaultRemoteData = <T>(defaultValue?: T, defaultStatus: DataStatus = DataStatus.none): RemoteData<T> => ({\n status: defaultStatus,\n data: defaultValue\n});\n","import { EnvironmentProviders, InjectionToken, Type, makeEnvironmentProviders } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RemoteDataGetterParams } from './remote-data-getter-params';\n\nexport interface RemoteDataProvider<TData = any, TValue = any> {\n readonly remoteDataKey: string;\n readonly cacheDurationInSeconds?: number;\n\n get(params?: RemoteDataGetterParams<TValue>): Observable<TData>;\n}\n\nexport const NGSSM_REMOTE_DATA_PROVIDER = new InjectionToken<RemoteDataProvider>('NGSSM_REMOTE_DATA_PROVIDER');\n\nexport const provideRemoteDataProviders = (...providers: Type<RemoteDataProvider>[]): EnvironmentProviders => {\n return makeEnvironmentProviders(providers.map((provider) => ({ provide: NGSSM_REMOTE_DATA_PROVIDER, useClass: provider, multi: true })));\n};\n\nexport interface RemoteDataLoadingFunc<TData = any, TValue = any> {\n (params?: RemoteDataGetterParams<TValue>): Observable<TData>;\n}\n\nexport const provideRemoteDataFunc = <TData = any, TValue = any>(\n remoteDataKey: string,\n remoteDataLoadingFunc: RemoteDataLoadingFunc<TData, TValue>,\n cacheDurationInSeconds?: number\n): EnvironmentProviders => {\n return makeEnvironmentProviders([\n {\n provide: NGSSM_REMOTE_DATA_PROVIDER,\n useFactory: () => {\n const provider: RemoteDataProvider<TData, TValue> = {\n remoteDataKey,\n cacheDurationInSeconds,\n get: remoteDataLoadingFunc\n };\n return provider;\n },\n multi: true\n }\n ]);\n};\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nimport { RemoteData } from '../model';\n\nexport const selectRemoteDataState = (state: State): RemoteDataState =>\n state[RemoteDataStateSpecification.featureStateKey] as RemoteDataState;\n\nexport const updateRemoteDataState = (state: State, command: Spec<RemoteDataState, never>): State =>\n update(state, {\n [RemoteDataStateSpecification.featureStateKey]: command\n });\n\nexport interface RemoteDataState {\n [key: string]: RemoteData<any>;\n}\n\n@NgSsmFeatureState({\n featureStateKey: RemoteDataStateSpecification.featureStateKey,\n initialState: RemoteDataStateSpecification.initialState\n})\nexport class RemoteDataStateSpecification {\n public static readonly featureStateKey = 'remote-data-state';\n public static readonly initialState: RemoteDataState = {};\n}\n","import { State } from 'ngssm-store';\n\nimport { selectRemoteDataState } from './remote-data.state';\n\nexport const selectRemoteData = (state: State, remoteDataKey: string) => selectRemoteDataState(state)[remoteDataKey];\n","export enum RemoteDataActionType {\n loadRemoteData = '[RemoteDataActionType] loadRemoteData',\n registerLoadedRemoteData = '[RemoteDataActionType] registerLoadedRemoteData',\n displayCaches = '[RemoteDataActionType] displayCaches',\n closeCachesComponent = '[RemoteDataActionType] closeCachesComponent'\n}\n","import { Action } from 'ngssm-store';\n\nimport { ReloadParams } from '../model';\nimport { RemoteDataActionType } from './remote-data-action-type';\n\nexport class LoadRemoteDataAction<TValue = any> implements Action {\n public readonly type: string = RemoteDataActionType.loadRemoteData;\n\n constructor(public readonly remoteDataKey: string, public readonly params?: ReloadParams<TValue>) {}\n}\n","import { Action } from 'ngssm-store';\n\nimport { RemoteCallError } from '../../ngssm-remote-call/model';\nimport { DataStatus } from '../model';\nimport { RemoteDataActionType } from './remote-data-action-type';\n\nexport class RegisterLoadedRemoteDataAction implements Action {\n public readonly type: string = RemoteDataActionType.registerLoadedRemoteData;\n\n constructor(\n public readonly remoteDataKey: string,\n public readonly status: DataStatus,\n public readonly data: any,\n public readonly message?: string,\n public readonly remoteCallError?: RemoteCallError\n ) {}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { Store } from 'ngssm-store';\n\nimport { LoadRemoteDataAction } from '../actions';\nimport { ReloadParams } from '../model';\n\nexport interface RemoteDataLoadingGuardItem {\n remoteDataKey: string;\n forceReload?: boolean;\n}\n\nexport interface RemoteDataLoadingGuardParameters {\n remoteDataItems: RemoteDataLoadingGuardItem[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RemoteDataLoadingGuard {\n constructor(private store: Store) {}\n\n public canActivate(route: ActivatedRouteSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const parameters = route.data as RemoteDataLoadingGuardParameters;\n (parameters?.remoteDataItems ?? []).forEach((item) => {\n this.store.dispatchAction(new LoadRemoteDataAction(item.remoteDataKey, { forceReload: item.forceReload === true }));\n });\n\n return true;\n }\n}\n\nexport const ngssmReloadRemoteData = <TData = any>(\n remoteDataKey: string,\n params: ReloadParams<TData> = { forceReload: true }\n): (() => boolean) => {\n return () => {\n inject(Store).dispatchAction(new LoadRemoteDataAction(remoteDataKey, params));\n return true;\n };\n};\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { LoadRemoteDataAction } from '../../actions';\nimport { selectRemoteDataState } from '../../state';\nimport { DataStatus } from '../../model';\n\nconst datePipe = new DatePipe('en-US');\n\n@Component({\n selector: 'ngssm-remote-data-reload-button',\n standalone: true,\n imports: [CommonModule, MatIconModule, MatButtonModule, MatTooltipModule],\n templateUrl: './ngssm-remote-data-reload-button.component.html',\n styleUrls: ['./ngssm-remote-data-reload-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmRemoteDataReloadButtonComponent extends NgSsmComponent {\n private readonly _remoteDataKey$ = new BehaviorSubject<string>('');\n private readonly _tooltipMessage$ = new BehaviorSubject<string>('');\n private readonly _disabled$ = new BehaviorSubject<boolean>(false);\n\n @Input() actionTypes: string[] = [];\n\n constructor(store: Store) {\n super(store);\n combineLatest([this.watch((s) => selectRemoteDataState(s)), this._remoteDataKey$]).subscribe((values) => {\n let tooltiMessage = 'Reload data.';\n let disabled = true;\n if (values[1]) {\n const timestamp = values[0][values[1]]?.timestamp;\n if (timestamp) {\n tooltiMessage = [tooltiMessage, `Loaded at ${datePipe.transform(timestamp, 'mediumTime')}`].join('\\n');\n }\n\n disabled = (values[0][values[1]]?.status ?? DataStatus.loading) === DataStatus.loading;\n }\n\n this._tooltipMessage$.next(tooltiMessage);\n this._disabled$.next(disabled);\n });\n }\n\n @Input() set remoteDataKey(value: string) {\n this._remoteDataKey$.next(value);\n }\n\n public get tooltipMessage$(): Observable<string> {\n return this._tooltipMessage$.asObservable();\n }\n\n public get disabled$(): Observable<boolean> {\n return this._disabled$.asObservable();\n }\n\n public reload(): void {\n this.dispatchAction(new LoadRemoteDataAction(this._remoteDataKey$.getValue(), { forceReload: true, keepStoredGetterParams: true }));\n\n (this.actionTypes ?? []).forEach((type) => this.dispatchActionType(type));\n }\n}\n","<button mat-icon-button color=\"primary\" (click)=\"reload()\" [matTooltip]=\"(tooltipMessage$ | async) ?? 'Reload'\"\n [disabled]=\"disabled$ | async\">\n <mat-icon class=\"fa-solid fa-rotate-right\"></mat-icon>\n</button>","import { Directive, Input } from '@angular/core';\nimport { combineLatest, Subscription } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\nimport { NgssmOverlayBuilder } from 'ngssm-toolkit';\n\nimport { DataStatus } from '../model';\nimport { selectRemoteData } from '../state';\n\n@Directive({\n selector: '[ngssmRemoteDataOverlay]',\n standalone: true,\n providers: [NgssmOverlayBuilder]\n})\nexport class NgssmRemoteDataOverlayDirective extends NgSsmComponent {\n private subscription: Subscription | undefined;\n private isDisplayed = false;\n\n constructor(store: Store, private overlyBuilder: NgssmOverlayBuilder) {\n super(store);\n this.unsubscribeAll$.subscribe(() => this.overlyBuilder.hideOverlay());\n }\n\n @Input() set ngssmRemoteDataOverlay(values: string[]) {\n this.subscription?.unsubscribe();\n this.subscription = undefined;\n if (values.length > 0) {\n this.subscription = combineLatest(values.map((v) => this.watch((s) => selectRemoteData(s, v)))).subscribe((v) => {\n if (v.map((w) => w?.status).includes(DataStatus.loading)) {\n if (!this.isDisplayed) {\n this.overlyBuilder.showOverlay();\n this.isDisplayed = true;\n }\n } else {\n if (this.isDisplayed) {\n this.overlyBuilder.hideOverlay();\n this.isDisplayed = false;\n }\n }\n });\n }\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { RemoteDataActionType } from '../../actions';\n\n@Component({\n selector: 'ngssm-caches-display-button',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule],\n templateUrl: './ngssm-caches-display-button.component.html',\n styleUrls: ['./ngssm-caches-display-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmCachesDisplayButtonComponent extends NgSsmComponent {\n constructor(store: Store) {\n super(store);\n }\n\n public displayCaches(): void {\n this.dispatchActionType(RemoteDataActionType.displayCaches);\n }\n}\n","<button mat-icon-button matTooltip=\"Display caches\" (click)=\"displayCaches()\">\n <mat-icon class=\"fa-solid fa-cloud-bolt\"></mat-icon>\n</button>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { RemoteDataActionType, LoadRemoteDataAction } from '../../actions';\nimport { DataStatus, RemoteData } from '../../model';\nimport { selectRemoteDataState } from '../../state';\n\ninterface Cache {\n key: string;\n value: RemoteData;\n}\n\n@Component({\n selector: 'ngssm-caches',\n standalone: true,\n imports: [CommonModule, MatDialogModule, MatButtonModule, MatTableModule, MatIconModule, MatProgressSpinnerModule],\n templateUrl: './ngssm-caches.component.html',\n styleUrls: ['./ngssm-caches.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmCachesComponent extends NgSsmComponent {\n private readonly _caches$ = new BehaviorSubject<Cache[]>([]);\n\n public readonly dataStatus = DataStatus;\n\n constructor(store: Store) {\n super(store);\n\n this.watch((s) => selectRemoteDataState(s)).subscribe((state) => {\n const caches: Cache[] = Object.keys(state).map((key) => ({\n key,\n value: state[key]\n }));\n this._caches$.next(caches);\n });\n }\n\n public get caches$(): Observable<Cache[]> {\n return this._caches$.asObservable();\n }\n\n public close(): void {\n this.dispatchActionType(RemoteDataActionType.closeCachesComponent);\n }\n\n public reloadCache(cache: Cache): void {\n this.dispatchAction(new LoadRemoteDataAction(cache.key, { forceReload: true, keepStoredGetterParams: true }));\n }\n}\n","<h1 mat-dialog-title>List of caches</h1>\n<mat-dialog-content class=\"flex-column-stretch fxFlex\">\n <mat-table [dataSource]=\"caches$\" class=\"fxFlex\">\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell *matHeaderCellDef> </mat-header-cell>\n <mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [disabled]=\"element.value.status === dataStatus.loading\" (click)=\"reloadCache(element)\" color=\"primary\" id=\"reload_{{element.key}}\">\n <mat-icon class=\"fa-solid fa-rotate-right\"></mat-icon>\n </button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"key\">\n <mat-header-cell *matHeaderCellDef> Key </mat-header-cell>\n <mat-cell *matCellDef=\"let element\"> {{element.key}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"status\">\n <mat-header-cell *matHeaderCellDef> Status </mat-header-cell>\n <mat-cell *matCellDef=\"let element\">\n\n <div [ngSwitch]=\"element.value.status\">\n <mat-icon *ngSwitchCase=\"dataStatus.none\" class=\"fa-solid fa-minus\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.loaded\" class=\"fa-solid fa-check\" color=\"primary\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.error\" class=\"fa-solid fa-xmark\" color=\"warn\"></mat-icon>\n <mat-icon *ngSwitchCase=\"dataStatus.notFound\" class=\"fa-solid fa-xmark\" color=\"warn\"></mat-icon>\n <mat-spinner [diameter]=\"20\" *ngSwitchCase=\"dataStatus.loading\"></mat-spinner>\n </div>\n\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"timestamp\">\n <mat-header-cell *matHeaderCellDef> Timestamp </mat-header-cell>\n <mat-cell *matCellDef=\"let element\"> {{element.value.timestamp}} </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"['actions', 'status', 'key', 'timestamp']; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: ['actions', 'status', 'key', 'timestamp']\"></mat-row>\n </mat-table>\n</mat-dialog-content>\n<mat-dialog-actions class=\"flex-row-center\">\n <span class=\"fxFlex\"></span>\n <button mat-button (click)=\"close()\" id=\"closeButton\">Close</button>\n</mat-dialog-actions>","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { Effect, Store, State, Action } from 'ngssm-store';\nimport { RemoteDataActionType } from '../actions';\nimport { NgssmCachesComponent } from '../components';\n\n@Injectable()\nexport class CachesDisplayEffect implements Effect {\n private dialog: MatDialogRef<NgssmCachesComponent> | undefined;\n\n public readonly processedActions: string[] = [RemoteDataActionType.displayCaches, RemoteDataActionType.closeCachesComponent];\n\n constructor(private matDialog: MatDialog) {}\n\n public processAction(store: Store, state: State, action: Action): void {\n switch (action.type) {\n case RemoteDataActionType.displayCaches: {\n this.dialog = this.matDialog.open(NgssmCachesComponent, {\n disableClose: true\n });\n\n break;\n }\n\n case RemoteDataActionType.closeCachesComponent: {\n this.dialog?.close();\n this.dialog = undefined;\n\n break;\n }\n }\n }\n}\n","import { EnvironmentInjector, Inject, Injectable, Optional, runInInjectionContext } from '@angular/core';\n\nimport { Effect, Store, State, Action } from 'ngssm-store';\nimport { NgssmNotifierService } from 'ngssm-toolkit';\n\nimport { LoadRemoteDataAction, RegisterLoadedRemoteDataAction, RemoteDataActionType } from '../actions';\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from '../model';\nimport { selectRemoteDataState } from '../state';\n\n@Injectable()\nexport class RemoteDataLoadingEffect implements Effect {\n private readonly remoteDataProvidersPerKey: Map<string, RemoteDataProvider>;\n\n public readonly processedActions: string[] = [RemoteDataActionType.loadRemoteData];\n\n constructor(\n @Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() remoteDataProviders: RemoteDataProvider[],\n private notifierService: NgssmNotifierService,\n private injector: EnvironmentInjector\n ) {\n this.remoteDataProvidersPerKey = new Map<string, RemoteDataProvider>((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));\n }\n\n public processAction(store: Store, state: State, action: Action): void {\n const loadRemoteDataAction = action as LoadRemoteDataAction;\n const item = selectRemoteDataState(state)[loadRemoteDataAction.remoteDataKey];\n const provider = this.remoteDataProvidersPerKey.get(loadRemoteDataAction.remoteDataKey);\n\n if (!item || !provider || item.status !== DataStatus.loading) {\n return;\n }\n\n runInInjectionContext(this.injector, () => {\n provider.get(item.getterParams).subscribe({\n next: (value) => {\n store.dispatchAction(new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.loaded, value));\n if (item.getterParams?.callbackAction) {\n store.dispatchActionType(item.getterParams.callbackAction);\n }\n },\n error: (error) => {\n console.error(`Unable to load data for '${loadRemoteDataAction.remoteDataKey}'`, error);\n if (item.getterParams?.errorNotificationMessage) {\n this.notifierService.notifyError(item.getterParams.errorNotificationMessage(error?.error));\n }\n\n store.dispatchAction(\n new RegisterLoadedRemoteDataAction(loadRemoteDataAction.remoteDataKey, DataStatus.error, undefined, error?.error)\n );\n }\n });\n });\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { LoadRemoteDataAction, RegisterLoadedRemoteDataAction, RemoteDataActionType } from '../actions';\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from '../model';\nimport { selectRemoteDataState, updateRemoteDataState } from '../state';\n\n@Injectable()\nexport class RemoteDataReducer implements Reducer {\n private readonly remoteDataProvidersPerKey: Map<string, RemoteDataProvider>;\n\n public readonly processedActions: string[] = [RemoteDataActionType.loadRemoteData, RemoteDataActionType.registerLoadedRemoteData];\n\n constructor(@Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() remoteDataProviders: RemoteDataProvider[]) {\n this.remoteDataProvidersPerKey = new Map<string, RemoteDataProvider>((remoteDataProviders ?? []).map((r) => [r.remoteDataKey, r]));\n }\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case RemoteDataActionType.loadRemoteData:\n const loadRemoteDataAction = action as LoadRemoteDataAction;\n const item = selectRemoteDataState(state)[loadRemoteDataAction.remoteDataKey];\n if (!item) {\n return state;\n }\n\n const provider = this.remoteDataProvidersPerKey.get(loadRemoteDataAction.remoteDataKey);\n if (!provider) {\n return state;\n }\n\n if (\n !provider.cacheDurationInSeconds ||\n loadRemoteDataAction.params?.forceReload === true ||\n item.status === DataStatus.none ||\n item.status === DataStatus.error ||\n item.status === DataStatus.notFound ||\n !item.timestamp ||\n new Date().getTime() - item.timestamp.getTime() >= 1000 * provider.cacheDurationInSeconds\n ) {\n return updateRemoteDataState(state, {\n [loadRemoteDataAction.remoteDataKey]: {\n status: { $set: DataStatus.loading },\n getterParams: {\n $apply: (value) => {\n if (!loadRemoteDataAction.params || loadRemoteDataAction.params.keepStoredGetterParams !== true) {\n return loadRemoteDataAction.params?.params;\n }\n\n return value;\n }\n }\n }\n });\n }\n\n break;\n\n case RemoteDataActionType.registerLoadedRemoteData:\n const registerLoadedRemoteDataAction = action as RegisterLoadedRemoteDataAction;\n if (this.remoteDataProvidersPerKey.has(registerLoadedRemoteDataAction.remoteDataKey)) {\n return updateRemoteDataState(state, {\n [registerLoadedRemoteDataAction.remoteDataKey]: {\n status: { $set: registerLoadedRemoteDataAction.status },\n data: { $set: registerLoadedRemoteDataAction.data },\n timestamp: { $set: new Date() },\n message: { $set: registerLoadedRemoteDataAction.message },\n error: { $set: registerLoadedRemoteDataAction.remoteCallError }\n }\n });\n }\n\n break;\n }\n\n return state;\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { State, StateInitializer } from 'ngssm-store';\n\nimport { DataStatus, RemoteDataProvider, NGSSM_REMOTE_DATA_PROVIDER } from './model';\nimport { updateRemoteDataState } from './state';\n\n@Injectable()\nexport class RemoteDataStateInitializer implements StateInitializer {\n constructor(@Inject(NGSSM_REMOTE_DATA_PROVIDER) @Optional() private remoteDataProviders: RemoteDataProvider[]) {}\n\n public initializeState(state: State): State {\n let tempState = state;\n return (this.remoteDataProviders ?? []).reduce(\n (s, provider) => updateRemoteDataState(s, { [provider.remoteDataKey]: { $set: { status: DataStatus.none } } }),\n tempState\n );\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { NGSSM_STATE_INITIALIZER, provideEffects, provideReducer } from 'ngssm-store';\n\nimport { CachesDisplayEffect, RemoteDataLoadingEffect } from './effects';\nimport { RemoteDataReducer } from './reducers/remote-data.reducer';\nimport { RemoteDataStateInitializer } from './remote-data-state-initializer';\n\nexport const provideNgssmRemoteData = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n provideReducer(RemoteDataReducer),\n provideEffects(CachesDisplayEffect, RemoteDataLoadingEffect),\n { provide: NGSSM_STATE_INITIALIZER, useClass: RemoteDataStateInitializer, multi: true }\n ]);\n};\n","/*\n * Public API Surface of ngssm-remote-data\n */\n\nexport * from './model';\nexport * from './state';\nexport * from './actions';\nexport * from './guards';\nexport * from './components';\nexport * from './provide-ngssm-remote-data';\n","import { InjectionToken } from '@angular/core';\n\nexport interface RemoteCallConfig {\n id: string;\n triggeredActionTypes: string[];\n resultActionTypes: string[];\n}\n\nexport const NGSSM_REMOTE_CALL_CONFIG = new InjectionToken<RemoteCallConfig>('NGSSM_REMOTE_CALL_CONFIG');\n","export enum RemoteCallStatus {\n none = 'None',\n inProgress = 'In progress',\n done = 'Done',\n ko = 'Ko'\n}\n","import { RemoteCallError } from './remote-call-error';\nimport { RemoteCallStatus } from './remote-call-status';\n\nexport interface RemoteCall {\n status: RemoteCallStatus;\n error?: RemoteCallError;\n message?: string;\n}\n\nexport const getDefaultRemoteCall = (status: RemoteCallStatus = RemoteCallStatus.none): RemoteCall => ({ status });\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nimport { RemoteCall } from '../model';\n\nexport const selectNgssmRemoteCallState = (state: State): NgssmRemoteCallState =>\n state[NgssmRemoteCallStateSpecification.featureStateKey] as NgssmRemoteCallState;\n\nexport const updateNgssmRemoteCallState = (state: State, command: Spec<NgssmRemoteCallState, never>): State =>\n update(state, {\n [NgssmRemoteCallStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmRemoteCallState {\n remoteCalls: { [key: string]: RemoteCall };\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmRemoteCallStateSpecification.featureStateKey,\n initialState: NgssmRemoteCallStateSpecification.initialState\n})\nexport class NgssmRemoteCallStateSpecification {\n public static readonly featureStateKey = 'ngssm-remote-call-state';\n public static readonly initialState: NgssmRemoteCallState = {\n remoteCalls: {}\n };\n}\n","import { State } from 'ngssm-store';\nimport { getDefaultRemoteCall, RemoteCall } from '../model';\nimport { selectNgssmRemoteCallState } from './ngssm-remote-call.state';\n\nexport const selectRemoteCall = (state: State, id: string): RemoteCall =>\n selectNgssmRemoteCallState(state).remoteCalls[id] ?? getDefaultRemoteCall();\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { State, StateInitializer } from 'ngssm-store';\n\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig, RemoteCallStatus } from './model';\nimport { updateNgssmRemoteCallState } from './state';\n\n@Injectable()\nexport class NgssmRemoteCallStateInitializer implements StateInitializer {\n constructor(@Inject(NGSSM_REMOTE_CALL_CONFIG) @Optional() private remoteCallConfigs: RemoteCallConfig[]) {}\n\n public initializeState(state: State): State {\n let tempState = state;\n return (this.remoteCallConfigs ?? []).reduce(\n (s, config) => updateNgssmRemoteCallState(s, { remoteCalls: { [config.id]: { $set: { status: RemoteCallStatus.none } } } }),\n tempState\n );\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NgssmRemoteCallResultAction } from '../actions';\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig, RemoteCallStatus, getDefaultRemoteCall } from '../model';\nimport { updateNgssmRemoteCallState } from '../state';\n\n@Injectable()\nexport class RemoteCallReducer implements Reducer {\n public readonly processedActions: string[] = [];\n\n constructor(@Inject(NGSSM_REMOTE_CALL_CONFIG) @Optional() private remoteCallConfigs: RemoteCallConfig[]) {\n (this.remoteCallConfigs ?? []).forEach((c) => this.processedActions.push(...[...c.triggeredActionTypes, ...c.resultActionTypes]));\n }\n\n public updateState(state: State, action: Action): State {\n const configs = (this.remoteCallConfigs ?? []).filter(\n (c) => c.triggeredActionTypes.includes(action.type) || c.resultActionTypes.includes(action.type)\n );\n let output = state;\n configs.forEach((config) => {\n if (config.triggeredActionTypes.includes(action.type)) {\n output = updateNgssmRemoteCallState(output, {\n remoteCalls: {\n [config.id]: { $set: getDefaultRemoteCall(RemoteCallStatus.inProgress) }\n }\n });\n } else {\n const ngssmRemoteCallResultAction = action as NgssmRemoteCallResultAction;\n output = updateNgssmRemoteCallState(output, {\n remoteCalls: {\n [config.id]: { $set: ngssmRemoteCallResultAction.remoteCall }\n }\n });\n }\n });\n\n return output;\n }\n}\n","export enum NgssmRemoteCallActionType {\n setRemoteCall = '[NgssmRemoteCallActionType] setRemoteCall'\n}\n","import { Action } from 'ngssm-store';\nimport { RemoteCall } from '../model';\n\nexport class NgssmRemoteCallResultAction implements Action {\n constructor(public readonly type: string, public readonly remoteCall: RemoteCall) {}\n}\n","import { Action } from 'ngssm-store';\nimport { RemoteCall } from '../model';\nimport { NgssmRemoteCallActionType } from './ngssm-remote-call-action-type';\n\nexport class SetRemoteCallAction implements Action {\n public readonly type: string = NgssmRemoteCallActionType.setRemoteCall;\n\n constructor(public readonly remoteCallId: string, public readonly remoteCall: RemoteCall) {}\n}\n","import { Injectable } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NgssmRemoteCallActionType, SetRemoteCallAction } from '../actions';\nimport { updateNgssmRemoteCallState } from '../state';\n\n@Injectable()\nexport class RemoteCallSetterReducer implements Reducer {\n public readonly processedActions: string[] = [NgssmRemoteCallActionType.setRemoteCall];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmRemoteCallActionType.setRemoteCall: {\n const setRemoteCallAction = action as SetRemoteCallAction;\n return updateNgssmRemoteCallState(state, {\n remoteCalls: {\n [setRemoteCallAction.remoteCallId]: { $set: setRemoteCallAction.remoteCall }\n }\n });\n }\n }\n\n return state;\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { NGSSM_STATE_INITIALIZER, provideReducers } from 'ngssm-store';\nimport { NgssmRemoteCallStateInitializer } from './ngssm-remote-call-state-initializer';\nimport { RemoteCallReducer, RemoteCallSetterReducer } from './reducers';\n\nexport const provideNgssmRemoteCall = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n { provide: NGSSM_STATE_INITIALIZER, useClass: NgssmRemoteCallStateInitializer, multi: true },\n provideReducers(RemoteCallSetterReducer, RemoteCallReducer)\n ]);\n};\n","import { Directive, Input } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\nimport { NgssmOverlayBuilder } from 'ngssm-toolkit';\n\nimport { RemoteCallStatus } from '../model';\nimport { selectRemoteCall } from '../state';\n\n@Directive({\n selector: '[ngssmRemoteCall]',\n standalone: true,\n providers: [NgssmOverlayBuilder]\n})\nexport class NgssmRemoteCallDirective extends NgSsmComponent {\n private subscription: Subscription | undefined;\n\n constructor(store: Store, private overlyBuilder: NgssmOverlayBuilder) {\n super(store);\n this.unsubscribeAll$.subscribe(() => this.overlyBuilder.hideOverlay());\n }\n\n @Input('ngssmRemoteCall') set remoteCallId(value: string) {\n this.subscription?.unsubscribe();\n this.subscription = this.watch((s) => selectRemoteCall(s, value)).subscribe((value) => {\n if (value.status === RemoteCallStatus.inProgress) {\n this.overlyBuilder.showOverlay();\n } else {\n this.overlyBuilder.hideOverlay();\n }\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BehaviorSubject, Observable, Subject, switchMap } from 'rxjs';\n\nimport { NgSsmComponent, Store } from 'ngssm-store';\n\nimport { selectNgssmRemoteCallState } from '../../state';\nimport { RemoteCallError } from '../../model';\n\n@Component({\n selector: 'ngssm-remote-call-error',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './ngssm-remote-call-error.component.html',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgssmRemoteCallErrorComponent extends NgSsmComponent {\n private readonly _remoteCallId$ = new Subject<string>();\n private readonly _remoteCallError$ = new BehaviorSubject<RemoteCallError | undefined>(undefined);\n\n @HostBinding('class') public hostCssClasses = 'ngssm-remote-call-error';\n\n constructor(store: Store) {\n super(store);\n\n this._remoteCallId$\n .pipe(switchMap((v) => this.watch((s) => selectNgssmRemoteCallState(s).remoteCalls[v])))\n .subscribe((remoteCall) => this._remoteCallError$.next(remoteCall?.error));\n }\n\n @Input() public set remoteCallId(value: string) {\n this._remoteCallId$.next(value);\n }\n\n public get remoteCallError$(): Observable<RemoteCallError | undefined> {\n return this._remoteCallError$.asObservable();\n }\n\n public hideComponent(): void {\n this._remoteCallError$.next(undefined);\n }\n}\n","<div *ngIf=\"(remoteCallError$ | async) !== undefined\" class=\"ngssm-remote-call-error-container\">\n {{remoteCallError$ | async | json}}\n\n <button mat-icon-button color=\"warn\" class=\"ngssm-remote-call-error-close-button\" (click)=\"hideComponent()\">\n <mat-icon class=\"fa-solid fa-square-xmark\"></mat-icon>\n </button>\n</div>","import { Provider } from '@angular/core';\nimport { NGSSM_REMOTE_CALL_CONFIG, RemoteCallConfig } from './model';\n\nexport const provideNgssmRemoteCallConfig = (config: RemoteCallConfig): Provider => ({\n provide: NGSSM_REMOTE_CALL_CONFIG,\n useValue: config,\n multi: true\n});\n","/*\n * Public API Surface of ngssm-remote-data\n */\n\nexport * from './lib/remote-data/public-api';\nexport * from './lib/ngssm-remote-call/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i3","i5","i1"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from './provide-ngssm-remote-call';
2
- export * from './ngssm-remote-call-routes';
3
2
  export * from './model';
4
3
  export * from './state';
5
4
  export * from './components';
@@ -1,4 +1,3 @@
1
- import { Provider } from '@angular/core';
2
1
  import { Reducer, State, Action } from 'ngssm-store';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class RemoteCallSetterReducer implements Reducer {
@@ -7,4 +6,3 @@ export declare class RemoteCallSetterReducer implements Reducer {
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteCallSetterReducer, never>;
8
7
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoteCallSetterReducer>;
9
8
  }
10
- export declare const remoteCallSetterReducerProvider: Provider;
@@ -1,4 +1,3 @@
1
- import { Provider } from '@angular/core';
2
1
  import { Reducer, State, Action } from 'ngssm-store';
3
2
  import { RemoteCallConfig } from '../model';
4
3
  import * as i0 from "@angular/core";
@@ -10,4 +9,3 @@ export declare class RemoteCallReducer implements Reducer {
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteCallReducer, [{ optional: true; }]>;
11
10
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoteCallReducer>;
12
11
  }
13
- export declare const remoteCallReducerProvider: Provider;
@@ -1,4 +1,3 @@
1
- import { Provider } from '@angular/core';
2
1
  import { MatDialog } from '@angular/material/dialog';
3
2
  import { Effect, Store, State, Action } from 'ngssm-store';
4
3
  import * as i0 from "@angular/core";
@@ -11,4 +10,3 @@ export declare class CachesDisplayEffect implements Effect {
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<CachesDisplayEffect, never>;
12
11
  static ɵprov: i0.ɵɵInjectableDeclaration<CachesDisplayEffect>;
13
12
  }
14
- export declare const cachesDisplayEffectProvider: Provider;
@@ -1,15 +1,15 @@
1
- import { Provider } from '@angular/core';
1
+ import { EnvironmentInjector } from '@angular/core';
2
2
  import { Effect, Store, State, Action } from 'ngssm-store';
3
3
  import { NgssmNotifierService } from 'ngssm-toolkit';
4
4
  import { RemoteDataProvider } from '../model';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class RemoteDataLoadingEffect implements Effect {
7
7
  private notifierService;
8
+ private injector;
8
9
  private readonly remoteDataProvidersPerKey;
9
10
  readonly processedActions: string[];
10
- constructor(remoteDataProviders: RemoteDataProvider[], notifierService: NgssmNotifierService);
11
+ constructor(remoteDataProviders: RemoteDataProvider[], notifierService: NgssmNotifierService, injector: EnvironmentInjector);
11
12
  processAction(store: Store, state: State, action: Action): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<RemoteDataLoadingEffect, [{ optional: true; }, null]>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoteDataLoadingEffect, [{ optional: true; }, null, null]>;
13
14
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoteDataLoadingEffect>;
14
15
  }
15
- export declare const remoteDataLoadingEffectProvider: Provider;
@@ -17,4 +17,4 @@ export declare class RemoteDataLoadingGuard {
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteDataLoadingGuard, never>;
18
18
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoteDataLoadingGuard>;
19
19
  }
20
- export declare const ngssmReloadRemoteData: <TData = any>(remoteDataKey: string, params?: ReloadParams<TData>) => boolean;
20
+ export declare const ngssmReloadRemoteData: <TData = any>(remoteDataKey: string, params?: ReloadParams<TData>) => (() => boolean);
@@ -1,4 +1,4 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { EnvironmentProviders, InjectionToken, Type } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { RemoteDataGetterParams } from './remote-data-getter-params';
4
4
  export interface RemoteDataProvider<TData = any, TValue = any> {
@@ -7,3 +7,8 @@ export interface RemoteDataProvider<TData = any, TValue = any> {
7
7
  get(params?: RemoteDataGetterParams<TValue>): Observable<TData>;
8
8
  }
9
9
  export declare const NGSSM_REMOTE_DATA_PROVIDER: InjectionToken<RemoteDataProvider<any, any>>;
10
+ export declare const provideRemoteDataProviders: (...providers: Type<RemoteDataProvider>[]) => EnvironmentProviders;
11
+ export interface RemoteDataLoadingFunc<TData = any, TValue = any> {
12
+ (params?: RemoteDataGetterParams<TValue>): Observable<TData>;
13
+ }
14
+ export declare const provideRemoteDataFunc: <TData = any, TValue = any>(remoteDataKey: string, remoteDataLoadingFunc: RemoteDataLoadingFunc<TData, TValue>, cacheDurationInSeconds?: number) => EnvironmentProviders;
@@ -1,4 +1,3 @@
1
- import { Provider } from '@angular/core';
2
1
  import { Reducer, State, Action } from 'ngssm-store';
3
2
  import { RemoteDataProvider } from '../model';
4
3
  import * as i0 from "@angular/core";
@@ -10,4 +9,3 @@ export declare class RemoteDataReducer implements Reducer {
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteDataReducer, [{ optional: true; }]>;
11
10
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoteDataReducer>;
12
11
  }
13
- export declare const remoteDataReducerProvider: Provider;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "ngssm-remote-data",
3
- "version": "16.1.0",
3
+ "version": "16.1.2",
4
4
  "description": "NgSsm - Utilities to manage data loaded from remote services with the store.",
5
5
  "author": "Lion Marc",
6
6
  "license": "MIT",
7
7
  "peerDependencies": {
8
8
  "@angular/common": ">16.0.0",
9
9
  "@angular/core": ">=16.0.0",
10
- "ngssm-store": "16.1.0"
10
+ "ngssm-store": "16.1.2"
11
11
  },
12
12
  "dependencies": {
13
13
  "tslib": "^2.3.0"
@@ -1,2 +0,0 @@
1
- export const ngssmRemoteCallRoutes = [];
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tcmVtb3RlLWNhbGwtcm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tcmVtb3RlLWRhdGEvc3JjL2xpYi9uZ3NzbS1yZW1vdGUtY2FsbC9uZ3NzbS1yZW1vdGUtY2FsbC1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGNvbnN0IG5nc3NtUmVtb3RlQ2FsbFJvdXRlczogUm91dGVzID0gW107XG4iXX0=
@@ -1,2 +0,0 @@
1
- import { Routes } from '@angular/router';
2
- export declare const ngssmRemoteCallRoutes: Routes;