raain-app 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/RELEASE.md +3 -0
  4. package/cache.service.d.ts +9 -0
  5. package/esm2020/cache.service.mjs +33 -0
  6. package/esm2020/fidj-storage.model.mjs +162 -0
  7. package/esm2020/index.mjs +18 -0
  8. package/esm2020/profile.service.mjs +881 -0
  9. package/esm2020/raain-app.mjs +5 -0
  10. package/esm2020/raain-compare/raain-compare.component.mjs +106 -0
  11. package/esm2020/raain-compare-stack/raain-compare-stack.component.mjs +27 -0
  12. package/esm2020/raain-configuration/raain-configuration.component.mjs +97 -0
  13. package/esm2020/raain-date-focus/raain-date-focus.component.mjs +94 -0
  14. package/esm2020/raain-map/raain-map.component.mjs +295 -0
  15. package/esm2020/raain-speed/raain-speed.component.mjs +83 -0
  16. package/esm2020/raain-test/raain-test.component.mjs +17 -0
  17. package/esm2020/radar.service.mjs +91 -0
  18. package/esm2020/shared.const.mjs +25 -0
  19. package/esm2020/shared.module.mjs +142 -0
  20. package/esm2020/shared.pipe.mjs +203 -0
  21. package/esm2020/storage.service.mjs +17 -0
  22. package/esm2020/tools/CompareManager.mjs +248 -0
  23. package/esm2020/tools/FrameSet.mjs +10 -0
  24. package/esm2020/tools/GaugeNodeFilter.mjs +19 -0
  25. package/esm2020/tools/RefreshManager.mjs +202 -0
  26. package/esm2020/tools/index.mjs +5 -0
  27. package/esm2020/xytype.mjs +10 -0
  28. package/fesm2015/raain-app.mjs +2871 -0
  29. package/fesm2015/raain-app.mjs.map +1 -0
  30. package/fesm2020/raain-app.mjs +2707 -0
  31. package/fesm2020/raain-app.mjs.map +1 -0
  32. package/fidj-storage.model.d.ts +23 -0
  33. package/index.d.ts +17 -0
  34. package/package.json +58 -0
  35. package/profile.service.d.ts +114 -0
  36. package/raain-compare/raain-compare.component.d.ts +33 -0
  37. package/raain-compare-stack/raain-compare-stack.component.d.ts +20 -0
  38. package/raain-configuration/raain-configuration.component.d.ts +29 -0
  39. package/raain-date-focus/raain-date-focus.component.d.ts +36 -0
  40. package/raain-map/raain-map.component.d.ts +58 -0
  41. package/raain-speed/raain-speed.component.d.ts +25 -0
  42. package/raain-test/raain-test.component.d.ts +6 -0
  43. package/radar.service.d.ts +19 -0
  44. package/shared.const.d.ts +23 -0
  45. package/shared.module.d.ts +17 -0
  46. package/shared.pipe.d.ts +69 -0
  47. package/storage.service.d.ts +7 -0
  48. package/tools/CompareManager.d.ts +49 -0
  49. package/tools/FrameSet.d.ts +14 -0
  50. package/tools/GaugeNodeFilter.d.ts +9 -0
  51. package/tools/RefreshManager.d.ts +49 -0
  52. package/tools/index.d.ts +4 -0
  53. package/xytype.d.ts +8 -0
@@ -0,0 +1,25 @@
1
+ // TODO remove constants but preferred progress indicator [0 to 1]
2
+ export const CONSTANTS = {
3
+ _RAIN_STATUS_0_NOT_STARTED: 0,
4
+ _RAIN_STATUS_0_WAIT_FOR_ECHOES: 0.1,
5
+ _RAIN_STATUS_0_WAIT_FOR_INPUT: 0.2,
6
+ _RAIN_STATUS_0_WAIT_FOR_INTERNAL_VALIDATION: 0.3,
7
+ _RAIN_STATUS_0_READY_TO_BUILD: 0.4,
8
+ _RAIN_STATUS_1_BUILDING: 0.5,
9
+ _RAIN_STATUS_1_READY_TO_COMPUTE: 0.6,
10
+ _RAIN_COMPUTATION_IS_READY: 0,
11
+ _RAIN_COMPUTATION_IN_PROGRESS: 0.5,
12
+ _RAIN_COMPUTATION_DONE: 1,
13
+ _INPUT_VALIDITY_NOT_CHECKED_YET: -1,
14
+ _INPUT_VALIDITY_CHECK_IN_PROGRESS: -0.5,
15
+ _INPUT_VALIDITY_NOT_VALID: 0,
16
+ _INPUT_VALIDITY_NOT_CONFIDENT: 0.5,
17
+ _INPUT_VALIDITY_VALID: 1,
18
+ _VERIFY_STATUS_FIND_RADARS: 0.3,
19
+ _VERIFY_STATUS_FIND_SIMILAR: 0.6,
20
+ _VERIFY_STATUS_FIND_GAUGES: 0.7,
21
+ _COMPUTATION_STATUS_UNKNOWN: 0,
22
+ _COMPUTATION_STATUS_IN_PROGRESS: 0.4,
23
+ _COMPUTATION_STATUS_FINISHED: 1,
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2hhcmVkLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFFdkIsMEJBQTBCLEVBQUUsQ0FBQztJQUM3Qiw4QkFBOEIsRUFBRSxHQUFHO0lBQ25DLDZCQUE2QixFQUFFLEdBQUc7SUFDbEMsMkNBQTJDLEVBQUUsR0FBRztJQUNoRCw2QkFBNkIsRUFBRSxHQUFHO0lBQ2xDLHVCQUF1QixFQUFFLEdBQUc7SUFDNUIsK0JBQStCLEVBQUUsR0FBRztJQUVwQywwQkFBMEIsRUFBRSxDQUFDO0lBQzdCLDZCQUE2QixFQUFFLEdBQUc7SUFDbEMsc0JBQXNCLEVBQUUsQ0FBQztJQUV6QiwrQkFBK0IsRUFBRSxDQUFDLENBQUM7SUFDbkMsaUNBQWlDLEVBQUUsQ0FBQyxHQUFHO0lBQ3ZDLHlCQUF5QixFQUFFLENBQUM7SUFDNUIsNkJBQTZCLEVBQUUsR0FBRztJQUNsQyxxQkFBcUIsRUFBRSxDQUFDO0lBRXhCLDBCQUEwQixFQUFFLEdBQUc7SUFDL0IsMkJBQTJCLEVBQUUsR0FBRztJQUNoQywwQkFBMEIsRUFBRSxHQUFHO0lBRS9CLDJCQUEyQixFQUFFLENBQUM7SUFDOUIsK0JBQStCLEVBQUUsR0FBRztJQUNwQyw0QkFBNEIsRUFBRSxDQUFDO0NBRWhDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPIHJlbW92ZSBjb25zdGFudHMgYnV0IHByZWZlcnJlZCBwcm9ncmVzcyBpbmRpY2F0b3IgWzAgdG8gMV1cbmV4cG9ydCBjb25zdCBDT05TVEFOVFMgPSB7XG5cbiAgX1JBSU5fU1RBVFVTXzBfTk9UX1NUQVJURUQ6IDAsXG4gIF9SQUlOX1NUQVRVU18wX1dBSVRfRk9SX0VDSE9FUzogMC4xLFxuICBfUkFJTl9TVEFUVVNfMF9XQUlUX0ZPUl9JTlBVVDogMC4yLFxuICBfUkFJTl9TVEFUVVNfMF9XQUlUX0ZPUl9JTlRFUk5BTF9WQUxJREFUSU9OOiAwLjMsXG4gIF9SQUlOX1NUQVRVU18wX1JFQURZX1RPX0JVSUxEOiAwLjQsXG4gIF9SQUlOX1NUQVRVU18xX0JVSUxESU5HOiAwLjUsXG4gIF9SQUlOX1NUQVRVU18xX1JFQURZX1RPX0NPTVBVVEU6IDAuNixcblxuICBfUkFJTl9DT01QVVRBVElPTl9JU19SRUFEWTogMCxcbiAgX1JBSU5fQ09NUFVUQVRJT05fSU5fUFJPR1JFU1M6IDAuNSxcbiAgX1JBSU5fQ09NUFVUQVRJT05fRE9ORTogMSxcblxuICBfSU5QVVRfVkFMSURJVFlfTk9UX0NIRUNLRURfWUVUOiAtMSxcbiAgX0lOUFVUX1ZBTElESVRZX0NIRUNLX0lOX1BST0dSRVNTOiAtMC41LFxuICBfSU5QVVRfVkFMSURJVFlfTk9UX1ZBTElEOiAwLFxuICBfSU5QVVRfVkFMSURJVFlfTk9UX0NPTkZJREVOVDogMC41LFxuICBfSU5QVVRfVkFMSURJVFlfVkFMSUQ6IDEsXG5cbiAgX1ZFUklGWV9TVEFUVVNfRklORF9SQURBUlM6IDAuMyxcbiAgX1ZFUklGWV9TVEFUVVNfRklORF9TSU1JTEFSOiAwLjYsXG4gIF9WRVJJRllfU1RBVFVTX0ZJTkRfR0FVR0VTOiAwLjcsXG5cbiAgX0NPTVBVVEFUSU9OX1NUQVRVU19VTktOT1dOOiAwLFxuICBfQ09NUFVUQVRJT05fU1RBVFVTX0lOX1BST0dSRVNTOiAwLjQsXG4gIF9DT01QVVRBVElPTl9TVEFUVVNfRklOSVNIRUQ6IDEsXG5cbn07XG4iXX0=
@@ -0,0 +1,142 @@
1
+ import { CommonModule, NgOptimizedImage, NgStyle } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ProfileService } from './profile.service';
5
+ import { Storage } from './storage.service';
6
+ import { RadarService } from './radar.service';
7
+ import { Cache } from './cache.service';
8
+ import { IonicModule, IonRange } from '@ionic/angular';
9
+ import { AreInProgressPipe, AreReady, AreStopped, HasGoodQuality, HasNotGoodQuality, HaveNotBeenRed, IsNotReady, IsReady, ProgressBuffer, ProgressValue, TimeframeComputationProgress, TimeframeQualityProgress, WaitForValidation } from './shared.pipe';
10
+ import { RaainMapComponent } from './raain-map/raain-map.component';
11
+ import { RaainCompareComponent } from './raain-compare/raain-compare.component';
12
+ import { RaainConfigurationComponent } from './raain-configuration/raain-configuration.component';
13
+ import { RaainDateFocusComponent } from './raain-date-focus/raain-date-focus.component';
14
+ import { RaainSpeedComponent } from './raain-speed/raain-speed.component';
15
+ import { RaainCompareStackComponent } from './raain-compare-stack/raain-compare-stack.component';
16
+ import { RaainTestComponent } from './raain-test/raain-test.component';
17
+ import * as i0 from "@angular/core";
18
+ export class SharedModule {
19
+ }
20
+ SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, declarations: [RaainTestComponent,
22
+ RaainMapComponent,
23
+ RaainCompareComponent,
24
+ RaainCompareStackComponent,
25
+ RaainDateFocusComponent,
26
+ RaainConfigurationComponent,
27
+ RaainSpeedComponent,
28
+ AreStopped,
29
+ AreInProgressPipe,
30
+ AreReady,
31
+ IsReady,
32
+ IsNotReady,
33
+ WaitForValidation,
34
+ HasGoodQuality,
35
+ HasNotGoodQuality,
36
+ ProgressValue,
37
+ ProgressBuffer,
38
+ HaveNotBeenRed,
39
+ TimeframeComputationProgress,
40
+ TimeframeQualityProgress], imports: [CommonModule,
41
+ FormsModule,
42
+ IonicModule,
43
+ NgOptimizedImage], exports: [CommonModule,
44
+ NgStyle,
45
+ RaainTestComponent,
46
+ RaainMapComponent,
47
+ RaainCompareComponent,
48
+ RaainCompareStackComponent,
49
+ RaainDateFocusComponent,
50
+ RaainConfigurationComponent,
51
+ RaainSpeedComponent,
52
+ AreStopped,
53
+ AreInProgressPipe,
54
+ AreReady,
55
+ IsReady,
56
+ IsNotReady,
57
+ WaitForValidation,
58
+ HasGoodQuality,
59
+ HasNotGoodQuality,
60
+ ProgressValue,
61
+ ProgressBuffer,
62
+ HaveNotBeenRed,
63
+ TimeframeComputationProgress,
64
+ TimeframeQualityProgress] });
65
+ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, providers: [
66
+ Storage,
67
+ RadarService,
68
+ ProfileService,
69
+ Cache,
70
+ IonRange,
71
+ TimeframeComputationProgress,
72
+ TimeframeQualityProgress,
73
+ ], imports: [CommonModule,
74
+ FormsModule,
75
+ IonicModule, CommonModule] });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, decorators: [{
77
+ type: NgModule,
78
+ args: [{
79
+ declarations: [
80
+ RaainTestComponent,
81
+ RaainMapComponent,
82
+ RaainCompareComponent,
83
+ RaainCompareStackComponent,
84
+ RaainDateFocusComponent,
85
+ RaainConfigurationComponent,
86
+ RaainSpeedComponent,
87
+ AreStopped,
88
+ AreInProgressPipe,
89
+ AreReady,
90
+ IsReady,
91
+ IsNotReady,
92
+ WaitForValidation,
93
+ HasGoodQuality,
94
+ HasNotGoodQuality,
95
+ ProgressValue,
96
+ ProgressBuffer,
97
+ HaveNotBeenRed,
98
+ TimeframeComputationProgress,
99
+ TimeframeQualityProgress,
100
+ ],
101
+ imports: [
102
+ CommonModule,
103
+ FormsModule,
104
+ IonicModule,
105
+ NgOptimizedImage,
106
+ ],
107
+ providers: [
108
+ Storage,
109
+ RadarService,
110
+ ProfileService,
111
+ Cache,
112
+ IonRange,
113
+ TimeframeComputationProgress,
114
+ TimeframeQualityProgress,
115
+ ],
116
+ exports: [
117
+ CommonModule,
118
+ NgStyle,
119
+ RaainTestComponent,
120
+ RaainMapComponent,
121
+ RaainCompareComponent,
122
+ RaainCompareStackComponent,
123
+ RaainDateFocusComponent,
124
+ RaainConfigurationComponent,
125
+ RaainSpeedComponent,
126
+ AreStopped,
127
+ AreInProgressPipe,
128
+ AreReady,
129
+ IsReady,
130
+ IsNotReady,
131
+ WaitForValidation,
132
+ HasGoodQuality,
133
+ HasNotGoodQuality,
134
+ ProgressValue,
135
+ ProgressBuffer,
136
+ HaveNotBeenRed,
137
+ TimeframeComputationProgress,
138
+ TimeframeQualityProgress,
139
+ ]
140
+ }]
141
+ }] });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixVQUFVLEVBQ1YsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLDRCQUE0QixFQUM1Qix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOztBQW9FckUsTUFBTSxPQUFPLFlBQVk7OzBHQUFaLFlBQVk7MkdBQVosWUFBWSxpQkFoRXJCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMkJBQTJCO1FBQzNCLG1CQUFtQjtRQUVuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFFBQVE7UUFDUixPQUFPO1FBQ1AsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsY0FBYztRQUNkLDRCQUE0QjtRQUM1Qix3QkFBd0IsYUFHeEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsZ0JBQWdCLGFBWWhCLFlBQVk7UUFDWixPQUFPO1FBRVAsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IsbUJBQW1CO1FBRW5CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLE9BQU87UUFDUCxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjO1FBQ2QsNEJBQTRCO1FBQzVCLHdCQUF3QjsyR0FHZixZQUFZLGFBcENaO1FBQ1QsT0FBTztRQUNQLFlBQVk7UUFDWixjQUFjO1FBQ2QsS0FBSztRQUNMLFFBQVE7UUFDUiw0QkFBNEI7UUFDNUIsd0JBQXdCO0tBQ3pCLFlBYkMsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXLEVBYVgsWUFBWTs0RkEwQkgsWUFBWTtrQkFsRXhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7d0JBQzNCLG1CQUFtQjt3QkFFbkIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsZ0JBQWdCO3FCQUNqQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsS0FBSzt3QkFDTCxRQUFRO3dCQUNSLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixPQUFPO3dCQUVQLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7d0JBQzNCLG1CQUFtQjt3QkFFbkIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7UHJvZmlsZVNlcnZpY2V9IGZyb20gJy4vcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7U3RvcmFnZX0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtSYWRhclNlcnZpY2V9IGZyb20gJy4vcmFkYXIuc2VydmljZSc7XG5pbXBvcnQge0NhY2hlfSBmcm9tICcuL2NhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtJb25pY01vZHVsZSwgSW9uUmFuZ2V9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7XG4gIEFyZUluUHJvZ3Jlc3NQaXBlLFxuICBBcmVSZWFkeSxcbiAgQXJlU3RvcHBlZCxcbiAgSGFzR29vZFF1YWxpdHksXG4gIEhhc05vdEdvb2RRdWFsaXR5LFxuICBIYXZlTm90QmVlblJlZCxcbiAgSXNOb3RSZWFkeSxcbiAgSXNSZWFkeSxcbiAgUHJvZ3Jlc3NCdWZmZXIsXG4gIFByb2dyZXNzVmFsdWUsXG4gIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gIFRpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyxcbiAgV2FpdEZvclZhbGlkYXRpb25cbn0gZnJvbSAnLi9zaGFyZWQucGlwZSc7XG5pbXBvcnQge1JhYWluTWFwQ29tcG9uZW50fSBmcm9tICcuL3JhYWluLW1hcC9yYWFpbi1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7UmFhaW5Db21wYXJlQ29tcG9uZW50fSBmcm9tICcuL3JhYWluLWNvbXBhcmUvcmFhaW4tY29tcGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWFpbkNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4vcmFhaW4tY29uZmlndXJhdGlvbi9yYWFpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1JhYWluRGF0ZUZvY3VzQ29tcG9uZW50fSBmcm9tICcuL3JhYWluLWRhdGUtZm9jdXMvcmFhaW4tZGF0ZS1mb2N1cy5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWFpblNwZWVkQ29tcG9uZW50fSBmcm9tICcuL3JhYWluLXNwZWVkL3JhYWluLXNwZWVkLmNvbXBvbmVudCc7XG5pbXBvcnQge1JhYWluQ29tcGFyZVN0YWNrQ29tcG9uZW50fSBmcm9tICcuL3JhYWluLWNvbXBhcmUtc3RhY2svcmFhaW4tY29tcGFyZS1zdGFjay5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWFpblRlc3RDb21wb25lbnR9IGZyb20gJy4vcmFhaW4tdGVzdC9yYWFpbi10ZXN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJhYWluVGVzdENvbXBvbmVudCxcbiAgICBSYWFpbk1hcENvbXBvbmVudCxcbiAgICBSYWFpbkNvbXBhcmVDb21wb25lbnQsXG4gICAgUmFhaW5Db21wYXJlU3RhY2tDb21wb25lbnQsXG4gICAgUmFhaW5EYXRlRm9jdXNDb21wb25lbnQsXG4gICAgUmFhaW5Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFJhYWluU3BlZWRDb21wb25lbnQsXG5cbiAgICBBcmVTdG9wcGVkLFxuICAgIEFyZUluUHJvZ3Jlc3NQaXBlLFxuICAgIEFyZVJlYWR5LFxuICAgIElzUmVhZHksXG4gICAgSXNOb3RSZWFkeSxcbiAgICBXYWl0Rm9yVmFsaWRhdGlvbixcbiAgICBIYXNHb29kUXVhbGl0eSxcbiAgICBIYXNOb3RHb29kUXVhbGl0eSxcbiAgICBQcm9ncmVzc1ZhbHVlLFxuICAgIFByb2dyZXNzQnVmZmVyLFxuICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gICAgVGltZWZyYW1lUXVhbGl0eVByb2dyZXNzLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFN0b3JhZ2UsXG4gICAgUmFkYXJTZXJ2aWNlLFxuICAgIFByb2ZpbGVTZXJ2aWNlLFxuICAgIENhY2hlLFxuICAgIElvblJhbmdlLFxuICAgIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gICAgVGltZWZyYW1lUXVhbGl0eVByb2dyZXNzLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5nU3R5bGUsXG5cbiAgICBSYWFpblRlc3RDb21wb25lbnQsXG4gICAgUmFhaW5NYXBDb21wb25lbnQsXG4gICAgUmFhaW5Db21wYXJlQ29tcG9uZW50LFxuICAgIFJhYWluQ29tcGFyZVN0YWNrQ29tcG9uZW50LFxuICAgIFJhYWluRGF0ZUZvY3VzQ29tcG9uZW50LFxuICAgIFJhYWluQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgICBSYWFpblNwZWVkQ29tcG9uZW50LFxuXG4gICAgQXJlU3RvcHBlZCxcbiAgICBBcmVJblByb2dyZXNzUGlwZSxcbiAgICBBcmVSZWFkeSxcbiAgICBJc1JlYWR5LFxuICAgIElzTm90UmVhZHksXG4gICAgV2FpdEZvclZhbGlkYXRpb24sXG4gICAgSGFzR29vZFF1YWxpdHksXG4gICAgSGFzTm90R29vZFF1YWxpdHksXG4gICAgUHJvZ3Jlc3NWYWx1ZSxcbiAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICBIYXZlTm90QmVlblJlZCxcbiAgICBUaW1lZnJhbWVDb21wdXRhdGlvblByb2dyZXNzLFxuICAgIFRpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge1xufVxuIl19
@@ -0,0 +1,203 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { CONSTANTS } from './shared.const';
3
+ import * as i0 from "@angular/core";
4
+ export class AreStopped {
5
+ transform(rains) {
6
+ return rains.filter((rain) => (rain.status <= CONSTANTS._RAIN_STATUS_0_NOT_STARTED));
7
+ }
8
+ }
9
+ AreStopped.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreStopped, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ AreStopped.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AreStopped, name: "areStopped" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreStopped, decorators: [{
12
+ type: Pipe,
13
+ args: [{ name: 'areStopped' }]
14
+ }] });
15
+ export class AreInProgressPipe {
16
+ transform(rains) {
17
+ return rains.filter((rain) => (CONSTANTS._RAIN_STATUS_0_NOT_STARTED < rain.status && rain.status < CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE));
18
+ }
19
+ }
20
+ AreInProgressPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreInProgressPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ AreInProgressPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AreInProgressPipe, name: "areInProgress" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreInProgressPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{ name: 'areInProgress' }]
25
+ }] });
26
+ export class AreReady {
27
+ transform(rains) {
28
+ return rains.filter((rain) => (rain.status >= CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE && rain.quality > CONSTANTS._INPUT_VALIDITY_NOT_CONFIDENT));
29
+ }
30
+ }
31
+ AreReady.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreReady, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
32
+ AreReady.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AreReady, name: "areReady" });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AreReady, decorators: [{
34
+ type: Pipe,
35
+ args: [{ name: 'areReady' }]
36
+ }] });
37
+ export class IsReady {
38
+ transform(rain) {
39
+ if (rain.status >= CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE) {
40
+ return rain;
41
+ }
42
+ return null;
43
+ }
44
+ }
45
+ IsReady.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsReady, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
46
+ IsReady.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsReady, name: "isReady" });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsReady, decorators: [{
48
+ type: Pipe,
49
+ args: [{ name: 'isReady' }]
50
+ }] });
51
+ export class IsNotReady {
52
+ transform(rain) {
53
+ if (rain.status < CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE) {
54
+ return rain;
55
+ }
56
+ return null;
57
+ }
58
+ }
59
+ IsNotReady.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsNotReady, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
60
+ IsNotReady.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsNotReady, name: "isNotReady" });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsNotReady, decorators: [{
62
+ type: Pipe,
63
+ args: [{ name: 'isNotReady' }]
64
+ }] });
65
+ export class WaitForValidation {
66
+ transform(rain) {
67
+ if (rain.status === CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE) {
68
+ return rain;
69
+ }
70
+ return null;
71
+ }
72
+ }
73
+ WaitForValidation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WaitForValidation, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
74
+ WaitForValidation.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: WaitForValidation, name: "waitForValidation" });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WaitForValidation, decorators: [{
76
+ type: Pipe,
77
+ args: [{ name: 'waitForValidation' }]
78
+ }] });
79
+ export class HasGoodQuality {
80
+ transform(rain) {
81
+ if (rain.quality > CONSTANTS._INPUT_VALIDITY_NOT_CONFIDENT) {
82
+ return rain;
83
+ }
84
+ return null;
85
+ }
86
+ }
87
+ HasGoodQuality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasGoodQuality, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
88
+ HasGoodQuality.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HasGoodQuality, name: "hasGoodQuality" });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasGoodQuality, decorators: [{
90
+ type: Pipe,
91
+ args: [{ name: 'hasGoodQuality' }]
92
+ }] });
93
+ export class HasNotGoodQuality {
94
+ transform(rain) {
95
+ if (rain.quality < CONSTANTS._INPUT_VALIDITY_VALID) {
96
+ return rain;
97
+ }
98
+ return null;
99
+ }
100
+ }
101
+ HasNotGoodQuality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasNotGoodQuality, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
102
+ HasNotGoodQuality.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HasNotGoodQuality, name: "hasNotGoodQuality" });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasNotGoodQuality, decorators: [{
104
+ type: Pipe,
105
+ args: [{ name: 'hasNotGoodQuality' }]
106
+ }] });
107
+ export class ProgressValue {
108
+ transform(rain) {
109
+ if (rain.status < 0) {
110
+ return 0;
111
+ }
112
+ // const value = (rain.progressIngest + rain.progressComputing) / 2;
113
+ const value = rain.status / 2; // 0
114
+ // if (rain.status === CONSTANTS._RAIN_STATUS_0_READY_TO_BUILD) {
115
+ // value = 0.3;
116
+ // } else if (rain.status === CONSTANTS._RAIN_STATUS_1_BUILDING) {
117
+ // value = 0.6;
118
+ // } else if (rain.status === CONSTANTS._RAIN_STATUS_1_READY_TO_COMPUTE) {
119
+ // value = 1;
120
+ // }
121
+ return value;
122
+ }
123
+ }
124
+ ProgressValue.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
125
+ ProgressValue.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ProgressValue, name: "progressValue" });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressValue, decorators: [{
127
+ type: Pipe,
128
+ args: [{ name: 'progressValue' }]
129
+ }] });
130
+ export class ProgressBuffer {
131
+ transform(rain) {
132
+ if (rain.quality < 0) {
133
+ return 0;
134
+ }
135
+ const value = rain.quality / 2;
136
+ return value;
137
+ }
138
+ }
139
+ ProgressBuffer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressBuffer, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
140
+ ProgressBuffer.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ProgressBuffer, name: "progressBuffer" });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressBuffer, decorators: [{
142
+ type: Pipe,
143
+ args: [{ name: 'progressBuffer' }]
144
+ }] });
145
+ export class TimeframeComputationProgress {
146
+ transform(frameSets) {
147
+ let progress = 0;
148
+ if (!frameSets || frameSets.length === 0) {
149
+ return 1;
150
+ }
151
+ for (const frameset of frameSets) {
152
+ if (frameset.radarMeasureIds.length && frameset.rainComputationId) {
153
+ progress++;
154
+ }
155
+ }
156
+ return progress / frameSets.length;
157
+ }
158
+ }
159
+ TimeframeComputationProgress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeframeComputationProgress, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
160
+ TimeframeComputationProgress.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TimeframeComputationProgress, name: "timeframeComputationProgress" });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeframeComputationProgress, decorators: [{
162
+ type: Pipe,
163
+ args: [{ name: 'timeframeComputationProgress' }]
164
+ }] });
165
+ export class TimeframeQualityProgress {
166
+ transform(frameSets) {
167
+ let progress = 0;
168
+ if (!frameSets || frameSets.length === 0) {
169
+ return 1;
170
+ }
171
+ for (const frameset of frameSets) {
172
+ const qualities = frameset.rainComputationQualities ? frameset.rainComputationQualities : [];
173
+ const atLeastOneIsNotOutdated = qualities
174
+ .filter(q => q.version.indexOf('outdated') < 0);
175
+ if (frameset.radarMeasureIds.length && frameset.rainComputationId && atLeastOneIsNotOutdated.length) {
176
+ progress++;
177
+ }
178
+ }
179
+ return progress / frameSets.length;
180
+ }
181
+ }
182
+ TimeframeQualityProgress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeframeQualityProgress, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
183
+ TimeframeQualityProgress.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TimeframeQualityProgress, name: "timeframeQualityProgress" });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeframeQualityProgress, decorators: [{
185
+ type: Pipe,
186
+ args: [{ name: 'timeframeQualityProgress' }]
187
+ }] });
188
+ export class HaveNotBeenRed {
189
+ transform(events) {
190
+ const haveNotBeenRed = events.filter((event) => (!event.red));
191
+ return haveNotBeenRed;
192
+ }
193
+ }
194
+ HaveNotBeenRed.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HaveNotBeenRed, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
195
+ HaveNotBeenRed.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HaveNotBeenRed, name: "haveNotBeenRed", pure: false });
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HaveNotBeenRed, decorators: [{
197
+ type: Pipe,
198
+ args: [{
199
+ name: 'haveNotBeenRed',
200
+ pure: false
201
+ }]
202
+ }] });
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwL3NoYXJlZC9zaGFyZWQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXpDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFpQjtRQUN6QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7O3dHQUhVLFVBQVU7c0dBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQzs7QUFRMUIsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixTQUFTLENBQUMsS0FBaUI7UUFDekIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUM1QixTQUFTLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQywrQkFBK0IsQ0FDOUcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBTFUsaUJBQWlCOzZHQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUM7O0FBVTdCLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBQyxLQUFpQjtRQUN6QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQzVCLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLCtCQUErQixJQUFJ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U0FBUztpQkFDdEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsaUJBQWlCLElBQUksdUJBQXVCLENBQUMsTUFBTSxFQUFFO2dCQUNuRyxRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7O3NIQWpCVSx3QkFBd0I7b0hBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFDOztBQXlCeEMsTUFBTSxPQUFPLGNBQWM7SUFDekIsU0FBUyxDQUFDLE1BQW1CO1FBQzNCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDOzs0R0FKVSxjQUFjOzBHQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2ZW50Tm9kZSwgUmFpbk5vZGV9IGZyb20gJ3JhYWluLW1vZGVsJztcbmltcG9ydCB7Q09OU1RBTlRTfSBmcm9tICcuL3NoYXJlZC5jb25zdCc7XG5pbXBvcnQge0ZyYW1lU2V0fSBmcm9tICcuL3Rvb2xzJztcblxuQFBpcGUoe25hbWU6ICdhcmVTdG9wcGVkJ30pXG5leHBvcnQgY2xhc3MgQXJlU3RvcHBlZCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmFpbnM6IFJhaW5Ob2RlW10pOiBSYWluTm9kZVtdIHtcbiAgICByZXR1cm4gcmFpbnMuZmlsdGVyKChyYWluKSA9PiAocmFpbi5zdGF0dXMgPD0gQ09OU1RBTlRTLl9SQUlOX1NUQVRVU18wX05PVF9TVEFSVEVEKSk7XG4gIH1cbn1cblxuQFBpcGUoe25hbWU6ICdhcmVJblByb2dyZXNzJ30pXG5leHBvcnQgY2xhc3MgQXJlSW5Qcm9ncmVzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHJhaW5zOiBSYWluTm9kZVtdKTogUmFpbk5vZGVbXSB7XG4gICAgcmV0dXJuIHJhaW5zLmZpbHRlcigocmFpbikgPT4gKFxuICAgICAgQ09OU1RBTlRTLl9SQUlOX1NUQVRVU18wX05PVF9TVEFSVEVEIDwgcmFpbi5zdGF0dXMgJiYgcmFpbi5zdGF0dXMgPCBDT05TVEFOVFMuX1JBSU5fU1RBVFVTXzFfUkVBRFlfVE9fQ09NUFVURVxuICAgICkpO1xuICB9XG59XG5cbkBQaXBlKHtuYW1lOiAnYXJlUmVhZHknfSlcbmV4cG9ydCBjbGFzcyBBcmVSZWFkeSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmFpbnM6IFJhaW5Ob2RlW10pOiBSYWluTm9kZVtdIHtcbiAgICByZXR1cm4gcmFpbnMuZmlsdGVyKChyYWluKSA9PiAoXG4gICAgICByYWluLnN0YXR1cyA+PSBDT05TVEFOVFMuX1JBSU5fU1RBVFVTXzFfUkVBRFlfVE9fQ09NUFVURSAmJiByYWluLnF1YWxpdHkgPiBDT05TVEFOVFMuX0lOUFVUX1ZBTElESVRZX05PVF9DT05GSURFTlRcbiAgICApKTtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ2lzUmVhZHknfSlcbmV4cG9ydCBjbGFzcyBJc1JlYWR5IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShyYWluOiBSYWluTm9kZSk6IFJhaW5Ob2RlIHtcbiAgICBpZiAocmFpbi5zdGF0dXMgPj0gQ09OU1RBTlRTLl9SQUlOX1NUQVRVU18xX1JFQURZX1RPX0NPTVBVVEUpIHtcbiAgICAgIHJldHVybiByYWluO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ2lzTm90UmVhZHknfSlcbmV4cG9ydCBjbGFzcyBJc05vdFJlYWR5IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShyYWluOiBSYWluTm9kZSk6IFJhaW5Ob2RlIHtcbiAgICBpZiAocmFpbi5zdGF0dXMgPCBDT05TVEFOVFMuX1JBSU5fU1RBVFVTXzFfUkVBRFlfVE9fQ09NUFVURSkge1xuICAgICAgcmV0dXJuIHJhaW47XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbkBQaXBlKHtuYW1lOiAnd2FpdEZvclZhbGlkYXRpb24nfSlcbmV4cG9ydCBjbGFzcyBXYWl0Rm9yVmFsaWRhdGlvbiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmFpbjogUmFpbk5vZGUpOiBSYWluTm9kZSB7XG4gICAgaWYgKHJhaW4uc3RhdHVzID09PSBDT05TVEFOVFMuX1JBSU5fU1RBVFVTXzFfUkVBRFlfVE9fQ09NUFVURSkge1xuICAgICAgcmV0dXJuIHJhaW47XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbkBQaXBlKHtuYW1lOiAnaGFzR29vZFF1YWxpdHknfSlcbmV4cG9ydCBjbGFzcyBIYXNHb29kUXVhbGl0eSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmFpbjogUmFpbk5vZGUpOiBSYWluTm9kZSB7XG4gICAgaWYgKHJhaW4ucXVhbGl0eSA+IENPTlNUQU5UUy5fSU5QVVRfVkFMSURJVFlfTk9UX0NPTkZJREVOVCkge1xuICAgICAgcmV0dXJuIHJhaW47XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbkBQaXBlKHtuYW1lOiAnaGFzTm90R29vZFF1YWxpdHknfSlcbmV4cG9ydCBjbGFzcyBIYXNOb3RHb29kUXVhbGl0eSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmFpbjogUmFpbk5vZGUpOiBSYWluTm9kZSB7XG4gICAgaWYgKHJhaW4ucXVhbGl0eSA8IENPTlNUQU5UUy5fSU5QVVRfVkFMSURJVFlfVkFMSUQpIHtcbiAgICAgIHJldHVybiByYWluO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ3Byb2dyZXNzVmFsdWUnfSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1ZhbHVlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShyYWluOiBSYWluTm9kZSk6IG51bWJlciB7XG4gICAgaWYgKHJhaW4uc3RhdHVzIDwgMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLy8gY29uc3QgdmFsdWUgPSAocmFpbi5wcm9ncmVzc0luZ2VzdCArIHJhaW4ucHJvZ3Jlc3NDb21wdXRpbmcpIC8gMjtcbiAgICBjb25zdCB2YWx1ZSA9IHJhaW4uc3RhdHVzIC8gMjsgLy8gMFxuICAgIC8vIGlmIChyYWluLnN0YXR1cyA9PT0gQ09OU1RBTlRTLl9SQUlOX1NUQVRVU18wX1JFQURZX1RPX0JVSUxEKSB7XG4gICAgLy8gICB2YWx1ZSA9IDAuMztcbiAgICAvLyB9IGVsc2UgaWYgKHJhaW4uc3RhdHVzID09PSBDT05TVEFOVFMuX1JBSU5fU1RBVFVTXzFfQlVJTERJTkcpIHtcbiAgICAvLyAgIHZhbHVlID0gMC42O1xuICAgIC8vIH0gZWxzZSBpZiAocmFpbi5zdGF0dXMgPT09IENPTlNUQU5UUy5fUkFJTl9TVEFUVVNfMV9SRUFEWV9UT19DT01QVVRFKSB7XG4gICAgLy8gICB2YWx1ZSA9IDE7XG4gICAgLy8gfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ3Byb2dyZXNzQnVmZmVyJ30pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCdWZmZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHJhaW46IFJhaW5Ob2RlKTogbnVtYmVyIHtcbiAgICBpZiAocmFpbi5xdWFsaXR5IDwgMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSByYWluLnF1YWxpdHkgLyAyO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ3RpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MnfSlcbmV4cG9ydCBjbGFzcyBUaW1lZnJhbWVDb21wdXRhdGlvblByb2dyZXNzIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmcmFtZVNldHM6IEZyYW1lU2V0W10pOiBudW1iZXIge1xuICAgIGxldCBwcm9ncmVzcyA9IDA7XG4gICAgaWYgKCFmcmFtZVNldHMgfHwgZnJhbWVTZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmcmFtZXNldCBvZiBmcmFtZVNldHMpIHtcbiAgICAgIGlmIChmcmFtZXNldC5yYWRhck1lYXN1cmVJZHMubGVuZ3RoICYmIGZyYW1lc2V0LnJhaW5Db21wdXRhdGlvbklkKSB7XG4gICAgICAgIHByb2dyZXNzKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2dyZXNzIC8gZnJhbWVTZXRzLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7bmFtZTogJ3RpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyd9KVxuZXhwb3J0IGNsYXNzIFRpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZnJhbWVTZXRzOiBGcmFtZVNldFtdKTogbnVtYmVyIHtcbiAgICBsZXQgcHJvZ3Jlc3MgPSAwO1xuICAgIGlmICghZnJhbWVTZXRzIHx8IGZyYW1lU2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZnJhbWVzZXQgb2YgZnJhbWVTZXRzKSB7XG4gICAgICBjb25zdCBxdWFsaXRpZXMgPSBmcmFtZXNldC5yYWluQ29tcHV0YXRpb25RdWFsaXRpZXMgPyBmcmFtZXNldC5yYWluQ29tcHV0YXRpb25RdWFsaXRpZXMgOiBbXTtcbiAgICAgIGNvbnN0IGF0TGVhc3RPbmVJc05vdE91dGRhdGVkID0gcXVhbGl0aWVzXG4gICAgICAgIC5maWx0ZXIocSA9PiBxLnZlcnNpb24uaW5kZXhPZignb3V0ZGF0ZWQnKSA8IDApO1xuICAgICAgaWYgKGZyYW1lc2V0LnJhZGFyTWVhc3VyZUlkcy5sZW5ndGggJiYgZnJhbWVzZXQucmFpbkNvbXB1dGF0aW9uSWQgJiYgYXRMZWFzdE9uZUlzTm90T3V0ZGF0ZWQubGVuZ3RoKSB7XG4gICAgICAgIHByb2dyZXNzKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2dyZXNzIC8gZnJhbWVTZXRzLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdoYXZlTm90QmVlblJlZCcsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEhhdmVOb3RCZWVuUmVkIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShldmVudHM6IEV2ZW50Tm9kZVtdKTogRXZlbnROb2RlW10ge1xuICAgIGNvbnN0IGhhdmVOb3RCZWVuUmVkID0gZXZlbnRzLmZpbHRlcigoZXZlbnQpID0+ICghZXZlbnQucmVkKSk7XG4gICAgcmV0dXJuIGhhdmVOb3RCZWVuUmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LocalStorage } from 'fidj';
3
+ import * as i0 from "@angular/core";
4
+ export class Storage extends LocalStorage {
5
+ constructor() {
6
+ super(window.localStorage, 'R2R_back.');
7
+ }
8
+ }
9
+ Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Storage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Storage, providedIn: 'root' });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Storage, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root'
15
+ }]
16
+ }], ctorParameters: function () { return []; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC9zaGFyZWQvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFLbEMsTUFBTSxPQUFPLE9BQVEsU0FBUSxZQUFZO0lBRXZDO1FBQ0UsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7cUdBSlUsT0FBTzt5R0FBUCxPQUFPLGNBRk4sTUFBTTs0RkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZX0gZnJvbSAnZmlkaic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2UgZXh0ZW5kcyBMb2NhbFN0b3JhZ2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHdpbmRvdy5sb2NhbFN0b3JhZ2UsICdSMlJfYmFjay4nKTtcbiAgfVxufVxuIl19