@wallfree-dev/angular-ngrx 0.0.59-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +60 -0
  2. package/esm2022/lib/airgap-angular-ngrx.module.mjs +23 -0
  3. package/esm2022/lib/base/base-ngrx.facade.mjs +36 -0
  4. package/esm2022/lib/components/components.module.mjs +21 -0
  5. package/esm2022/lib/components/currency-symbol/currency-symbol.facade.mjs +59 -0
  6. package/esm2022/lib/components/currency-symbol/currency-symbol.store.mjs +148 -0
  7. package/esm2022/lib/components/currency-symbol/currency-symbol.types.mjs +2 -0
  8. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.facade.mjs +28 -0
  9. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.store.mjs +76 -0
  10. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.types.mjs +2 -0
  11. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.facade.mjs +26 -0
  12. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.store.mjs +55 -0
  13. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.types.mjs +2 -0
  14. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.facade.mjs +24 -0
  15. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.store.mjs +57 -0
  16. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.types.mjs +2 -0
  17. package/esm2022/public-api.mjs +15 -0
  18. package/esm2022/wallfree-dev-angular-ngrx.mjs +5 -0
  19. package/fesm2022/wallfree-dev-angular-ngrx.mjs +524 -0
  20. package/fesm2022/wallfree-dev-angular-ngrx.mjs.map +1 -0
  21. package/index.d.ts +6 -0
  22. package/lib/airgap-angular-ngrx.module.d.ts +9 -0
  23. package/lib/airgap-angular-ngrx.module.d.ts.map +1 -0
  24. package/lib/base/base-ngrx.facade.d.ts +17 -0
  25. package/lib/base/base-ngrx.facade.d.ts.map +1 -0
  26. package/lib/components/components.module.d.ts +12 -0
  27. package/lib/components/components.module.d.ts.map +1 -0
  28. package/lib/components/currency-symbol/currency-symbol.facade.d.ts +20 -0
  29. package/lib/components/currency-symbol/currency-symbol.facade.d.ts.map +1 -0
  30. package/lib/components/currency-symbol/currency-symbol.store.d.ts +21 -0
  31. package/lib/components/currency-symbol/currency-symbol.store.d.ts.map +1 -0
  32. package/lib/components/currency-symbol/currency-symbol.types.d.ts +9 -0
  33. package/lib/components/currency-symbol/currency-symbol.types.d.ts.map +1 -0
  34. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts +17 -0
  35. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts.map +1 -0
  36. package/lib/components/isolated-modules-details/isolated-modules-details.store.d.ts +16 -0
  37. package/lib/components/isolated-modules-details/isolated-modules-details.store.d.ts.map +1 -0
  38. package/lib/components/isolated-modules-details/isolated-modules-details.types.d.ts +7 -0
  39. package/lib/components/isolated-modules-details/isolated-modules-details.types.d.ts.map +1 -0
  40. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts +16 -0
  41. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  42. package/lib/components/isolated-modules-list/isolated-modules-list.store.d.ts +19 -0
  43. package/lib/components/isolated-modules-list/isolated-modules-list.store.d.ts.map +1 -0
  44. package/lib/components/isolated-modules-list/isolated-modules-list.types.d.ts +6 -0
  45. package/lib/components/isolated-modules-list/isolated-modules-list.types.d.ts.map +1 -0
  46. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts +15 -0
  47. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  48. package/lib/pages/isolated-modules-list/isolated-modules-list.store.d.ts +15 -0
  49. package/lib/pages/isolated-modules-list/isolated-modules-list.store.d.ts.map +1 -0
  50. package/lib/pages/isolated-modules-list/isolated-modules-list.types.d.ts +6 -0
  51. package/lib/pages/isolated-modules-list/isolated-modules-list.types.d.ts.map +1 -0
  52. package/package.json +42 -0
  53. package/public-api.d.ts +8 -0
  54. package/public-api.d.ts.map +1 -0
  55. package/wallfree-dev-angular-ngrx.d.ts.map +1 -0
package/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # @wallfree-dev/angular-ngrx
2
+
3
+ [![npm](https://img.shields.io/npm/v/@wallfree-dev/angular-ngrx.svg?colorB=brightgreen)](https://www.npmjs.com/package/@wallfree-dev/ngrx)
4
+ [![build](https://img.shields.io/travis/airgap-it/angular-ngrx.svg)](https://travis-ci.org/airgap-it/angular-ngrx/)
5
+ [![codecov](https://img.shields.io/codecov/c/gh/airgap-it/angular-ngrx.svg)](https://codecov.io/gh/airgap-it/angular-ngrx/)
6
+ [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
7
+
8
+ `@wallfree-dev/angular-ngrx` extends `@wallfree-dev/angular-core` providing [NgRx](https://ngrx.io/) support for its components.
9
+
10
+ ## Requirements
11
+
12
+ Please check `peerDependencies` in `package.json` to see what dependencies are required for this library.
13
+
14
+ ## Install
15
+
16
+ ```
17
+ $ npm install --save @wallfree-dev/angular-ngrx
18
+ ```
19
+
20
+ ## Development
21
+
22
+ ### Requirements
23
+
24
+ Make sure you have statisfied the following requirements before building or testing the project:
25
+
26
+ ```
27
+ npm >= 6
28
+ ```
29
+
30
+ ### Build
31
+
32
+ Before building the library make sure you have installed the root project dependencies. If not, run:
33
+
34
+ ```
35
+ $ cd ../..
36
+ $ npm install
37
+ $ cd packages/ngrx
38
+ ```
39
+
40
+ To build the `ngrx` library run:
41
+
42
+ ```
43
+ $ npm run build
44
+ ```
45
+
46
+ ### Run Tests
47
+
48
+ Before running the tests make sure you have installed the root project dependencies. If not, run:
49
+
50
+ ```
51
+ $ cd ../..
52
+ $ npm install
53
+ $ cd packages/ngrx
54
+ ```
55
+
56
+ To run tests for the `ngrx` library run:
57
+
58
+ ```
59
+ $ npm run test
60
+ ```
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { StoreModule } from '@ngrx/store';
3
+ import { ComponentsModule } from './components/components.module';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngrx/store";
6
+ export class AirGapAngularNgRxModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, imports: [i1.StoreFeatureModule, ComponentsModule], exports: [ComponentsModule] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, imports: [StoreModule.forFeature('shared', {}),
10
+ ComponentsModule, ComponentsModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [],
16
+ imports: [
17
+ StoreModule.forFeature('shared', {}),
18
+ ComponentsModule
19
+ ],
20
+ exports: [ComponentsModule]
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlyZ2FwLWFuZ3VsYXItbmdyeC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FpcmdhcC1hbmd1bGFyLW5ncngubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTs7O0FBVWpFLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLG1DQUpoQyxnQkFBZ0IsYUFFUixnQkFBZ0I7Z0hBRWYsdUJBQXVCLFlBTGhDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQyxnQkFBZ0IsRUFFUixnQkFBZ0I7OzRGQUVmLHVCQUF1QjtrQkFSbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDcEMsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ3NoYXJlZCcsIHt9KSxcbiAgICBDb21wb25lbnRzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtDb21wb25lbnRzTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBBaXJHYXBBbmd1bGFyTmdSeE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,36 @@
1
+ import { BaseFacade, UIActionStatus } from '@wallfree-dev/angular-core';
2
+ export class BaseNgRxFacade extends BaseFacade {
3
+ constructor(store, uiEventService) {
4
+ super();
5
+ this.store = store;
6
+ this.uiEventService = uiEventService;
7
+ }
8
+ async showOrHideToast(toast) {
9
+ if (this.uiEventService === undefined) {
10
+ return;
11
+ }
12
+ // TODO: Move error sentries to common components and catch toast errors
13
+ this.toastElement?.dismiss();
14
+ if (toast?.status === UIActionStatus.PENDING) {
15
+ const defaultToastOptions = {
16
+ duration: 3000,
17
+ position: 'bottom'
18
+ };
19
+ this.toastElement = await this.uiEventService.getTranslatedToast({ ...defaultToastOptions, ...this.getToastData(toast.value) });
20
+ this.toastElement.present();
21
+ return this.toastElement.onWillDismiss().then(() => {
22
+ this.onToastDismissed(toast);
23
+ });
24
+ }
25
+ else {
26
+ this.toastElement = undefined;
27
+ }
28
+ }
29
+ onToastDismissed(_toast) {
30
+ throw new Error('`onToastDismissed` not implemented');
31
+ }
32
+ getToastData(_toast) {
33
+ throw new Error('`getToastData` not implemented');
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1uZ3J4LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYmFzZS9iYXNlLW5ncnguZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksY0FBYyxFQUFrQixNQUFNLDRCQUE0QixDQUFBO0FBU2pHLE1BQU0sT0FBZ0IsY0FBbUYsU0FBUSxVQUFVO0lBR3pILFlBQStCLEtBQVEsRUFBcUIsY0FBK0I7UUFDekYsS0FBSyxFQUFFLENBQUE7UUFEc0IsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUFxQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7SUFFM0YsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBdUM7UUFDckUsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLE9BQU07UUFDUixDQUFDO1FBRUQsd0VBQXdFO1FBRXhFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUE7UUFDNUIsSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QyxNQUFNLG1CQUFtQixHQUFpQjtnQkFDeEMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQTtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUMvSCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBRTNCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFBO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsTUFBNEI7UUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBa0I7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGYWNhZGUsIFVJQWN0aW9uLCBVSUFjdGlvblN0YXR1cywgVWlFdmVudFNlcnZpY2UgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2FuZ3VsYXItY29yZSdcbmltcG9ydCB7IFRvYXN0T3B0aW9ucyB9IGZyb20gJ0Bpb25pYy9jb3JlJ1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhY2FkZVR5cGVzIHtcbiAgVG9hc3Q6IGFueVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU5nUnhGYWNhZGU8UyBleHRlbmRzIFN0b3JlIHwgQ29tcG9uZW50U3RvcmU8YW55PiwgVCBleHRlbmRzIEZhY2FkZVR5cGVzID0gYW55PiBleHRlbmRzIEJhc2VGYWNhZGUge1xuICBwcm90ZWN0ZWQgdG9hc3RFbGVtZW50OiBIVE1MSW9uVG9hc3RFbGVtZW50IHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlOiBTLCBwcm90ZWN0ZWQgcmVhZG9ubHkgdWlFdmVudFNlcnZpY2U/OiBVaUV2ZW50U2VydmljZSkge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzaG93T3JIaWRlVG9hc3QodG9hc3Q6IFVJQWN0aW9uPFRbJ1RvYXN0J10+IHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudWlFdmVudFNlcnZpY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gVE9ETzogTW92ZSBlcnJvciBzZW50cmllcyB0byBjb21tb24gY29tcG9uZW50cyBhbmQgY2F0Y2ggdG9hc3QgZXJyb3JzXG5cbiAgICB0aGlzLnRvYXN0RWxlbWVudD8uZGlzbWlzcygpXG4gICAgaWYgKHRvYXN0Py5zdGF0dXMgPT09IFVJQWN0aW9uU3RhdHVzLlBFTkRJTkcpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRUb2FzdE9wdGlvbnM6IFRvYXN0T3B0aW9ucyA9IHtcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJ1xuICAgICAgfVxuICAgICAgdGhpcy50b2FzdEVsZW1lbnQgPSBhd2FpdCB0aGlzLnVpRXZlbnRTZXJ2aWNlLmdldFRyYW5zbGF0ZWRUb2FzdCh7IC4uLmRlZmF1bHRUb2FzdE9wdGlvbnMsIC4uLnRoaXMuZ2V0VG9hc3REYXRhKHRvYXN0LnZhbHVlKSB9KVxuICAgICAgdGhpcy50b2FzdEVsZW1lbnQucHJlc2VudCgpXG5cbiAgICAgIHJldHVybiB0aGlzLnRvYXN0RWxlbWVudC5vbldpbGxEaXNtaXNzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMub25Ub2FzdERpc21pc3NlZCh0b2FzdClcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9hc3RFbGVtZW50ID0gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uVG9hc3REaXNtaXNzZWQoX3RvYXN0OiBVSUFjdGlvbjxUWydUb2FzdCddPik6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignYG9uVG9hc3REaXNtaXNzZWRgIG5vdCBpbXBsZW1lbnRlZCcpXG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VG9hc3REYXRhKF90b2FzdDogVFsnVG9hc3QnXSk6IFRvYXN0T3B0aW9ucyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgZ2V0VG9hc3REYXRhYCBub3QgaW1wbGVtZW50ZWQnKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { IonicModule } from '@ionic/angular';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { QRCodeModule } from 'angularx-qrcode';
7
+ import * as i0 from "@angular/core";
8
+ export class ComponentsModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [],
17
+ imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule],
18
+ exports: []
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQU85QyxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixZQUhqQixZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVztnSEFHcEUsZ0JBQWdCLFlBSGpCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXOzs0RkFHcEUsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNoRixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFFSQ29kZU1vZHVsZSB9IGZyb20gJ2FuZ3VsYXJ4LXFyY29kZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uaWNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgUVJDb2RlTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { FilesystemService, ProtocolService } from '@wallfree-dev/angular-core';
2
+ import { Injectable } from '@angular/core';
3
+ import { BaseNgRxFacade } from '../../base/base-ngrx.facade';
4
+ import { CurrencySymbolStore } from './currency-symbol.store';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./currency-symbol.store";
7
+ import * as i2 from "@wallfree-dev/angular-core";
8
+ export class CurrencySymbolNgRxFacade extends BaseNgRxFacade {
9
+ constructor(store, protocolService) {
10
+ super(store);
11
+ this.protocolService = protocolService;
12
+ this.symbolSrc$ = this.store.select((state) => state.src);
13
+ }
14
+ initWithSymbol(symbol, protocolIdentifier) {
15
+ this.getSymbolInputs(symbol, protocolIdentifier)
16
+ .then((symbolInputs) => this.store.setInitialSrc(symbolInputs))
17
+ .catch(console.error);
18
+ }
19
+ onSymbolChanged(symbol, protocolIdentifier) {
20
+ this.getSymbolInputs(symbol, protocolIdentifier)
21
+ .then((symbolInputs) => this.store.setInitialSrc(symbolInputs))
22
+ .catch(console.error);
23
+ }
24
+ onError(_symbol, _protocolIdentifier, _src) {
25
+ this.store.onError$();
26
+ }
27
+ async getSymbolInputs(symbol, protocolIdentifier) {
28
+ let assetSymbol;
29
+ try {
30
+ const protocol = await this.protocolService.getProtocol(protocolIdentifier);
31
+ const [protocolSymbol, protocolAssetSymbol] = await Promise.all([
32
+ protocol.getSymbol(),
33
+ protocol.getAssetSymbol()
34
+ ]);
35
+ assetSymbol = protocolSymbol.toLowerCase() === symbol.toLowerCase() ? protocolAssetSymbol : undefined;
36
+ }
37
+ catch (e) {
38
+ console.warn(e);
39
+ }
40
+ assetSymbol = assetSymbol ?? symbol;
41
+ const symbolInput = assetSymbol ? { value: assetSymbol, caseSensitive: false } : undefined;
42
+ const protocolIdentifierInput = protocolIdentifier
43
+ ? { value: protocolIdentifier, caseSensitive: true }
44
+ : undefined;
45
+ const symbolInputs = protocolIdentifier && this.protocolService.isKnownProtocolSymbol(protocolIdentifier)
46
+ ? [symbolInput, protocolIdentifierInput]
47
+ : [protocolIdentifierInput, symbolInput];
48
+ return symbolInputs.filter((symbolInputOrUndefined) => symbolInputOrUndefined !== undefined);
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade, deps: [{ token: i1.CurrencySymbolStore }, { token: i2.ProtocolService }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade, decorators: [{
54
+ type: Injectable
55
+ }], ctorParameters: () => [{ type: i1.CurrencySymbolStore }, { type: i2.ProtocolService }] });
56
+ export const currencySymbolNgRxFacade = (injector) => {
57
+ return new CurrencySymbolNgRxFacade(new CurrencySymbolStore(injector.get(FilesystemService)), injector.get(ProtocolService));
58
+ };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3ltYm9sLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW5jeS1zeW1ib2wvY3VycmVuY3ktc3ltYm9sLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLGVBQWUsRUFBZSxNQUFNLDRCQUE0QixDQUFBO0FBRW5ILE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBOzs7O0FBRzdELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFtQztJQUcvRSxZQUFZLEtBQTBCLEVBQW1CLGVBQWdDO1FBQ3ZGLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUQyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFTSxjQUFjLENBQUMsTUFBMEIsRUFBRSxrQkFBK0M7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7YUFDN0MsSUFBSSxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQTBCLEVBQUUsa0JBQStDO1FBQ2hHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2FBQzdDLElBQUksQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxPQUEyQixFQUFFLG1CQUFnRCxFQUFFLElBQWE7UUFDekcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUEwQixFQUFFLGtCQUErQztRQUN2RyxJQUFJLFdBQStCLENBQUE7UUFDbkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQWtCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtZQUMxRixNQUFNLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLEdBQWlDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDNUYsUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsUUFBUSxDQUFDLGNBQWMsRUFBRTthQUMxQixDQUFDLENBQUE7WUFFRixXQUFXLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUN2RyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDakIsQ0FBQztRQUVELFdBQVcsR0FBRyxXQUFXLElBQUksTUFBTSxDQUFBO1FBRW5DLE1BQU0sV0FBVyxHQUE0QixXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUNuSCxNQUFNLHVCQUF1QixHQUE0QixrQkFBa0I7WUFDekUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUU7WUFDcEQsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUViLE1BQU0sWUFBWSxHQUNoQixrQkFBa0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDO1lBQ2xGLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUU1QyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxzQkFBK0MsRUFBRSxFQUFFLENBQUMsc0JBQXNCLEtBQUssU0FBUyxDQUFDLENBQUE7SUFDdkgsQ0FBQzsrR0FuRFUsd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7O0FBdURYLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsUUFBa0IsRUFBNEIsRUFBRTtJQUN2RixPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7QUFDOUgsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZXN5c3RlbVNlcnZpY2UsIElDdXJyZW5jeVN5bWJvbEZhY2FkZSwgUHJvdG9jb2xTZXJ2aWNlLCBTeW1ib2xJbnB1dCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYW5ndWxhci1jb3JlJ1xuaW1wb3J0IHsgSUNvaW5Qcm90b2NvbCwgUHJvdG9jb2xTeW1ib2xzIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEJhc2VOZ1J4RmFjYWRlIH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLW5ncnguZmFjYWRlJ1xuXG5pbXBvcnQgeyBDdXJyZW5jeVN5bWJvbFN0b3JlIH0gZnJvbSAnLi9jdXJyZW5jeS1zeW1ib2wuc3RvcmUnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeVN5bWJvbE5nUnhGYWNhZGUgZXh0ZW5kcyBCYXNlTmdSeEZhY2FkZTxDdXJyZW5jeVN5bWJvbFN0b3JlPiBpbXBsZW1lbnRzIElDdXJyZW5jeVN5bWJvbEZhY2FkZSB7XG4gIHB1YmxpYyByZWFkb25seSBzeW1ib2xTcmMkOiBPYnNlcnZhYmxlPHN0cmluZz5cblxuICBjb25zdHJ1Y3RvcihzdG9yZTogQ3VycmVuY3lTeW1ib2xTdG9yZSwgcHJpdmF0ZSByZWFkb25seSBwcm90b2NvbFNlcnZpY2U6IFByb3RvY29sU2VydmljZSkge1xuICAgIHN1cGVyKHN0b3JlKVxuICAgIHRoaXMuc3ltYm9sU3JjJCA9IHRoaXMuc3RvcmUuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc3JjKVxuICB9XG5cbiAgcHVibGljIGluaXRXaXRoU3ltYm9sKHN5bWJvbDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm90b2NvbElkZW50aWZpZXI6IFByb3RvY29sU3ltYm9scyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3ltYm9sSW5wdXRzKHN5bWJvbCwgcHJvdG9jb2xJZGVudGlmaWVyKVxuICAgICAgLnRoZW4oKHN5bWJvbElucHV0czogU3ltYm9sSW5wdXRbXSkgPT4gdGhpcy5zdG9yZS5zZXRJbml0aWFsU3JjKHN5bWJvbElucHV0cykpXG4gICAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgfVxuXG4gIHB1YmxpYyBvblN5bWJvbENoYW5nZWQoc3ltYm9sOiBzdHJpbmcgfCB1bmRlZmluZWQsIHByb3RvY29sSWRlbnRpZmllcjogUHJvdG9jb2xTeW1ib2xzIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5nZXRTeW1ib2xJbnB1dHMoc3ltYm9sLCBwcm90b2NvbElkZW50aWZpZXIpXG4gICAgICAudGhlbigoc3ltYm9sSW5wdXRzOiBTeW1ib2xJbnB1dFtdKSA9PiB0aGlzLnN0b3JlLnNldEluaXRpYWxTcmMoc3ltYm9sSW5wdXRzKSlcbiAgICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxuICB9XG5cbiAgcHVibGljIG9uRXJyb3IoX3N5bWJvbDogc3RyaW5nIHwgdW5kZWZpbmVkLCBfcHJvdG9jb2xJZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMgfCB1bmRlZmluZWQsIF9zcmM/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLm9uRXJyb3IkKClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0U3ltYm9sSW5wdXRzKHN5bWJvbDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm90b2NvbElkZW50aWZpZXI6IFByb3RvY29sU3ltYm9scyB8IHVuZGVmaW5lZCk6IFByb21pc2U8U3ltYm9sSW5wdXRbXT4ge1xuICAgIGxldCBhc3NldFN5bWJvbDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByb3RvY29sOiBJQ29pblByb3RvY29sID0gYXdhaXQgdGhpcy5wcm90b2NvbFNlcnZpY2UuZ2V0UHJvdG9jb2wocHJvdG9jb2xJZGVudGlmaWVyKVxuICAgICAgY29uc3QgW3Byb3RvY29sU3ltYm9sLCBwcm90b2NvbEFzc2V0U3ltYm9sXTogW3N0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgcHJvdG9jb2wuZ2V0U3ltYm9sKCksXG4gICAgICAgIHByb3RvY29sLmdldEFzc2V0U3ltYm9sKClcbiAgICAgIF0pXG5cbiAgICAgIGFzc2V0U3ltYm9sID0gcHJvdG9jb2xTeW1ib2wudG9Mb3dlckNhc2UoKSA9PT0gc3ltYm9sLnRvTG93ZXJDYXNlKCkgPyBwcm90b2NvbEFzc2V0U3ltYm9sIDogdW5kZWZpbmVkXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGUpXG4gICAgfVxuXG4gICAgYXNzZXRTeW1ib2wgPSBhc3NldFN5bWJvbCA/PyBzeW1ib2xcblxuICAgIGNvbnN0IHN5bWJvbElucHV0OiBTeW1ib2xJbnB1dCB8IHVuZGVmaW5lZCA9IGFzc2V0U3ltYm9sID8geyB2YWx1ZTogYXNzZXRTeW1ib2wsIGNhc2VTZW5zaXRpdmU6IGZhbHNlIH0gOiB1bmRlZmluZWRcbiAgICBjb25zdCBwcm90b2NvbElkZW50aWZpZXJJbnB1dDogU3ltYm9sSW5wdXQgfCB1bmRlZmluZWQgPSBwcm90b2NvbElkZW50aWZpZXJcbiAgICAgID8geyB2YWx1ZTogcHJvdG9jb2xJZGVudGlmaWVyLCBjYXNlU2Vuc2l0aXZlOiB0cnVlIH1cbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBzeW1ib2xJbnB1dHM6IChTeW1ib2xJbnB1dCB8IHVuZGVmaW5lZClbXSA9XG4gICAgICBwcm90b2NvbElkZW50aWZpZXIgJiYgdGhpcy5wcm90b2NvbFNlcnZpY2UuaXNLbm93blByb3RvY29sU3ltYm9sKHByb3RvY29sSWRlbnRpZmllcilcbiAgICAgICAgPyBbc3ltYm9sSW5wdXQsIHByb3RvY29sSWRlbnRpZmllcklucHV0XVxuICAgICAgICA6IFtwcm90b2NvbElkZW50aWZpZXJJbnB1dCwgc3ltYm9sSW5wdXRdXG5cbiAgICByZXR1cm4gc3ltYm9sSW5wdXRzLmZpbHRlcigoc3ltYm9sSW5wdXRPclVuZGVmaW5lZDogU3ltYm9sSW5wdXQgfCB1bmRlZmluZWQpID0+IHN5bWJvbElucHV0T3JVbmRlZmluZWQgIT09IHVuZGVmaW5lZClcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY3VycmVuY3lTeW1ib2xOZ1J4RmFjYWRlID0gKGluamVjdG9yOiBJbmplY3Rvcik6IEN1cnJlbmN5U3ltYm9sTmdSeEZhY2FkZSA9PiB7XG4gIHJldHVybiBuZXcgQ3VycmVuY3lTeW1ib2xOZ1J4RmFjYWRlKG5ldyBDdXJyZW5jeVN5bWJvbFN0b3JlKGluamVjdG9yLmdldChGaWxlc3lzdGVtU2VydmljZSkpLCBpbmplY3Rvci5nZXQoUHJvdG9jb2xTZXJ2aWNlKSlcbn1cbiJdfQ==
@@ -0,0 +1,148 @@
1
+ import { DEFAULT_CURRENCY_SYMBOL_URL } from '@wallfree-dev/angular-core';
2
+ import { Injectable } from '@angular/core';
3
+ import { ComponentStore, tapResponse } from '@ngrx/component-store';
4
+ import { Observable } from 'rxjs';
5
+ import { map, repeat, switchMap, withLatestFrom } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@wallfree-dev/angular-core";
8
+ const initialStore = {
9
+ src: DEFAULT_CURRENCY_SYMBOL_URL,
10
+ input: undefined,
11
+ fallbackInput: undefined,
12
+ inputs: []
13
+ };
14
+ export class CurrencySymbolStore extends ComponentStore {
15
+ constructor(filesystemService) {
16
+ super(initialStore);
17
+ this.filesystemService = filesystemService;
18
+ this.onError$ = this.effect((trigger$) => {
19
+ return trigger$.pipe(withLatestFrom(this.state$), switchMap(([, state]) => {
20
+ return this.loadFallbackImage(state).pipe(map((value) => {
21
+ if (value.kind === 'lazy' && value.url === undefined) {
22
+ return !state.fallbackInput || value.symbolInput === state.fallbackInput
23
+ ? { kind: 'default' }
24
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' }; // try again with fallback symbol
25
+ }
26
+ else {
27
+ return value;
28
+ }
29
+ }), tapResponse((value) => this.setSrc(value), () => this.setSrc({ kind: 'default' })));
30
+ }), repeat());
31
+ });
32
+ this.setInitialSrc = this.updater((state, inputs) => {
33
+ const input = inputs[0];
34
+ const fallbackInput = inputs[1];
35
+ return {
36
+ ...state,
37
+ src: input ? this.getSymbolAssetURL(input, 'svg') /* use .svg by default */ : state.src,
38
+ fallbackType: input ? { kind: 'asset', symbolInput: input, extension: 'png' } /* use .png as a fallback */ : state.fallbackType,
39
+ input,
40
+ fallbackInput,
41
+ inputs
42
+ };
43
+ });
44
+ this.setSrc = this.updater((state, value) => {
45
+ switch (value.kind) {
46
+ case 'default':
47
+ return {
48
+ ...state,
49
+ src: DEFAULT_CURRENCY_SYMBOL_URL,
50
+ input: undefined,
51
+ fallbackInput: undefined
52
+ };
53
+ case 'asset':
54
+ const { current: assetCurrent, fallback: assetFallback } = this.getNextInputs(state, value.symbolInput);
55
+ return {
56
+ ...state,
57
+ src: this.getSymbolAssetURL(value.symbolInput, value.extension),
58
+ fallbackType: value.extension === 'svg'
59
+ ? { kind: 'asset', symbolInput: value.symbolInput, extension: 'png' } /* use .png as a fallback */
60
+ : { kind: 'isolated', symbolInput: value.symbolInput } /* try loading external isolated image as a fallback */,
61
+ input: assetCurrent,
62
+ fallbackInput: assetFallback
63
+ };
64
+ case 'isolated':
65
+ const { current: isolatedCurrent, fallback: isolatedFallback } = this.getNextInputs(state, value.symbolInput);
66
+ return {
67
+ ...state,
68
+ src: value.url ?? '',
69
+ fallbackType: !state.fallbackInput || value.symbolInput === state.fallbackInput
70
+ ? { kind: 'lazy', symbolInput: value.symbolInput } /* try loading external image as a fallback */
71
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,
72
+ input: isolatedCurrent,
73
+ fallbackInput: isolatedFallback
74
+ };
75
+ case 'lazy':
76
+ const { current: lazyCurrent, fallback: lazyFallback } = this.getNextInputs(state, value.symbolInput);
77
+ return {
78
+ ...state,
79
+ src: value.url ?? '',
80
+ fallbackType: !state.fallbackInput || value.symbolInput === state.fallbackInput
81
+ ? { kind: 'default' }
82
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,
83
+ input: lazyCurrent,
84
+ fallbackInput: lazyFallback
85
+ };
86
+ default:
87
+ return state;
88
+ }
89
+ });
90
+ }
91
+ getNextInputs(state, input) {
92
+ if (!input) {
93
+ return {};
94
+ }
95
+ const index = state.inputs.indexOf(input);
96
+ return index > -1 ? { current: state.inputs[index], fallback: state.inputs[index + 1] } : {};
97
+ }
98
+ loadFallbackImage(state) {
99
+ return new Observable((subscriber) => {
100
+ new Promise(async (resolve, reject) => {
101
+ try {
102
+ subscriber.next({ kind: 'default' });
103
+ if (state.fallbackType?.kind === 'asset') {
104
+ subscriber.next({ kind: 'asset', symbolInput: state.fallbackType.symbolInput, extension: state.fallbackType.extension });
105
+ }
106
+ else if (state.fallbackType?.kind === 'isolated') {
107
+ const imageURI = await this.loadIsolatedImage(state.fallbackType.symbolInput);
108
+ subscriber.next({ kind: 'isolated', symbolInput: state.fallbackType.symbolInput, url: imageURI });
109
+ }
110
+ else if (state.fallbackType?.kind === 'lazy') {
111
+ // try loading external image
112
+ const imageURI = await this.loadLazyImage(state.fallbackType.symbolInput);
113
+ subscriber.next({ kind: 'lazy', symbolInput: state.fallbackType.symbolInput, url: imageURI });
114
+ }
115
+ else {
116
+ // no image was found for the symbol, use the generic image
117
+ subscriber.next({ kind: 'default' });
118
+ }
119
+ resolve();
120
+ }
121
+ catch (error) {
122
+ reject(error);
123
+ }
124
+ }).finally(() => {
125
+ subscriber.complete();
126
+ });
127
+ });
128
+ }
129
+ async loadIsolatedImage(symbolInput) {
130
+ return this.filesystemService.readIsolatedSymbol(symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLocaleLowerCase());
131
+ }
132
+ async loadLazyImage(symbolInput) {
133
+ const imagePath = this.getSymbolImagePath(symbolInput);
134
+ return this.filesystemService.readLazyImage(imagePath);
135
+ }
136
+ getSymbolAssetURL(symbolInput, extension) {
137
+ return `./assets/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}.${extension}`;
138
+ }
139
+ getSymbolImagePath(symbolInput) {
140
+ return `/images/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}`;
141
+ }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore, deps: [{ token: i1.FilesystemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
143
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore }); }
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore, decorators: [{
146
+ type: Injectable
147
+ }], ctorParameters: () => [{ type: i1.FilesystemService }] });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3ltYm9sLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2N1cnJlbmN5LXN5bWJvbC9jdXJyZW5jeS1zeW1ib2wuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUErQyxNQUFNLDRCQUE0QixDQUFBO0FBQ3JILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBSXZFLE1BQU0sWUFBWSxHQUF3QjtJQUN4QyxHQUFHLEVBQUUsMkJBQTJCO0lBRWhDLEtBQUssRUFBRSxTQUFTO0lBQ2hCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLE1BQU0sRUFBRSxFQUFFO0NBQ1gsQ0FBQTtBQUdELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFtQztJQUMxRSxZQUE2QixpQkFBb0M7UUFDL0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRFEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUlqRCxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQTBCLEVBQUUsRUFBRTtZQUNwRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQThCLEVBQUUsRUFBRTtnQkFDbkQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN2QyxHQUFHLENB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LENBQUMsR0FBRyxFQUFFO2dCQUNkLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUN2QixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxXQUF3QjtRQUN0RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtJQUN6SSxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUF3QjtRQUNsRCxNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFOUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxXQUF3QixFQUFFLFNBQXdCO1FBQzFFLE9BQU8sb0JBQW9CLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUE7SUFDM0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFdBQXdCO1FBQ2pELE9BQU8sbUJBQW1CLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQTtJQUM3RyxDQUFDOytHQTVKVSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MX1VSTCwgRmlsZXN5c3RlbVNlcnZpY2UsIFN5bWJvbElucHV0LCBTeW1ib2xWYWx1ZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYW5ndWxhci1jb3JlJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSwgdGFwUmVzcG9uc2UgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgcmVwZWF0LCBzd2l0Y2hNYXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEN1cnJlbmN5U3ltYm9sU3RhdGUgfSBmcm9tICcuL2N1cnJlbmN5LXN5bWJvbC50eXBlcydcblxuY29uc3QgaW5pdGlhbFN0b3JlOiBDdXJyZW5jeVN5bWJvbFN0YXRlID0ge1xuICBzcmM6IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MX1VSTCxcblxuICBpbnB1dDogdW5kZWZpbmVkLFxuICBmYWxsYmFja0lucHV0OiB1bmRlZmluZWQsXG4gIGlucHV0czogW11cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5U3ltYm9sU3RvcmUgZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxDdXJyZW5jeVN5bWJvbFN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlsZXN5c3RlbVNlcnZpY2U6IEZpbGVzeXN0ZW1TZXJ2aWNlKSB7XG4gICAgc3VwZXIoaW5pdGlhbFN0b3JlKVxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uRXJyb3IkID0gdGhpcy5lZmZlY3QoKHRyaWdnZXIkOiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIHRyaWdnZXIkLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0YXRlJCksXG4gICAgICBzd2l0Y2hNYXAoKFssIHN0YXRlXTogW3ZvaWQsIEN1cnJlbmN5U3ltYm9sU3RhdGVdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRGYWxsYmFja0ltYWdlKHN0YXRlKS5waXBlKFxuICAgICAgICAgIG1hcCgodmFsdWU6IFN5bWJvbFZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUua2luZCA9PT0gJ2xhenknICYmIHZhbHVlLnVybCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiAhc3RhdGUuZmFsbGJhY2tJbnB1dCB8fCB2YWx1ZS5zeW1ib2xJbnB1dCA9PT0gc3RhdGUuZmFsbGJhY2tJbnB1dFxuICAgICAgICAgICAgICAgID8geyBraW5kOiAnZGVmYXVsdCcgfVxuICAgICAgICAgICAgICAgIDogeyBraW5kOiAnYXNzZXQnLCBzeW1ib2xJbnB1dDogc3RhdGUuZmFsbGJhY2tJbnB1dCwgZXh0ZW5zaW9uOiAnc3ZnJyB9IC8vIHRyeSBhZ2FpbiB3aXRoIGZhbGxiYWNrIHN5bWJvbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFwUmVzcG9uc2UoXG4gICAgICAgICAgICAodmFsdWU6IFN5bWJvbFZhbHVlKSA9PiB0aGlzLnNldFNyYyh2YWx1ZSksXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnNldFNyYyh7IGtpbmQ6ICdkZWZhdWx0JyB9KVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgfSksXG4gICAgICByZXBlYXQoKVxuICAgIClcbiAgfSlcblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0SW5pdGlhbFNyYyA9IHRoaXMudXBkYXRlcigoc3RhdGU6IEN1cnJlbmN5U3ltYm9sU3RhdGUsIGlucHV0czogU3ltYm9sSW5wdXRbXSkgPT4ge1xuICAgIGNvbnN0IGlucHV0OiBTeW1ib2xJbnB1dCB8IHVuZGVmaW5lZCA9IGlucHV0c1swXVxuICAgIGNvbnN0IGZhbGxiYWNrSW5wdXQ6IFN5bWJvbElucHV0IHwgdW5kZWZpbmVkID0gaW5wdXRzWzFdXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzcmM6IGlucHV0ID8gdGhpcy5nZXRTeW1ib2xBc3NldFVSTChpbnB1dCwgJ3N2ZycpIC8qIHVzZSAuc3ZnIGJ5IGRlZmF1bHQgKi8gOiBzdGF0ZS5zcmMsXG4gICAgICBmYWxsYmFja1R5cGU6IGlucHV0ID8geyBraW5kOiAnYXNzZXQnLCBzeW1ib2xJbnB1dDogaW5wdXQsIGV4dGVuc2lvbjogJ3BuZycgfSAvKiB1c2UgLnBuZyBhcyBhIGZhbGxiYWNrICovIDogc3RhdGUuZmFsbGJhY2tUeXBlLFxuXG4gICAgICBpbnB1dCxcbiAgICAgIGZhbGxiYWNrSW5wdXQsXG4gICAgICBpbnB1dHNcbiAgICB9XG4gIH0pXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZXRTcmMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlOiBDdXJyZW5jeVN5bWJvbFN0YXRlLCB2YWx1ZTogU3ltYm9sVmFsdWUpID0+IHtcbiAgICBzd2l0Y2ggKHZhbHVlLmtpbmQpIHtcbiAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHNyYzogREVGQVVMVF9DVVJSRU5DWV9TWU1CT0xfVVJMLFxuXG4gICAgICAgICAgaW5wdXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmYWxsYmFja0lucHV0OiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgY2FzZSAnYXNzZXQnOlxuICAgICAgICBjb25zdCB7IGN1cnJlbnQ6IGFzc2V0Q3VycmVudCwgZmFsbGJhY2s6IGFzc2V0RmFsbGJhY2sgfSA9IHRoaXMuZ2V0TmV4dElucHV0cyhzdGF0ZSwgdmFsdWUuc3ltYm9sSW5wdXQpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBzcmM6IHRoaXMuZ2V0U3ltYm9sQXNzZXRVUkwodmFsdWUuc3ltYm9sSW5wdXQsIHZhbHVlLmV4dGVuc2lvbiksXG4gICAgICAgICAgZmFsbGJhY2tUeXBlOlxuICAgICAgICAgICAgdmFsdWUuZXh0ZW5zaW9uID09PSAnc3ZnJ1xuICAgICAgICAgICAgICA/IHsga2luZDogJ2Fzc2V0Jywgc3ltYm9sSW5wdXQ6IHZhbHVlLnN5bWJvbElucHV0LCBleHRlbnNpb246ICdwbmcnIH0gLyogdXNlIC5wbmcgYXMgYSBmYWxsYmFjayAqL1xuICAgICAgICAgICAgICA6IHsga2luZDogJ2lzb2xhdGVkJywgc3ltYm9sSW5wdXQ6IHZhbHVlLnN5bWJvbElucHV0IH0gLyogdHJ5IGxvYWRpbmcgZXh0ZXJuYWwgaXNvbGF0ZWQgaW1hZ2UgYXMgYSBmYWxsYmFjayAqLyxcblxuICAgICAgICAgIGlucHV0OiBhc3NldEN1cnJlbnQsXG4gICAgICAgICAgZmFsbGJhY2tJbnB1dDogYXNzZXRGYWxsYmFja1xuICAgICAgICB9XG4gICAgICBjYXNlICdpc29sYXRlZCc6XG4gICAgICAgIGNvbnN0IHsgY3VycmVudDogaXNvbGF0ZWRDdXJyZW50LCBmYWxsYmFjazogaXNvbGF0ZWRGYWxsYmFjayB9ID0gdGhpcy5nZXROZXh0SW5wdXRzKHN0YXRlLCB2YWx1ZS5zeW1ib2xJbnB1dClcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHNyYzogdmFsdWUudXJsID8/ICcnLFxuICAgICAgICAgIGZhbGxiYWNrVHlwZTpcbiAgICAgICAgICAgICFzdGF0ZS5mYWxsYmFja0lucHV0IHx8IHZhbHVlLnN5bWJvbElucHV0ID09PSBzdGF0ZS5mYWxsYmFja0lucHV0XG4gICAgICAgICAgICAgID8geyBraW5kOiAnbGF6eScsIHN5bWJvbElucHV0OiB2YWx1ZS5zeW1ib2xJbnB1dCB9IC8qIHRyeSBsb2FkaW5nIGV4dGVybmFsIGltYWdlIGFzIGEgZmFsbGJhY2sgKi9cbiAgICAgICAgICAgICAgOiB7IGtpbmQ6ICdhc3NldCcsIHN5bWJvbElucHV0OiBzdGF0ZS5mYWxsYmFja0lucHV0LCBleHRlbnNpb246ICdzdmcnIH0gLyogdHJ5IGFnYWluIHdpdGggZmFsbGJhY2sgc3ltYm9sICovLFxuXG4gICAgICAgICAgaW5wdXQ6IGlzb2xhdGVkQ3VycmVudCxcbiAgICAgICAgICBmYWxsYmFja0lucHV0OiBpc29sYXRlZEZhbGxiYWNrXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2xhenknOlxuICAgICAgICBjb25zdCB7IGN1cnJlbnQ6IGxhenlDdXJyZW50LCBmYWxsYmFjazogbGF6eUZhbGxiYWNrIH0gPSB0aGlzLmdldE5leHRJbnB1dHMoc3RhdGUsIHZhbHVlLnN5bWJvbElucHV0KVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgc3JjOiB2YWx1ZS51cmwgPz8gJycsXG4gICAgICAgICAgZmFsbGJhY2tUeXBlOlxuICAgICAgICAgICAgIXN0YXRlLmZhbGxiYWNrSW5wdXQgfHwgdmFsdWUuc3ltYm9sSW5wdXQgPT09IHN0YXRlLmZhbGxiYWNrSW5wdXRcbiAgICAgICAgICAgICAgPyB7IGtpbmQ6ICdkZWZhdWx0JyB9XG4gICAgICAgICAgICAgIDogeyBraW5kOiAnYXNzZXQnLCBzeW1ib2xJbnB1dDogc3RhdGUuZmFsbGJhY2tJbnB1dCwgZXh0ZW5zaW9uOiAnc3ZnJyB9IC8qIHRyeSBhZ2FpbiB3aXRoIGZhbGxiYWNrIHN5bWJvbCAqLyxcblxuICAgICAgICAgIGlucHV0OiBsYXp5Q3VycmVudCxcbiAgICAgICAgICBmYWxsYmFja0lucHV0OiBsYXp5RmFsbGJhY2tcbiAgICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfVxuICB9KVxuXG4gIHByaXZhdGUgZ2V0TmV4dElucHV0cyhzdGF0ZTogQ3VycmVuY3lTeW1ib2xTdGF0ZSwgaW5wdXQ/OiBTeW1ib2xJbnB1dCk6IHsgY3VycmVudD86IFN5bWJvbElucHV0OyBmYWxsYmFjaz86IFN5bWJvbElucHV0IH0ge1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuaW5wdXRzLmluZGV4T2YoaW5wdXQpXG5cbiAgICByZXR1cm4gaW5kZXggPiAtMSA/IHsgY3VycmVudDogc3RhdGUuaW5wdXRzW2luZGV4XSwgZmFsbGJhY2s6IHN0YXRlLmlucHV0c1tpbmRleCArIDFdIH0gOiB7fVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRmFsbGJhY2tJbWFnZShzdGF0ZTogQ3VycmVuY3lTeW1ib2xTdGF0ZSk6IE9ic2VydmFibGU8U3ltYm9sVmFsdWU+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8U3ltYm9sVmFsdWU+KSA9PiB7XG4gICAgICBuZXcgUHJvbWlzZTx2b2lkPihhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHsga2luZDogJ2RlZmF1bHQnIH0pXG4gICAgICAgICAgaWYgKHN0YXRlLmZhbGxiYWNrVHlwZT8ua2luZCA9PT0gJ2Fzc2V0Jykge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHsga2luZDogJ2Fzc2V0Jywgc3ltYm9sSW5wdXQ6IHN0YXRlLmZhbGxiYWNrVHlwZS5zeW1ib2xJbnB1dCwgZXh0ZW5zaW9uOiBzdGF0ZS5mYWxsYmFja1R5cGUuZXh0ZW5zaW9uIH0pXG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5mYWxsYmFja1R5cGU/LmtpbmQgPT09ICdpc29sYXRlZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlVVJJOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBhd2FpdCB0aGlzLmxvYWRJc29sYXRlZEltYWdlKHN0YXRlLmZhbGxiYWNrVHlwZS5zeW1ib2xJbnB1dClcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7IGtpbmQ6ICdpc29sYXRlZCcsIHN5bWJvbElucHV0OiBzdGF0ZS5mYWxsYmFja1R5cGUuc3ltYm9sSW5wdXQsIHVybDogaW1hZ2VVUkkgfSlcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLmZhbGxiYWNrVHlwZT8ua2luZCA9PT0gJ2xhenknKSB7XG4gICAgICAgICAgICAvLyB0cnkgbG9hZGluZyBleHRlcm5hbCBpbWFnZVxuICAgICAgICAgICAgY29uc3QgaW1hZ2VVUkk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGF3YWl0IHRoaXMubG9hZExhenlJbWFnZShzdGF0ZS5mYWxsYmFja1R5cGUuc3ltYm9sSW5wdXQpXG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoeyBraW5kOiAnbGF6eScsIHN5bWJvbElucHV0OiBzdGF0ZS5mYWxsYmFja1R5cGUuc3ltYm9sSW5wdXQsIHVybDogaW1hZ2VVUkkgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gbm8gaW1hZ2Ugd2FzIGZvdW5kIGZvciB0aGUgc3ltYm9sLCB1c2UgdGhlIGdlbmVyaWMgaW1hZ2VcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7IGtpbmQ6ICdkZWZhdWx0JyB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgICAgfVxuICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkSXNvbGF0ZWRJbWFnZShzeW1ib2xJbnB1dDogU3ltYm9sSW5wdXQpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVzeXN0ZW1TZXJ2aWNlLnJlYWRJc29sYXRlZFN5bWJvbChzeW1ib2xJbnB1dC5jYXNlU2Vuc2l0aXZlID8gc3ltYm9sSW5wdXQudmFsdWUgOiBzeW1ib2xJbnB1dC52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTGF6eUltYWdlKHN5bWJvbElucHV0OiBTeW1ib2xJbnB1dCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgaW1hZ2VQYXRoOiBzdHJpbmcgPSB0aGlzLmdldFN5bWJvbEltYWdlUGF0aChzeW1ib2xJbnB1dClcblxuICAgIHJldHVybiB0aGlzLmZpbGVzeXN0ZW1TZXJ2aWNlLnJlYWRMYXp5SW1hZ2UoaW1hZ2VQYXRoKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xBc3NldFVSTChzeW1ib2xJbnB1dDogU3ltYm9sSW5wdXQsIGV4dGVuc2lvbjogJ3N2ZycgfCAncG5nJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAuL2Fzc2V0cy9zeW1ib2xzLyR7c3ltYm9sSW5wdXQuY2FzZVNlbnNpdGl2ZSA/IHN5bWJvbElucHV0LnZhbHVlIDogc3ltYm9sSW5wdXQudmFsdWUudG9Mb3dlckNhc2UoKX0uJHtleHRlbnNpb259YFxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xJbWFnZVBhdGgoc3ltYm9sSW5wdXQ6IFN5bWJvbElucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC9pbWFnZXMvc3ltYm9scy8ke3N5bWJvbElucHV0LmNhc2VTZW5zaXRpdmUgPyBzeW1ib2xJbnB1dC52YWx1ZSA6IHN5bWJvbElucHV0LnZhbHVlLnRvTG93ZXJDYXNlKCl9YFxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3ltYm9sLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2N1cnJlbmN5LXN5bWJvbC9jdXJyZW5jeS1zeW1ib2wudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bWJvbElucHV0LCBTeW1ib2xUeXBlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hbmd1bGFyLWNvcmUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3lTeW1ib2xTdGF0ZSB7XG4gIHNyYzogc3RyaW5nXG4gIGZhbGxiYWNrVHlwZT86IFN5bWJvbFR5cGVcblxuICBpbnB1dDogU3ltYm9sSW5wdXQgfCB1bmRlZmluZWRcbiAgZmFsbGJhY2tJbnB1dDogU3ltYm9sSW5wdXQgfCB1bmRlZmluZWRcbiAgaW5wdXRzOiBTeW1ib2xJbnB1dFtdXG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { ISOLATED_MODULES_PLUGIN } from '@wallfree-dev/angular-core';
2
+ import { Injectable } from '@angular/core';
3
+ import { BaseNgRxFacade } from '../../base/base-ngrx.facade';
4
+ import { IsolatedModulesDetailsStore } from './isolated-modules-details.store';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./isolated-modules-details.store";
7
+ export class IsolatedModulesDetailsNgRxFacade extends BaseNgRxFacade {
8
+ constructor(store) {
9
+ super(store);
10
+ this.manifest$ = this.store.select((state) => state.manifest);
11
+ this.isVerified$ = this.store.select((state) => state.isVerified);
12
+ }
13
+ initWithData(metadata) {
14
+ this.store.loadModuleData(metadata);
15
+ }
16
+ onDataChanged(metadata) {
17
+ this.store.loadModuleData(metadata);
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade, deps: [{ token: i1.IsolatedModulesDetailsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: () => [{ type: i1.IsolatedModulesDetailsStore }] });
25
+ export const isolatedModulesDetailsNgRxFacade = (injector) => {
26
+ return new IsolatedModulesDetailsNgRxFacade(new IsolatedModulesDetailsStore(injector.get(ISOLATED_MODULES_PLUGIN)));
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pc29sYXRlZC1tb2R1bGVzLWRldGFpbHMvaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsdUJBQXVCLEVBRXhCLE1BQU0sNEJBQTRCLENBQUE7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7OztBQUc5RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsY0FBMkM7SUFJL0YsWUFBWSxLQUFrQztRQUM1QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBZ0M7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUFnQztRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyQyxDQUFDOytHQWpCVSxnQ0FBZ0M7bUhBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFENUMsVUFBVTs7QUFxQlgsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxRQUFrQixFQUFnQyxFQUFFO0lBQ25HLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDckgsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUlzb2xhdGVkTW9kdWxlc0xpc3REZXRhaWxzLFxuICBJc29sYXRlZE1vZHVsZU1hbmlmZXN0LFxuICBJc29sYXRlZE1vZHVsZU1ldGFkYXRhLFxuICBJc29sYXRlZE1vZHVsZXNEZXRhaWxzRmFjYWRlLFxuICBJU09MQVRFRF9NT0RVTEVTX1BMVUdJTixcbiAgVUlSZXNvdXJjZVxufSBmcm9tICdAd2FsbGZyZWUtZGV2L2FuZ3VsYXItY29yZSdcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQmFzZU5nUnhGYWNhZGUgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UtbmdyeC5mYWNhZGUnXG5pbXBvcnQgeyBJc29sYXRlZE1vZHVsZXNEZXRhaWxzU3RvcmUgfSBmcm9tICcuL2lzb2xhdGVkLW1vZHVsZXMtZGV0YWlscy5zdG9yZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElzb2xhdGVkTW9kdWxlc0RldGFpbHNOZ1J4RmFjYWRlIGV4dGVuZHMgQmFzZU5nUnhGYWNhZGU8SXNvbGF0ZWRNb2R1bGVzRGV0YWlsc1N0b3JlPiBpbXBsZW1lbnRzIElJc29sYXRlZE1vZHVsZXNMaXN0RGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBtYW5pZmVzdCQ6IE9ic2VydmFibGU8VUlSZXNvdXJjZTxJc29sYXRlZE1vZHVsZU1hbmlmZXN0Pj5cbiAgcHVibGljIHJlYWRvbmx5IGlzVmVyaWZpZWQkOiBPYnNlcnZhYmxlPFVJUmVzb3VyY2U8Ym9vbGVhbj4+XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKVxuXG4gICAgdGhpcy5tYW5pZmVzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLm1hbmlmZXN0KVxuICAgIHRoaXMuaXNWZXJpZmllZCQgPSB0aGlzLnN0b3JlLnNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmlzVmVyaWZpZWQpXG4gIH1cblxuICBwdWJsaWMgaW5pdFdpdGhEYXRhKG1ldGFkYXRhOiBJc29sYXRlZE1vZHVsZU1ldGFkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5sb2FkTW9kdWxlRGF0YShtZXRhZGF0YSlcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGFDaGFuZ2VkKG1ldGFkYXRhOiBJc29sYXRlZE1vZHVsZU1ldGFkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5sb2FkTW9kdWxlRGF0YShtZXRhZGF0YSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNvbGF0ZWRNb2R1bGVzRGV0YWlsc05nUnhGYWNhZGUgPSAoaW5qZWN0b3I6IEluamVjdG9yKTogSXNvbGF0ZWRNb2R1bGVzRGV0YWlsc0ZhY2FkZSA9PiB7XG4gIHJldHVybiBuZXcgSXNvbGF0ZWRNb2R1bGVzRGV0YWlsc05nUnhGYWNhZGUobmV3IElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdG9yZShpbmplY3Rvci5nZXQoSVNPTEFURURfTU9EVUxFU19QTFVHSU4pKSlcbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { ISOLATED_MODULES_PLUGIN, UIResourceStatus } from '@wallfree-dev/angular-core';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { ComponentStore } from '@ngrx/component-store';
4
+ import { from, of } from 'rxjs';
5
+ import { first, map, switchMap, tap } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ const initialState = {
8
+ manifest: {
9
+ status: UIResourceStatus.IDLE,
10
+ value: undefined
11
+ },
12
+ path: {
13
+ status: UIResourceStatus.IDLE,
14
+ value: undefined
15
+ },
16
+ isVerified: {
17
+ status: UIResourceStatus.IDLE,
18
+ value: undefined
19
+ }
20
+ };
21
+ export class IsolatedModulesDetailsStore extends ComponentStore {
22
+ constructor(isolatedModules) {
23
+ super(initialState);
24
+ this.isolatedModules = isolatedModules;
25
+ this.loadModuleData = this.effect((metadata$) => {
26
+ return metadata$.pipe(switchMap((metadata) => metadata.type === 'preview'
27
+ ? from(this.verifyModule(metadata)).pipe(first(), map((isVerified) => ({ manifest: metadata.manifest, isVerified })))
28
+ : of({ manifest: metadata.manifest, isVerified: true })), tap({
29
+ next: ({ manifest, isVerified }) => this.setData({ manifest, isVerified }),
30
+ error: () => this.onError()
31
+ }));
32
+ });
33
+ this.setData = this.updater((state, data) => {
34
+ return {
35
+ ...state,
36
+ manifest: {
37
+ status: UIResourceStatus.SUCCESS,
38
+ value: data.manifest
39
+ },
40
+ isVerified: {
41
+ status: UIResourceStatus.SUCCESS,
42
+ value: data.isVerified
43
+ }
44
+ };
45
+ });
46
+ this.onError = this.updater((state) => {
47
+ return {
48
+ ...state,
49
+ manifest: {
50
+ status: UIResourceStatus.ERROR,
51
+ value: state.manifest.value
52
+ },
53
+ isVerified: {
54
+ status: UIResourceStatus.ERROR,
55
+ value: state.isVerified.value
56
+ }
57
+ };
58
+ });
59
+ }
60
+ async verifyModule(metadata) {
61
+ const { verified } = await this.isolatedModules.verifyDynamicModule({
62
+ path: `${metadata.path}/${metadata.root}`.replace(/\/+$/, ''),
63
+ directory: metadata.directory
64
+ });
65
+ return verified;
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore, deps: [{ token: ISOLATED_MODULES_PLUGIN }], target: i0.ɵɵFactoryTarget.Injectable }); }
68
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore, decorators: [{
71
+ type: Injectable
72
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
73
+ type: Inject,
74
+ args: [ISOLATED_MODULES_PLUGIN]
75
+ }] }] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lzb2xhdGVkLW1vZHVsZXMtZGV0YWlscy9pc29sYXRlZC1tb2R1bGVzLWRldGFpbHMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFFakIsTUFBTSw0QkFBNEIsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOztBQUczRCxNQUFNLFlBQVksR0FBZ0M7SUFDaEQsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUk7UUFDN0IsS0FBSyxFQUFFLFNBQVM7S0FDakI7SUFDRCxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtRQUM3QixLQUFLLEVBQUUsU0FBUztLQUNqQjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1FBQzdCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0NBQ0YsQ0FBQTtBQUdELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxjQUEyQztJQUMxRixZQUE4RCxlQUFzQztRQUNsRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFEeUMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBSXBGLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTZDLEVBQUUsRUFBRTtZQUM3RixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQ25CLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3JCLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUztnQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNwQyxLQUFLLEVBQUUsRUFDUCxHQUFHLENBQUMsQ0FBQyxVQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUM1RTtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQzFELEVBQ0QsR0FBRyxDQUFDO2dCQUNGLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dCQUMxRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTthQUM1QixDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO1FBRWUsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQ3JDLENBQUMsS0FBa0MsRUFBRSxJQUErRCxFQUFFLEVBQUU7WUFDdEcsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO29CQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7aUJBQ3JCO2dCQUNELFVBQVUsRUFBRTtvQkFDVixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTztvQkFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVO2lCQUN2QjthQUNGLENBQUE7UUFDSCxDQUFDLENBQ0YsQ0FBQTtRQUVnQixZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtDLEVBQUUsRUFBRTtZQUM3RSxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLEtBQUs7b0JBQzlCLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUs7aUJBQzVCO2dCQUNELFVBQVUsRUFBRTtvQkFDVixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsS0FBSztvQkFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSztpQkFDOUI7YUFDRixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUEvQ0YsQ0FBQztJQWlETyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQXVDO1FBQ2hFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBOEIsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO1lBQzdGLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzdELFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztTQUM5QixDQUFDLENBQUE7UUFFRixPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDOytHQTNEVSwyQkFBMkIsa0JBQ2xCLHVCQUF1QjttSEFEaEMsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFFSSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElzb2xhdGVkTW9kdWxlTWFuaWZlc3QsXG4gIElzb2xhdGVkTW9kdWxlTWV0YWRhdGEsXG4gIElzb2xhdGVkTW9kdWxlUHJldmlld01ldGFkYXRhLFxuICBJc29sYXRlZE1vZHVsZXNQbHVnaW4sXG4gIElTT0xBVEVEX01PRFVMRVNfUExVR0lOLFxuICBVSVJlc291cmNlU3RhdHVzLFxuICBWZXJpZnlEeW5hbWljTW9kdWxlUmVzdWx0XG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvYW5ndWxhci1jb3JlJ1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJ1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdGF0ZSB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLnR5cGVzJ1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdGF0ZSA9IHtcbiAgbWFuaWZlc3Q6IHtcbiAgICBzdGF0dXM6IFVJUmVzb3VyY2VTdGF0dXMuSURMRSxcbiAgICB2YWx1ZTogdW5kZWZpbmVkXG4gIH0sXG4gIHBhdGg6IHtcbiAgICBzdGF0dXM6IFVJUmVzb3VyY2VTdGF0dXMuSURMRSxcbiAgICB2YWx1ZTogdW5kZWZpbmVkXG4gIH0sXG4gIGlzVmVyaWZpZWQ6IHtcbiAgICBzdGF0dXM6IFVJUmVzb3VyY2VTdGF0dXMuSURMRSxcbiAgICB2YWx1ZTogdW5kZWZpbmVkXG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdGF0ZT4ge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KElTT0xBVEVEX01PRFVMRVNfUExVR0lOKSBwcml2YXRlIHJlYWRvbmx5IGlzb2xhdGVkTW9kdWxlczogSXNvbGF0ZWRNb2R1bGVzUGx1Z2luKSB7XG4gICAgc3VwZXIoaW5pdGlhbFN0YXRlKVxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRNb2R1bGVEYXRhID0gdGhpcy5lZmZlY3QoKG1ldGFkYXRhJDogT2JzZXJ2YWJsZTxJc29sYXRlZE1vZHVsZU1ldGFkYXRhPikgPT4ge1xuICAgIHJldHVybiBtZXRhZGF0YSQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobWV0YWRhdGEpID0+XG4gICAgICAgIG1ldGFkYXRhLnR5cGUgPT09ICdwcmV2aWV3J1xuICAgICAgICAgID8gZnJvbSh0aGlzLnZlcmlmeU1vZHVsZShtZXRhZGF0YSkpLnBpcGUoXG4gICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgIG1hcCgoaXNWZXJpZmllZDogYm9vbGVhbikgPT4gKHsgbWFuaWZlc3Q6IG1ldGFkYXRhLm1hbmlmZXN0LCBpc1ZlcmlmaWVkIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogb2YoeyBtYW5pZmVzdDogbWV0YWRhdGEubWFuaWZlc3QsIGlzVmVyaWZpZWQ6IHRydWUgfSlcbiAgICAgICksXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoeyBtYW5pZmVzdCwgaXNWZXJpZmllZCB9KSA9PiB0aGlzLnNldERhdGEoeyBtYW5pZmVzdCwgaXNWZXJpZmllZCB9KSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMub25FcnJvcigpXG4gICAgICB9KVxuICAgIClcbiAgfSlcblxuICBwcml2YXRlIHJlYWRvbmx5IHNldERhdGEgPSB0aGlzLnVwZGF0ZXIoXG4gICAgKHN0YXRlOiBJc29sYXRlZE1vZHVsZXNEZXRhaWxzU3RhdGUsIGRhdGE6IHsgbWFuaWZlc3Q6IElzb2xhdGVkTW9kdWxlTWFuaWZlc3Q7IGlzVmVyaWZpZWQ6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgc3RhdHVzOiBVSVJlc291cmNlU3RhdHVzLlNVQ0NFU1MsXG4gICAgICAgICAgdmFsdWU6IGRhdGEubWFuaWZlc3RcbiAgICAgICAgfSxcbiAgICAgICAgaXNWZXJpZmllZDoge1xuICAgICAgICAgIHN0YXR1czogVUlSZXNvdXJjZVN0YXR1cy5TVUNDRVNTLFxuICAgICAgICAgIHZhbHVlOiBkYXRhLmlzVmVyaWZpZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgb25FcnJvciA9IHRoaXMudXBkYXRlcigoc3RhdGU6IElzb2xhdGVkTW9kdWxlc0RldGFpbHNTdGF0ZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIHN0YXR1czogVUlSZXNvdXJjZVN0YXR1cy5FUlJPUixcbiAgICAgICAgdmFsdWU6IHN0YXRlLm1hbmlmZXN0LnZhbHVlXG4gICAgICB9LFxuICAgICAgaXNWZXJpZmllZDoge1xuICAgICAgICBzdGF0dXM6IFVJUmVzb3VyY2VTdGF0dXMuRVJST1IsXG4gICAgICAgIHZhbHVlOiBzdGF0ZS5pc1ZlcmlmaWVkLnZhbHVlXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5TW9kdWxlKG1ldGFkYXRhOiBJc29sYXRlZE1vZHVsZVByZXZpZXdNZXRhZGF0YSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdmVyaWZpZWQgfTogVmVyaWZ5RHluYW1pY01vZHVsZVJlc3VsdCA9IGF3YWl0IHRoaXMuaXNvbGF0ZWRNb2R1bGVzLnZlcmlmeUR5bmFtaWNNb2R1bGUoe1xuICAgICAgcGF0aDogYCR7bWV0YWRhdGEucGF0aH0vJHttZXRhZGF0YS5yb290fWAucmVwbGFjZSgvXFwvKyQvLCAnJyksXG4gICAgICBkaXJlY3Rvcnk6IG1ldGFkYXRhLmRpcmVjdG9yeVxuICAgIH0pXG5cbiAgICByZXR1cm4gdmVyaWZpZWRcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lzb2xhdGVkLW1vZHVsZXMtZGV0YWlscy9pc29sYXRlZC1tb2R1bGVzLWRldGFpbHMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzb2xhdGVkTW9kdWxlTWFuaWZlc3QsIFVJUmVzb3VyY2UgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2FuZ3VsYXItY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBJc29sYXRlZE1vZHVsZXNEZXRhaWxzU3RhdGUge1xuICBtYW5pZmVzdDogVUlSZXNvdXJjZTxJc29sYXRlZE1vZHVsZU1hbmlmZXN0PlxuICBwYXRoOiBVSVJlc291cmNlPHN0cmluZz5cbiAgaXNWZXJpZmllZDogVUlSZXNvdXJjZTxib29sZWFuPlxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BaseNgRxFacade } from '../../base/base-ngrx.facade';
3
+ import { IsolatedModulesListStore } from './isolated-modules-list.store';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./isolated-modules-list.store";
6
+ export class IsolatedModulesListNgRxFacade extends BaseNgRxFacade {
7
+ constructor(store) {
8
+ super(store);
9
+ this.modules$ = this.store.select((state) => state.filteredModules);
10
+ }
11
+ updateModules(modules, query) {
12
+ this.store.setModules({ modules, query });
13
+ }
14
+ filterModules(query) {
15
+ this.store.filterModules(query);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade, deps: [{ token: i1.IsolatedModulesListStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade, decorators: [{
21
+ type: Injectable
22
+ }], ctorParameters: () => [{ type: i1.IsolatedModulesListStore }] });
23
+ export const isolatedModulesListNgRxFacade = (_injector) => {
24
+ return new IsolatedModulesListNgRxFacade(new IsolatedModulesListStore());
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy1saXN0LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pc29sYXRlZC1tb2R1bGVzLWxpc3QvaXNvbGF0ZWQtbW9kdWxlcy1saXN0LmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFBO0FBRXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7O0FBSXhFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxjQUF3QztJQUd6RixZQUFZLEtBQStCO1FBQ3pDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUVaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUErQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDL0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUE2QyxFQUFFLEtBQWE7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQXlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2pDLENBQUM7K0dBZlUsNkJBQTZCO21IQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVU7O0FBbUJYLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsU0FBbUIsRUFBNkIsRUFBRTtJQUM5RixPQUFPLElBQUksNkJBQTZCLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUE7QUFDMUUsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUlzb2xhdGVkTW9kdWxlc0xpc3RGYWNhZGUsIElzb2xhdGVkTW9kdWxlTWV0YWRhdGEsIElzb2xhdGVkTW9kdWxlc0xpc3RGYWNhZGUsIFVJUmVzb3VyY2UgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2FuZ3VsYXItY29yZSdcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQmFzZU5nUnhGYWNhZGUgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UtbmdyeC5mYWNhZGUnXG5pbXBvcnQgeyBJc29sYXRlZE1vZHVsZXNMaXN0U3RvcmUgfSBmcm9tICcuL2lzb2xhdGVkLW1vZHVsZXMtbGlzdC5zdG9yZSdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0xpc3RTdGF0ZSB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1saXN0LnR5cGVzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSXNvbGF0ZWRNb2R1bGVzTGlzdE5nUnhGYWNhZGUgZXh0ZW5kcyBCYXNlTmdSeEZhY2FkZTxJc29sYXRlZE1vZHVsZXNMaXN0U3RvcmU+IGltcGxlbWVudHMgSUlzb2xhdGVkTW9kdWxlc0xpc3RGYWNhZGUge1xuICBwdWJsaWMgcmVhZG9ubHkgbW9kdWxlcyQ6IE9ic2VydmFibGU8VUlSZXNvdXJjZTxJc29sYXRlZE1vZHVsZU1ldGFkYXRhW10+PlxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBJc29sYXRlZE1vZHVsZXNMaXN0U3RvcmUpIHtcbiAgICBzdXBlcihzdG9yZSlcblxuICAgIHRoaXMubW9kdWxlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdCgoc3RhdGU6IElzb2xhdGVkTW9kdWxlc0xpc3RTdGF0ZSkgPT4gc3RhdGUuZmlsdGVyZWRNb2R1bGVzKVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZU1vZHVsZXMobW9kdWxlczogVUlSZXNvdXJjZTxJc29sYXRlZE1vZHVsZU1ldGFkYXRhW10+LCBxdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5zZXRNb2R1bGVzKHsgbW9kdWxlcywgcXVlcnkgfSlcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJNb2R1bGVzKHF1ZXJ5OiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmZpbHRlck1vZHVsZXMocXVlcnkpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGlzb2xhdGVkTW9kdWxlc0xpc3ROZ1J4RmFjYWRlID0gKF9pbmplY3RvcjogSW5qZWN0b3IpOiBJc29sYXRlZE1vZHVsZXNMaXN0RmFjYWRlID0+IHtcbiAgcmV0dXJuIG5ldyBJc29sYXRlZE1vZHVsZXNMaXN0TmdSeEZhY2FkZShuZXcgSXNvbGF0ZWRNb2R1bGVzTGlzdFN0b3JlKCkpXG59XG4iXX0=