raain-model 2.6.10 → 3.0.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 (215) hide show
  1. package/CHANGELOG.md +94 -7
  2. package/README.md +14 -13
  3. package/RELEASE_PROCESS.md +91 -4
  4. package/cartesian/CartesianMeasureValue.d.ts +46 -0
  5. package/{src/cartesian/CartesianMeasureValue.ts → cartesian/CartesianMeasureValue.js} +41 -73
  6. package/cartesian/CartesianMeasureValue.js.map +1 -0
  7. package/cartesian/CartesianTools.d.ts +32 -0
  8. package/{src/cartesian/CartesianTools.ts → cartesian/CartesianTools.js} +69 -130
  9. package/cartesian/CartesianTools.js.map +1 -0
  10. package/cartesian/CartesianValue.d.ts +14 -0
  11. package/cartesian/CartesianValue.js +17 -0
  12. package/cartesian/CartesianValue.js.map +1 -0
  13. package/cartesian/EarthMap.d.ts +5 -0
  14. package/cartesian/EarthMap.js +3 -0
  15. package/cartesian/EarthMap.js.map +1 -0
  16. package/cartesian/ICartesianMeasureValue.d.ts +23 -0
  17. package/cartesian/ICartesianMeasureValue.js +3 -0
  18. package/cartesian/ICartesianMeasureValue.js.map +1 -0
  19. package/cartesian/LatLng.d.ts +16 -0
  20. package/cartesian/LatLng.js +34 -0
  21. package/cartesian/LatLng.js.map +1 -0
  22. package/cartesian/RadarCartesianMeasureValue.d.ts +27 -0
  23. package/cartesian/RadarCartesianMeasureValue.js +24 -0
  24. package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
  25. package/cartesian/RainCartesianMeasureValue.d.ts +25 -0
  26. package/cartesian/RainCartesianMeasureValue.js +25 -0
  27. package/cartesian/RainCartesianMeasureValue.js.map +1 -0
  28. package/cartesian/index.js +25 -0
  29. package/cartesian/index.js.map +1 -0
  30. package/gauge/GaugeMeasure.d.ts +30 -0
  31. package/gauge/GaugeMeasure.js +30 -0
  32. package/gauge/GaugeMeasure.js.map +1 -0
  33. package/gauge/GaugeNode.d.ts +95 -0
  34. package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +28 -54
  35. package/gauge/GaugeNode.js.map +1 -0
  36. package/gauge/GaugeNodeMap.d.ts +35 -0
  37. package/gauge/GaugeNodeMap.js +42 -0
  38. package/gauge/GaugeNodeMap.js.map +1 -0
  39. package/gauge/index.js +20 -0
  40. package/gauge/index.js.map +1 -0
  41. package/index.js +24 -0
  42. package/index.js.map +1 -0
  43. package/organization/EventNode.d.ts +30 -0
  44. package/organization/EventNode.js +30 -0
  45. package/organization/EventNode.js.map +1 -0
  46. package/organization/IVersion.js +3 -0
  47. package/organization/IVersion.js.map +1 -0
  48. package/organization/Link.d.ts +16 -0
  49. package/{src/organization/Link.ts → organization/Link.js} +15 -15
  50. package/organization/Link.js.map +1 -0
  51. package/organization/Measure.d.ts +30 -0
  52. package/organization/Measure.js +51 -0
  53. package/organization/Measure.js.map +1 -0
  54. package/organization/PeopleNode.d.ts +23 -0
  55. package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
  56. package/organization/PeopleNode.js.map +1 -0
  57. package/organization/RaainNode.d.ts +95 -0
  58. package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
  59. package/organization/RaainNode.js.map +1 -0
  60. package/organization/TeamNode.d.ts +51 -0
  61. package/organization/TeamNode.js +52 -0
  62. package/organization/TeamNode.js.map +1 -0
  63. package/organization/index.js +24 -0
  64. package/organization/index.js.map +1 -0
  65. package/package.json +4 -2
  66. package/polar/AbstractPolarMeasureValue.d.ts +31 -0
  67. package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +34 -62
  68. package/polar/AbstractPolarMeasureValue.js.map +1 -0
  69. package/polar/IPolarMeasureValue.d.ts +19 -0
  70. package/polar/IPolarMeasureValue.js +3 -0
  71. package/polar/IPolarMeasureValue.js.map +1 -0
  72. package/polar/MeasureValuePolarContainer.d.ts +24 -0
  73. package/{src/polar/MeasureValuePolarContainer.ts → polar/MeasureValuePolarContainer.js} +13 -29
  74. package/polar/MeasureValuePolarContainer.js.map +1 -0
  75. package/polar/PolarFilter.d.ts +16 -0
  76. package/polar/PolarFilter.js +45 -0
  77. package/polar/PolarFilter.js.map +1 -0
  78. package/polar/PolarMeasureValue.d.ts +51 -0
  79. package/{src/polar/PolarMeasureValue.ts → polar/PolarMeasureValue.js} +62 -125
  80. package/polar/PolarMeasureValue.js.map +1 -0
  81. package/polar/PolarMeasureValueMap.d.ts +45 -0
  82. package/{src/polar/PolarMeasureValueMap.ts → polar/PolarMeasureValueMap.js} +88 -165
  83. package/polar/PolarMeasureValueMap.js.map +1 -0
  84. package/polar/PolarValue.d.ts +10 -0
  85. package/polar/PolarValue.js +12 -0
  86. package/polar/PolarValue.js.map +1 -0
  87. package/polar/RadarPolarMeasureValue.d.ts +33 -0
  88. package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +31 -39
  89. package/polar/RadarPolarMeasureValue.js.map +1 -0
  90. package/polar/RainPolarMeasureValue.d.ts +24 -0
  91. package/polar/RainPolarMeasureValue.js +46 -0
  92. package/polar/RainPolarMeasureValue.js.map +1 -0
  93. package/polar/index.js +25 -0
  94. package/polar/index.js.map +1 -0
  95. package/quality/QualityPoint.d.ts +37 -0
  96. package/{src/quality/QualityPoint.ts → quality/QualityPoint.js} +33 -56
  97. package/quality/QualityPoint.js.map +1 -0
  98. package/quality/SpeedMatrix.d.ts +83 -0
  99. package/{src/quality/SpeedMatrix.ts → quality/SpeedMatrix.js} +76 -117
  100. package/quality/SpeedMatrix.js.map +1 -0
  101. package/quality/SpeedMatrixContainer.d.ts +102 -0
  102. package/{src/quality/SpeedMatrixContainer.ts → quality/SpeedMatrixContainer.js} +103 -210
  103. package/quality/SpeedMatrixContainer.js.map +1 -0
  104. package/quality/history/CartesianGaugeHistory.d.ts +15 -0
  105. package/quality/history/CartesianGaugeHistory.js +14 -0
  106. package/quality/history/CartesianGaugeHistory.js.map +1 -0
  107. package/quality/history/CartesianRainHistory.d.ts +9 -0
  108. package/quality/history/CartesianRainHistory.js +11 -0
  109. package/quality/history/CartesianRainHistory.js.map +1 -0
  110. package/quality/history/PositionHistory.d.ts +20 -0
  111. package/quality/history/PositionHistory.js +17 -0
  112. package/quality/history/PositionHistory.js.map +1 -0
  113. package/{src/quality/index.ts → quality/index.d.ts} +0 -3
  114. package/quality/index.js +26 -0
  115. package/quality/index.js.map +1 -0
  116. package/quality/position/Position.d.ts +22 -0
  117. package/quality/position/Position.js +50 -0
  118. package/quality/position/Position.js.map +1 -0
  119. package/quality/position/PositionValue.d.ts +9 -0
  120. package/quality/position/PositionValue.js +12 -0
  121. package/quality/position/PositionValue.js.map +1 -0
  122. package/quality/tools/QualityTools.d.ts +9 -0
  123. package/{src/quality/tools/QualityTools.ts → quality/tools/QualityTools.js} +17 -18
  124. package/quality/tools/QualityTools.js.map +1 -0
  125. package/radar/RadarMeasure.d.ts +38 -0
  126. package/radar/RadarMeasure.js +33 -0
  127. package/radar/RadarMeasure.js.map +1 -0
  128. package/radar/RadarNode.d.ts +41 -0
  129. package/radar/RadarNode.js +58 -0
  130. package/radar/RadarNode.js.map +1 -0
  131. package/radar/RadarNodeMap.d.ts +51 -0
  132. package/radar/RadarNodeMap.js +50 -0
  133. package/radar/RadarNodeMap.js.map +1 -0
  134. package/radar/index.js +20 -0
  135. package/radar/index.js.map +1 -0
  136. package/rain/MergeStrategy.d.ts +13 -0
  137. package/rain/MergeStrategy.js +11 -0
  138. package/rain/MergeStrategy.js.map +1 -0
  139. package/rain/RainComputation.d.ts +59 -0
  140. package/rain/RainComputation.js +68 -0
  141. package/rain/RainComputation.js.map +1 -0
  142. package/rain/RainComputationAbstract.d.ts +89 -0
  143. package/rain/RainComputationAbstract.js +207 -0
  144. package/rain/RainComputationAbstract.js.map +1 -0
  145. package/rain/RainComputationMap.d.ts +113 -0
  146. package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +26 -60
  147. package/rain/RainComputationMap.js.map +1 -0
  148. package/rain/RainComputationQuality.d.ts +58 -0
  149. package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +52 -89
  150. package/rain/RainComputationQuality.js.map +1 -0
  151. package/rain/RainMeasure.d.ts +17 -0
  152. package/rain/RainMeasure.js +18 -0
  153. package/rain/RainMeasure.js.map +1 -0
  154. package/rain/RainNode.d.ts +60 -0
  155. package/rain/RainNode.js +198 -0
  156. package/rain/RainNode.js.map +1 -0
  157. package/{src/rain/index.ts → rain/index.d.ts} +1 -0
  158. package/rain/index.js +24 -0
  159. package/rain/index.js.map +1 -0
  160. package/.cursorignore +0 -10
  161. package/.github/workflows/ci.yml +0 -29
  162. package/LICENSE +0 -21
  163. package/RELEASE.md +0 -19
  164. package/specs/REQUIREMENTS.md +0 -42
  165. package/specs/TECHNICAL.md +0 -57
  166. package/specs/cartesian/Cartesian.spec.ts +0 -82
  167. package/specs/cartesian/CartesianTools.spec.ts +0 -121
  168. package/specs/gauge/Gauge.spec.ts +0 -39
  169. package/specs/organization/Organization.spec.ts +0 -38
  170. package/specs/polar/Polar.spec.ts +0 -267
  171. package/specs/quality/Position.spec.ts +0 -18
  172. package/specs/quality/QualityPointEdgeCases.spec.ts +0 -215
  173. package/specs/quality/QualityTools.spec.ts +0 -67
  174. package/specs/quality/SpeedMatrix.spec.ts +0 -214
  175. package/specs/radar/Radar.spec.ts +0 -129
  176. package/specs/rain/Rain.spec.ts +0 -334
  177. package/specs/tsconfig.json +0 -12
  178. package/src/cartesian/CartesianValue.ts +0 -26
  179. package/src/cartesian/EarthMap.ts +0 -5
  180. package/src/cartesian/ICartesianMeasureValue.ts +0 -22
  181. package/src/cartesian/LatLng.ts +0 -43
  182. package/src/cartesian/RadarCartesianMeasureValue.ts +0 -32
  183. package/src/cartesian/RainCartesianMeasureValue.ts +0 -32
  184. package/src/gauge/GaugeMeasure.ts +0 -42
  185. package/src/gauge/GaugeNodeMap.ts +0 -55
  186. package/src/organization/EventNode.ts +0 -43
  187. package/src/organization/Measure.ts +0 -61
  188. package/src/organization/TeamNode.ts +0 -91
  189. package/src/polar/IPolarMeasureValue.ts +0 -21
  190. package/src/polar/PolarFilter.ts +0 -46
  191. package/src/polar/PolarValue.ts +0 -16
  192. package/src/polar/RainPolarMeasureValue.ts +0 -57
  193. package/src/quality/history/CartesianGaugeHistory.ts +0 -23
  194. package/src/quality/history/CartesianRainHistory.ts +0 -15
  195. package/src/quality/history/PositionHistory.ts +0 -31
  196. package/src/quality/position/Position.ts +0 -59
  197. package/src/quality/position/PositionValue.ts +0 -15
  198. package/src/radar/RadarMeasure.ts +0 -41
  199. package/src/radar/RadarNode.ts +0 -78
  200. package/src/radar/RadarNodeMap.ts +0 -61
  201. package/src/rain/MergeStrategy.ts +0 -15
  202. package/src/rain/RainComputation.ts +0 -96
  203. package/src/rain/RainComputationAbstract.ts +0 -262
  204. package/src/rain/RainMeasure.ts +0 -25
  205. package/src/rain/RainNode.ts +0 -235
  206. package/tsconfig.json +0 -17
  207. package/tslint.json +0 -79
  208. package/typedoc.json +0 -31
  209. /package/{src/cartesian/index.ts → cartesian/index.d.ts} +0 -0
  210. /package/{src/gauge/index.ts → gauge/index.d.ts} +0 -0
  211. /package/{src/index.ts → index.d.ts} +0 -0
  212. /package/{src/organization/IVersion.ts → organization/IVersion.d.ts} +0 -0
  213. /package/{src/organization/index.ts → organization/index.d.ts} +0 -0
  214. /package/{src/polar/index.ts → polar/index.d.ts} +0 -0
  215. /package/{src/radar/index.ts → radar/index.d.ts} +0 -0
@@ -1,13 +1,12 @@
1
- import {RainComputationAbstract} from './RainComputationAbstract';
2
- import {Link, RaainNode} from '../organization';
3
- import {RainMeasure} from './RainMeasure';
4
- import {CartesianTools, LatLng} from '../cartesian';
5
- import {MergeStrategy} from './MergeStrategy';
6
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputationMap = void 0;
4
+ const RainComputationAbstract_1 = require("./RainComputationAbstract");
5
+ const MergeStrategy_1 = require("./MergeStrategy");
7
6
  /**
8
7
  * Represents a map-based rain computation result.
9
8
  * This class extends RainComputationAbstract to provide map-specific functionality for rain data processing.
10
- *
9
+ *
11
10
  * @example
12
11
  * ```typescript
13
12
  * const computation = new RainComputationMap({
@@ -17,23 +16,16 @@ import {MergeStrategy} from './MergeStrategy';
17
16
  * map: [] // Your rain measurement data here
18
17
  * });
19
18
  * ```
20
- *
19
+ *
21
20
  * @remarks
22
21
  * This class is used in the following API endpoints:
23
22
  * - api/rains/:id/computations/:computationId?format=map
24
23
  * - api/rains/:id/computations?format=map&begin=...
25
24
  */
26
- export class RainComputationMap extends RainComputationAbstract {
27
-
28
- /**
29
- * The map data stored as a stringified JSON array of RainMeasure objects.
30
- * This format allows for efficient storage and transmission of large datasets.
31
- */
32
- protected map: string;
33
-
25
+ class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstract {
34
26
  /**
35
27
  * Creates a new RainComputationMap instance.
36
- *
28
+ *
37
29
  * @param json - The configuration object containing all necessary parameters
38
30
  * @param json.id - Unique identifier for the computation
39
31
  * @param json.date - Timestamp of the computation
@@ -50,90 +42,64 @@ export class RainComputationMap extends RainComputationAbstract {
50
42
  * @param json.rain - Optional related rain node
51
43
  * @param json.radars - Optional array of related radar nodes
52
44
  */
53
- constructor(json: {
54
- id: string,
55
- date: Date,
56
- isReady: boolean,
57
- map: RainMeasure[] | string,
58
- links?: Link[] | RaainNode[],
59
- version?: string,
60
- quality?: number,
61
- progressIngest?: number,
62
- progressComputing?: number,
63
- timeSpentInMs?: number,
64
- isDoneDate?: Date,
65
- launchedBy?: string,
66
- rain?: Link | RaainNode,
67
- radars?: Link[] | RaainNode[],
68
- }) {
45
+ constructor(json) {
69
46
  super(json);
70
- this.setMapData(json.map, {mergeStrategy: MergeStrategy.NONE});
47
+ this.setMapData(json.map, { mergeStrategy: MergeStrategy_1.MergeStrategy.NONE });
71
48
  }
72
-
73
49
  /**
74
50
  * Converts the computation to a JSON object.
75
- *
51
+ *
76
52
  * @returns A JSON object containing all relevant data
77
53
  * @remarks
78
54
  * This method overrides the parent class's toJSON method to handle the map property
79
55
  * and remove the results property which is not used in this implementation.
80
56
  */
81
- public toJSON(): any {
57
+ toJSON() {
82
58
  const json = super.toJSON();
83
- if (this.map) {
84
- json['map'] = this.map;
85
- delete json['results'];
86
- }
87
- return json;
59
+ return {
60
+ ...json,
61
+ map: this.map
62
+ };
88
63
  }
89
-
90
64
  /**
91
65
  * Sets the map data with optional merging capabilities.
92
- *
66
+ *
93
67
  * @param mapData - The rain measurement data to set
94
68
  * @param options - Configuration options for data processing
95
69
  * @param options.mergeStrategy - Strategy to use when merging data
96
70
  * @param options.cartesianTools - Optional tools for coordinate transformations
97
71
  * @param options.mergeLimitPoints - Optional boundary points for merging
98
72
  * @param options.removeNullValues - Whether to remove null values during merge
99
- *
73
+ *
100
74
  * @remarks
101
75
  * This method handles both string and array inputs, and can perform merging
102
76
  * operations based on the provided options. The data is always stored internally
103
77
  * as a stringified JSON array.
104
78
  */
105
- public setMapData(mapData: RainMeasure[] | string, options: {
106
- mergeStrategy: MergeStrategy,
107
- cartesianTools?: CartesianTools,
108
- mergeLimitPoints?: [LatLng, LatLng],
109
- removeNullValues?: boolean,
110
- }) {
79
+ setMapData(mapData, options) {
111
80
  if (!mapData) {
112
81
  return;
113
82
  }
114
-
115
- if (typeof (mapData) !== 'string' && options.mergeStrategy !== MergeStrategy.NONE
116
- && options?.cartesianTools && options?.mergeLimitPoints) {
117
-
83
+ if (typeof (mapData) !== 'string' && options.mergeStrategy !== MergeStrategy_1.MergeStrategy.NONE
84
+ && (options === null || options === void 0 ? void 0 : options.cartesianTools) && (options === null || options === void 0 ? void 0 : options.mergeLimitPoints)) {
118
85
  this.buildLatLngMatrix({
119
86
  cartesianTools: options.cartesianTools,
120
87
  mergeLimitPoints: options.mergeLimitPoints
121
88
  });
122
-
123
- mapData = this.mergeRainMeasures(mapData as RainMeasure[], {
89
+ mapData = this.mergeRainMeasures(mapData, {
124
90
  mergeLimitPoints: options.mergeLimitPoints,
125
91
  removeNullValues: !!options.removeNullValues,
126
92
  mergeStrategy: options.mergeStrategy,
127
93
  });
128
94
  }
129
-
130
95
  this.map = typeof mapData === 'string' ? mapData : JSON.stringify(mapData);
131
96
  }
132
-
133
- public getMapData(): RainMeasure[] {
97
+ getMapData() {
134
98
  if (!this.map) {
135
99
  return [];
136
100
  }
137
101
  return JSON.parse(this.map);
138
102
  }
139
103
  }
104
+ exports.RainComputationMap = RainComputationMap;
105
+ //# sourceMappingURL=RainComputationMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputationMap.js","sourceRoot":"","sources":["../../src/rain/RainComputationMap.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAIlE,mDAA8C;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,kBAAmB,SAAQ,iDAAuB;IAQ3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,IAeX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,aAAa,EAAE,6BAAa,CAAC,IAAI,EAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;OAOG;IACI,MAAM;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO;YACH,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;SAChB,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,UAAU,CAAC,OAA+B,EAAE,OAKlD;QACG,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,6BAAa,CAAC,IAAI;gBAC1E,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAA,EAAE,CAAC;YAE1D,IAAI,CAAC,iBAAiB,CAAC;gBACnB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC7C,CAAC,CAAC;YAEH,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAwB,EAAE;gBACvD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;aACvC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ;AAhHD,gDAgHC"}
@@ -0,0 +1,58 @@
1
+ import { RainComputationAbstract } from './RainComputationAbstract';
2
+ import { Link, RaainNode } from '../organization';
3
+ import { SpeedMatrixContainer } from '../quality';
4
+ /**
5
+ * api/rains/:id/computations?format=compare&begin=...&gauges=[...]
6
+ */
7
+ export declare class RainComputationQuality extends RainComputationAbstract {
8
+ qualitySpeedMatrixContainer: SpeedMatrixContainer;
9
+ error: string;
10
+ constructor(json: {
11
+ id: string;
12
+ date: Date;
13
+ isReady: boolean;
14
+ qualitySpeedMatrixContainer: SpeedMatrixContainer;
15
+ links?: Link[] | RaainNode[];
16
+ version?: string;
17
+ quality?: number;
18
+ progressIngest?: number;
19
+ progressComputing?: number;
20
+ timeSpentInMs?: number;
21
+ isDoneDate?: Date;
22
+ launchedBy?: string;
23
+ rain?: Link | RaainNode;
24
+ radars?: Link[] | RaainNode[];
25
+ rainComputation?: Link | RaainNode;
26
+ error?: string;
27
+ });
28
+ private static _getRainComputationLinks;
29
+ addRainComputationLink(linkToAdd: Link | RaainNode): void;
30
+ merge(rainComputationQuality: RainComputationQuality): void;
31
+ toJSON(arg?: any): {
32
+ qualitySpeedMatrixContainer: any;
33
+ rainComputation: string;
34
+ error: string;
35
+ id: string;
36
+ links: Link[];
37
+ version?: string;
38
+ isReady: boolean;
39
+ name: string;
40
+ date: Date;
41
+ quality: number;
42
+ progressIngest: number;
43
+ progressComputing: number;
44
+ timeSpentInMs: number;
45
+ isDoneDate: Date;
46
+ launchedBy: string;
47
+ rain: string;
48
+ radars: string[];
49
+ };
50
+ protected mergeStillComputed(v1: any, v2: any): any;
51
+ protected mergeDateMin(d1: Date, d2: Date): Date;
52
+ protected mergeDateMax(d1: Date, d2: Date): Date;
53
+ protected mergeAvg(v1: number, v2: number): number;
54
+ protected mergeMin(v1: number, v2: number): number;
55
+ protected mergeMax(v1: number, v2: number): number;
56
+ protected mergeSum(v1: number, v2: number): number;
57
+ protected mergeConcat(a1: Array<any>, a2: Array<any>): Array<any>;
58
+ }
@@ -1,107 +1,76 @@
1
- import {RainComputationAbstract} from './RainComputationAbstract';
2
- import {Link, RaainNode} from '../organization';
3
- import {SpeedMatrixContainer} from '../quality';
4
- import {RainComputation} from './RainComputation';
5
-
6
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputationQuality = void 0;
4
+ const RainComputationAbstract_1 = require("./RainComputationAbstract");
5
+ const organization_1 = require("../organization");
6
+ const RainComputation_1 = require("./RainComputation");
7
7
  /**
8
8
  * api/rains/:id/computations?format=compare&begin=...&gauges=[...]
9
9
  */
10
- export class RainComputationQuality extends RainComputationAbstract {
11
-
12
- public qualitySpeedMatrixContainer: SpeedMatrixContainer;
13
- public error: string;
14
-
15
- constructor(json: {
16
- id: string,
17
- date: Date,
18
- isReady: boolean,
19
- qualitySpeedMatrixContainer: SpeedMatrixContainer,
20
-
21
- links?: Link[] | RaainNode[],
22
- version?: string,
23
- quality?: number,
24
- progressIngest?: number,
25
- progressComputing?: number,
26
- timeSpentInMs?: number,
27
- isDoneDate?: Date,
28
- launchedBy?: string,
29
- rain?: Link | RaainNode,
30
- radars?: Link[] | RaainNode[],
31
- rainComputation?: Link | RaainNode,
32
- error?: string,
33
- }) {
10
+ class RainComputationQuality extends RainComputationAbstract_1.RainComputationAbstract {
11
+ constructor(json) {
34
12
  super(json);
35
13
  this.qualitySpeedMatrixContainer = json.qualitySpeedMatrixContainer;
36
14
  this.addRainComputationLink(json.rainComputation);
37
15
  this.error = json.error;
38
16
  }
39
-
40
- private static _getRainComputationLinks(linkToPurify: any): any[] {
17
+ static _getRainComputationLinks(linkToPurify) {
41
18
  if (!linkToPurify) {
42
19
  return [];
43
20
  }
44
-
45
- if (linkToPurify instanceof Link) {
21
+ if (linkToPurify instanceof organization_1.Link) {
46
22
  return [linkToPurify];
47
- } else if (linkToPurify['_id']) {
48
- return [new RainComputation({
49
- id: linkToPurify['_id'].toString(),
50
- date: linkToPurify.date,
51
- version: linkToPurify.version,
52
- isReady: true, results: [], // useless
53
- })];
54
- } else if (linkToPurify.id) {
55
- return [new RainComputation({
56
- id: linkToPurify.id.toString(),
57
- date: linkToPurify.date,
58
- version: linkToPurify.version,
59
- isReady: true, results: [], // useless
60
- })];
23
+ }
24
+ else if (linkToPurify['_id']) {
25
+ return [new RainComputation_1.RainComputation({
26
+ id: linkToPurify['_id'].toString(),
27
+ date: linkToPurify.date,
28
+ version: linkToPurify.version,
29
+ isReady: true, results: [], // useless
30
+ })];
31
+ }
32
+ else if (linkToPurify.id) {
33
+ return [new RainComputation_1.RainComputation({
34
+ id: linkToPurify.id.toString(),
35
+ date: linkToPurify.date,
36
+ version: linkToPurify.version,
37
+ isReady: true, results: [], // useless
38
+ })];
61
39
  }
62
40
  return [];
63
41
  }
64
-
65
- public addRainComputationLink(linkToAdd: Link | RaainNode): void {
42
+ addRainComputationLink(linkToAdd) {
66
43
  this.addLinks(RainComputationQuality._getRainComputationLinks(linkToAdd));
67
44
  }
68
-
69
- merge(rainComputationQuality: RainComputationQuality) {
70
-
45
+ merge(rainComputationQuality) {
71
46
  this.date = this.mergeDateMin(this.date, rainComputationQuality.date);
72
47
  this.quality = this.mergeAvg(this.quality, rainComputationQuality.quality);
73
48
  this.progressIngest = this.mergeMin(this.progressIngest, rainComputationQuality.progressIngest);
74
49
  this.progressComputing = this.mergeMin(this.progressComputing, rainComputationQuality.progressComputing);
75
50
  this.timeSpentInMs = this.mergeSum(this.timeSpentInMs, rainComputationQuality.timeSpentInMs);
76
-
77
51
  if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.merge) {
78
52
  this.qualitySpeedMatrixContainer = this.qualitySpeedMatrixContainer.merge(rainComputationQuality.qualitySpeedMatrixContainer);
79
53
  }
80
-
81
54
  }
82
-
83
- public toJSON(arg?: any): any {
55
+ toJSON(arg) {
56
+ var _a, _b;
84
57
  const json = super.toJSON();
85
-
86
- if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.toJSON) {
87
- json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer.toJSON(arg);
88
- } else if (this.qualitySpeedMatrixContainer) {
89
- json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer;
90
- }
91
-
92
- const rainComputationLink = this.getLink(RainComputation.TYPE);
58
+ const extendedJson = {
59
+ ...json,
60
+ qualitySpeedMatrixContainer: this.qualitySpeedMatrixContainer,
61
+ rainComputation: '',
62
+ error: (_a = this.error) !== null && _a !== void 0 ? _a : ''
63
+ };
64
+ if ((_b = this.qualitySpeedMatrixContainer) === null || _b === void 0 ? void 0 : _b.toJSON) {
65
+ extendedJson.qualitySpeedMatrixContainer = this.qualitySpeedMatrixContainer.toJSON(arg);
66
+ }
67
+ const rainComputationLink = this.getLink(RainComputation_1.RainComputation.TYPE);
93
68
  if (rainComputationLink) {
94
- json['rainComputation'] = rainComputationLink.getId();
95
- }
96
-
97
- if (this.error) {
98
- json['error'] = this.error;
69
+ extendedJson.rainComputation = rainComputationLink.getId();
99
70
  }
100
-
101
- return json;
71
+ return extendedJson;
102
72
  }
103
-
104
- protected mergeStillComputed(v1: any, v2: any): any {
73
+ mergeStillComputed(v1, v2) {
105
74
  if (!v1 && !v2) {
106
75
  return undefined;
107
76
  }
@@ -113,8 +82,7 @@ export class RainComputationQuality extends RainComputationAbstract {
113
82
  }
114
83
  return null;
115
84
  }
116
-
117
- protected mergeDateMin(d1: Date, d2: Date): Date {
85
+ mergeDateMin(d1, d2) {
118
86
  const stillComputed = this.mergeStillComputed(d1, d2);
119
87
  if (stillComputed === null) {
120
88
  return new Date(Math.min(new Date(d1).getTime(), new Date(d2).getTime()));
@@ -124,8 +92,7 @@ export class RainComputationQuality extends RainComputationAbstract {
124
92
  }
125
93
  return stillComputed;
126
94
  }
127
-
128
- protected mergeDateMax(d1: Date, d2: Date): Date {
95
+ mergeDateMax(d1, d2) {
129
96
  const stillComputed = this.mergeStillComputed(d1, d2);
130
97
  if (stillComputed === null) {
131
98
  return new Date(Math.max(new Date(d1).getTime(), new Date(d2).getTime()));
@@ -135,45 +102,41 @@ export class RainComputationQuality extends RainComputationAbstract {
135
102
  }
136
103
  return stillComputed;
137
104
  }
138
-
139
- protected mergeAvg(v1: number, v2: number): number {
105
+ mergeAvg(v1, v2) {
140
106
  const stillComputed = this.mergeStillComputed(v1, v2);
141
107
  if (stillComputed === null) {
142
108
  return (v1 + v2) / 2;
143
109
  }
144
110
  return stillComputed;
145
111
  }
146
-
147
- protected mergeMin(v1: number, v2: number): number {
112
+ mergeMin(v1, v2) {
148
113
  const stillComputed = this.mergeStillComputed(v1, v2);
149
114
  if (stillComputed === null) {
150
115
  return Math.min(v1, v2);
151
116
  }
152
117
  return stillComputed;
153
118
  }
154
-
155
- protected mergeMax(v1: number, v2: number): number {
119
+ mergeMax(v1, v2) {
156
120
  const stillComputed = this.mergeStillComputed(v1, v2);
157
121
  if (stillComputed === null) {
158
122
  return Math.max(v1, v2);
159
123
  }
160
124
  return stillComputed;
161
125
  }
162
-
163
- protected mergeSum(v1: number, v2: number): number {
126
+ mergeSum(v1, v2) {
164
127
  const stillComputed = this.mergeStillComputed(v1, v2);
165
128
  if (stillComputed === null) {
166
129
  return v1 + v2;
167
130
  }
168
131
  return stillComputed;
169
132
  }
170
-
171
- protected mergeConcat(a1: Array<any>, a2: Array<any>): Array<any> {
133
+ mergeConcat(a1, a2) {
172
134
  const stillComputed = this.mergeStillComputed(a1, a2);
173
135
  if (stillComputed === null) {
174
136
  return a1.concat(a2);
175
137
  }
176
138
  return stillComputed;
177
139
  }
178
-
179
140
  }
141
+ exports.RainComputationQuality = RainComputationQuality;
142
+ //# sourceMappingURL=RainComputationQuality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputationQuality.js","sourceRoot":"","sources":["../../src/rain/RainComputationQuality.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAClE,kDAAgD;AAEhD,uDAAkD;AAGlD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,iDAAuB;IAK/D,YAAY,IAkBX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC;QACpE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,YAAiB;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,YAAY,YAAY,mBAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,iCAAe,CAAC;oBACxB,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;oBAClC,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU;iBACzC,CAAC,CAAC,CAAC;QACR,CAAC;aAAM,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,iCAAe,CAAC;oBACxB,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;oBAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU;iBACzC,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,sBAAsB,CAAC,SAA2B;QACrD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,sBAA8C;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAChG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACzG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAE7F,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;YAC7E,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;QAClI,CAAC;IAEL,CAAC;IAEM,MAAM,CAAC,GAAS;;QACnB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG;YACjB,GAAG,IAAI;YACP,2BAA2B,EAAE,IAAI,CAAC,2BAAkC;YACpE,eAAe,EAAE,EAAE;YACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE;SAC1B,CAAA;QAED,IAAI,MAAA,IAAI,CAAC,2BAA2B,0CAAE,MAAM,EAAE,CAAC;YAC3C,YAAY,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,mBAAmB,EAAE,CAAC;YACtB,YAAY,CAAC,eAAe,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAES,kBAAkB,CAAC,EAAO,EAAE,EAAO;QACzC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,YAAY,CAAC,EAAQ,EAAE,EAAQ;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,YAAY,CAAC,EAAQ,EAAE,EAAQ;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,QAAQ,CAAC,EAAU,EAAE,EAAU;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,QAAQ,CAAC,EAAU,EAAE,EAAU;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,QAAQ,CAAC,EAAU,EAAE,EAAU;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,QAAQ,CAAC,EAAU,EAAE,EAAU;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,WAAW,CAAC,EAAc,EAAE,EAAc;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CAEJ;AAzKD,wDAyKC"}
@@ -0,0 +1,17 @@
1
+ import { Measure } from '../organization';
2
+ import { IPolarMeasureValue } from '../polar';
3
+ import { ICartesianMeasureValue } from '../cartesian';
4
+ /**
5
+ * api/rains/:id/computations/:id?format=map => RainComputationMap getMapData() => RainMeasure[]
6
+ */
7
+ export declare class RainMeasure extends Measure {
8
+ static TYPE: string;
9
+ constructor(json: {
10
+ id: string;
11
+ values: IPolarMeasureValue[] | ICartesianMeasureValue[] | number[];
12
+ date?: Date;
13
+ validity?: number;
14
+ configurationAsJSON?: string;
15
+ });
16
+ protected getLinkType(): string;
17
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainMeasure = void 0;
4
+ const organization_1 = require("../organization");
5
+ /**
6
+ * api/rains/:id/computations/:id?format=map => RainComputationMap getMapData() => RainMeasure[]
7
+ */
8
+ class RainMeasure extends organization_1.Measure {
9
+ constructor(json) {
10
+ super(json);
11
+ }
12
+ getLinkType() {
13
+ return RainMeasure.TYPE;
14
+ }
15
+ }
16
+ exports.RainMeasure = RainMeasure;
17
+ RainMeasure.TYPE = 'rain-measure';
18
+ //# sourceMappingURL=RainMeasure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainMeasure.js","sourceRoot":"","sources":["../../src/rain/RainMeasure.ts"],"names":[],"mappings":";;;AAAA,kDAAwC;AAIxC;;GAEG;AACH,MAAa,WAAY,SAAQ,sBAAO;IAIpC,YAAY,IAMX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,WAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;;AAhBL,kCAiBC;AAfiB,gBAAI,GAAG,cAAc,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { Link, RaainNode, TeamNode } from '../organization';
2
+ import { RadarNode } from '../radar';
3
+ import { RainComputation } from './RainComputation';
4
+ import { GaugeNode } from '../gauge';
5
+ import { LatLng } from '../cartesian';
6
+ /**
7
+ * api/rains/:id
8
+ */
9
+ export declare class RainNode extends RaainNode {
10
+ static TYPE: string;
11
+ name: string;
12
+ description: string;
13
+ team: TeamNode;
14
+ status: number;
15
+ quality: number;
16
+ latLngRectsAsJSON: string;
17
+ private configurationAsJSON;
18
+ constructor(json: {
19
+ id: string;
20
+ name: string;
21
+ team: string | TeamNode;
22
+ description?: string;
23
+ links?: Link[] | RaainNode[];
24
+ version?: string;
25
+ status?: number;
26
+ quality?: number;
27
+ radars?: string[] | RadarNode[];
28
+ gauges?: string[] | GaugeNode[];
29
+ latLngRectsAsJSON?: string;
30
+ configurationAsJSON?: any;
31
+ lastCompletedComputations?: string[] | RainComputation[];
32
+ });
33
+ private static _getRainComputationLinks;
34
+ private static _getGaugeLinks;
35
+ setConfiguration(configuration: string | any): void;
36
+ getConfiguration(): any;
37
+ toJSON(): {
38
+ name: string;
39
+ description: string;
40
+ status: number;
41
+ quality: number;
42
+ team: string | TeamNode;
43
+ latLngRectsAsJSON: string;
44
+ configurationAsJSON: string;
45
+ radars: string[];
46
+ gauges: string[];
47
+ lastCompletedComputations: string[];
48
+ id: string;
49
+ links: Link[];
50
+ version?: string;
51
+ };
52
+ addRadars(linksToAdd: string[] | Link[] | RadarNode[]): void;
53
+ addCompletedComputations(linksToAdd: string[] | Link[] | RainComputation[]): void;
54
+ addGauges(linksToAdd: string[] | Link[] | GaugeNode[]): void;
55
+ getCenter(): LatLng;
56
+ getLimitPoints(): [LatLng, LatLng];
57
+ protected getLinkType(): string;
58
+ private _getRadarLinks;
59
+ private setDefaultLatLng;
60
+ }