raain-model 1.10.28 → 1.11.4

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 (175) hide show
  1. package/.travis.deploy.sh +41 -0
  2. package/.travis.yml +22 -0
  3. package/RELEASE.md +1 -0
  4. package/package.json +1 -1
  5. package/specs/cartesian/Cartesian.spec.ts +56 -0
  6. package/specs/gauge/Gauge.spec.ts +19 -0
  7. package/specs/organization/Organization.spec.ts +32 -0
  8. package/specs/polar/Polar.spec.ts +25 -0
  9. package/specs/quality/Position.spec.ts +18 -0
  10. package/specs/quality/QualityTools.spec.ts +120 -0
  11. package/specs/quality/SpeedMatrix.spec.ts +125 -0
  12. package/specs/radar/Radar.spec.ts +18 -0
  13. package/specs/rain/Rain.spec.ts +71 -0
  14. package/specs/tsconfig.json +12 -0
  15. package/{cartesian/CartesianMeasureValue.js → src/cartesian/CartesianMeasureValue.ts} +64 -34
  16. package/src/cartesian/CartesianValue.ts +17 -0
  17. package/src/cartesian/ICartesianMeasureValue.ts +27 -0
  18. package/src/cartesian/LatLng.ts +39 -0
  19. package/src/cartesian/RadarCartesianMeasureValue.ts +29 -0
  20. package/src/cartesian/RainCartesianMeasureValue.ts +33 -0
  21. package/src/gauge/GaugeMeasure.ts +36 -0
  22. package/src/gauge/GaugeNode.ts +46 -0
  23. package/src/gauge/GaugeNodeMap.ts +55 -0
  24. package/{index.d.ts → src/index.ts} +6 -0
  25. package/src/organization/EventNode.ts +44 -0
  26. package/{organization/Link.js → src/organization/Link.ts} +13 -13
  27. package/src/organization/Measure.ts +49 -0
  28. package/src/organization/PeopleNode.ts +36 -0
  29. package/{organization/RaainNode.js → src/organization/RaainNode.ts} +53 -29
  30. package/src/organization/TeamNode.ts +46 -0
  31. package/{polar/AbstractPolarMeasureValue.js → src/polar/AbstractPolarMeasureValue.ts} +53 -29
  32. package/src/polar/GaugePolarMeasureValue.ts +15 -0
  33. package/src/polar/IPolarMeasureValue.ts +21 -0
  34. package/src/polar/MeasureValuePolarContainer.ts +28 -0
  35. package/{polar/PolarMeasureValue.js → src/polar/PolarMeasureValue.ts} +46 -27
  36. package/src/polar/PolarValue.ts +16 -0
  37. package/src/polar/RadarPolarMeasureValue.ts +43 -0
  38. package/src/polar/RainPolarMeasureValue.ts +57 -0
  39. package/{quality/QualityPoint.js → src/quality/QualityPoint.ts} +48 -23
  40. package/{quality/SpeedMatrix.js → src/quality/SpeedMatrix.ts} +117 -75
  41. package/{quality/SpeedMatrixContainer.js → src/quality/SpeedMatrixContainer.ts} +178 -91
  42. package/src/quality/history/CartesianGaugeHistory.ts +23 -0
  43. package/src/quality/history/CartesianRainHistory.ts +18 -0
  44. package/src/quality/history/PositionHistory.ts +31 -0
  45. package/src/quality/position/Position.ts +60 -0
  46. package/src/quality/position/PositionValue.ts +15 -0
  47. package/{quality/tools/QualityTools.js → src/quality/tools/QualityTools.ts} +82 -49
  48. package/src/radar/RadarMeasure.ts +27 -0
  49. package/src/radar/RadarNode.ts +46 -0
  50. package/src/radar/RadarNodeMap.ts +65 -0
  51. package/src/rain/RainComputation.ts +82 -0
  52. package/src/rain/RainComputationAbstract.ts +137 -0
  53. package/src/rain/RainComputationMap.ts +68 -0
  54. package/{rain/RainComputationQuality.js → src/rain/RainComputationQuality.ts} +56 -20
  55. package/src/rain/RainMeasure.ts +27 -0
  56. package/{rain/RainNode.js → src/rain/RainNode.ts} +76 -48
  57. package/tsconfig.json +17 -0
  58. package/tslint.json +79 -0
  59. package/cartesian/CartesianMeasureValue.d.ts +0 -41
  60. package/cartesian/CartesianMeasureValue.js.map +0 -1
  61. package/cartesian/CartesianValue.d.ts +0 -9
  62. package/cartesian/CartesianValue.js +0 -12
  63. package/cartesian/CartesianValue.js.map +0 -1
  64. package/cartesian/ICartesianMeasureValue.d.ts +0 -29
  65. package/cartesian/ICartesianMeasureValue.js +0 -3
  66. package/cartesian/ICartesianMeasureValue.js.map +0 -1
  67. package/cartesian/LatLng.d.ts +0 -12
  68. package/cartesian/LatLng.js +0 -31
  69. package/cartesian/LatLng.js.map +0 -1
  70. package/cartesian/RadarCartesianMeasureValue.d.ts +0 -15
  71. package/cartesian/RadarCartesianMeasureValue.js +0 -22
  72. package/cartesian/RadarCartesianMeasureValue.js.map +0 -1
  73. package/cartesian/RainCartesianMeasureValue.d.ts +0 -17
  74. package/cartesian/RainCartesianMeasureValue.js +0 -25
  75. package/cartesian/RainCartesianMeasureValue.js.map +0 -1
  76. package/gauge/GaugeMeasure.d.ts +0 -20
  77. package/gauge/GaugeMeasure.js +0 -24
  78. package/gauge/GaugeMeasure.js.map +0 -1
  79. package/gauge/GaugeNode.d.ts +0 -24
  80. package/gauge/GaugeNode.js +0 -31
  81. package/gauge/GaugeNode.js.map +0 -1
  82. package/gauge/GaugeNodeMap.d.ts +0 -22
  83. package/gauge/GaugeNodeMap.js +0 -42
  84. package/gauge/GaugeNodeMap.js.map +0 -1
  85. package/index.js +0 -56
  86. package/index.js.map +0 -1
  87. package/organization/EventNode.d.ts +0 -22
  88. package/organization/EventNode.js +0 -30
  89. package/organization/EventNode.js.map +0 -1
  90. package/organization/IVersion.js +0 -3
  91. package/organization/IVersion.js.map +0 -1
  92. package/organization/Link.d.ts +0 -16
  93. package/organization/Link.js.map +0 -1
  94. package/organization/Measure.d.ts +0 -20
  95. package/organization/Measure.js +0 -35
  96. package/organization/Measure.js.map +0 -1
  97. package/organization/PeopleNode.d.ts +0 -18
  98. package/organization/PeopleNode.js +0 -26
  99. package/organization/PeopleNode.js.map +0 -1
  100. package/organization/RaainNode.d.ts +0 -23
  101. package/organization/RaainNode.js.map +0 -1
  102. package/organization/TeamNode.d.ts +0 -22
  103. package/organization/TeamNode.js +0 -32
  104. package/organization/TeamNode.js.map +0 -1
  105. package/polar/AbstractPolarMeasureValue.d.ts +0 -29
  106. package/polar/AbstractPolarMeasureValue.js.map +0 -1
  107. package/polar/GaugePolarMeasureValue.d.ts +0 -11
  108. package/polar/GaugePolarMeasureValue.js +0 -14
  109. package/polar/GaugePolarMeasureValue.js.map +0 -1
  110. package/polar/IPolarMeasureValue.d.ts +0 -19
  111. package/polar/IPolarMeasureValue.js +0 -3
  112. package/polar/IPolarMeasureValue.js.map +0 -1
  113. package/polar/MeasureValuePolarContainer.d.ts +0 -11
  114. package/polar/MeasureValuePolarContainer.js +0 -22
  115. package/polar/MeasureValuePolarContainer.js.map +0 -1
  116. package/polar/PolarMeasureValue.d.ts +0 -26
  117. package/polar/PolarMeasureValue.js.map +0 -1
  118. package/polar/PolarValue.d.ts +0 -10
  119. package/polar/PolarValue.js +0 -12
  120. package/polar/PolarValue.js.map +0 -1
  121. package/polar/RadarPolarMeasureValue.d.ts +0 -15
  122. package/polar/RadarPolarMeasureValue.js +0 -34
  123. package/polar/RadarPolarMeasureValue.js.map +0 -1
  124. package/polar/RainPolarMeasureValue.d.ts +0 -18
  125. package/polar/RainPolarMeasureValue.js +0 -42
  126. package/polar/RainPolarMeasureValue.js.map +0 -1
  127. package/quality/QualityPoint.d.ts +0 -35
  128. package/quality/QualityPoint.js.map +0 -1
  129. package/quality/SpeedMatrix.d.ts +0 -79
  130. package/quality/SpeedMatrix.js.map +0 -1
  131. package/quality/SpeedMatrixContainer.d.ts +0 -76
  132. package/quality/SpeedMatrixContainer.js.map +0 -1
  133. package/quality/history/CartesianGaugeHistory.d.ts +0 -15
  134. package/quality/history/CartesianGaugeHistory.js +0 -14
  135. package/quality/history/CartesianGaugeHistory.js.map +0 -1
  136. package/quality/history/CartesianRainHistory.d.ts +0 -11
  137. package/quality/history/CartesianRainHistory.js +0 -12
  138. package/quality/history/CartesianRainHistory.js.map +0 -1
  139. package/quality/history/PositionHistory.d.ts +0 -20
  140. package/quality/history/PositionHistory.js +0 -17
  141. package/quality/history/PositionHistory.js.map +0 -1
  142. package/quality/position/Position.d.ts +0 -22
  143. package/quality/position/Position.js +0 -50
  144. package/quality/position/Position.js.map +0 -1
  145. package/quality/position/PositionValue.d.ts +0 -9
  146. package/quality/position/PositionValue.js +0 -12
  147. package/quality/position/PositionValue.js.map +0 -1
  148. package/quality/tools/QualityTools.d.ts +0 -24
  149. package/quality/tools/QualityTools.js.map +0 -1
  150. package/radar/RadarMeasure.d.ts +0 -17
  151. package/radar/RadarMeasure.js +0 -18
  152. package/radar/RadarMeasure.js.map +0 -1
  153. package/radar/RadarNode.d.ts +0 -24
  154. package/radar/RadarNode.js +0 -31
  155. package/radar/RadarNode.js.map +0 -1
  156. package/radar/RadarNodeMap.d.ts +0 -28
  157. package/radar/RadarNodeMap.js +0 -46
  158. package/radar/RadarNodeMap.js.map +0 -1
  159. package/rain/RainComputation.d.ts +0 -34
  160. package/rain/RainComputation.js +0 -55
  161. package/rain/RainComputation.js.map +0 -1
  162. package/rain/RainComputationAbstract.d.ts +0 -41
  163. package/rain/RainComputationAbstract.js +0 -102
  164. package/rain/RainComputationAbstract.js.map +0 -1
  165. package/rain/RainComputationMap.d.ts +0 -32
  166. package/rain/RainComputationMap.js +0 -45
  167. package/rain/RainComputationMap.js.map +0 -1
  168. package/rain/RainComputationQuality.d.ts +0 -37
  169. package/rain/RainComputationQuality.js.map +0 -1
  170. package/rain/RainMeasure.d.ts +0 -18
  171. package/rain/RainMeasure.js +0 -19
  172. package/rain/RainMeasure.js.map +0 -1
  173. package/rain/RainNode.d.ts +0 -38
  174. package/rain/RainNode.js.map +0 -1
  175. /package/{organization/IVersion.d.ts → src/organization/IVersion.ts} +0 -0
@@ -1,37 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RainComputationQuality = void 0;
4
- const RainComputationAbstract_1 = require("./RainComputationAbstract");
1
+ import {RainComputationAbstract} from './RainComputationAbstract';
2
+ import {Link} from '../organization/Link';
3
+ import {RaainNode} from '../organization/RaainNode';
4
+ import {SpeedMatrixContainer} from '../quality/SpeedMatrixContainer';
5
+
6
+
5
7
  /**
6
8
  * api/rains/:id/computations?format=compare&begin=...&gauges=[...]
7
9
  */
8
- class RainComputationQuality extends RainComputationAbstract_1.RainComputationAbstract {
9
- constructor(json) {
10
+ export class RainComputationQuality extends RainComputationAbstract {
11
+
12
+ public qualitySpeedMatrixContainer: SpeedMatrixContainer;
13
+
14
+ constructor(json: {
15
+ id: string,
16
+ periodBegin: Date,
17
+ periodEnd: 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?: RaainNode[],
30
+ radars?: Link[] | RaainNode[],
31
+ }) {
10
32
  super(json);
11
33
  this.qualitySpeedMatrixContainer = json.qualitySpeedMatrixContainer;
12
34
  }
13
- merge(rainComputationQuality) {
35
+
36
+ merge(rainComputationQuality: RainComputationQuality) {
37
+
14
38
  this.periodBegin = this.mergeDateMin(this.periodBegin, rainComputationQuality.periodBegin);
15
39
  this.periodEnd = this.mergeDateMax(this.periodEnd, rainComputationQuality.periodEnd);
16
40
  this.quality = this.mergeAvg(this.quality, rainComputationQuality.quality);
17
41
  this.progressIngest = this.mergeMin(this.progressIngest, rainComputationQuality.progressIngest);
18
42
  this.progressComputing = this.mergeMin(this.progressComputing, rainComputationQuality.progressComputing);
19
43
  this.timeSpentInMs = this.mergeSum(this.timeSpentInMs, rainComputationQuality.timeSpentInMs);
44
+
20
45
  if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.merge) {
21
46
  this.qualitySpeedMatrixContainer = this.qualitySpeedMatrixContainer.merge(rainComputationQuality.qualitySpeedMatrixContainer);
22
47
  }
48
+
23
49
  }
24
- toJSON(arg) {
50
+
51
+ public toJSON(arg?: any): JSON {
25
52
  const json = super.toJSON();
53
+
26
54
  if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.toJSON) {
27
55
  json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer.toJSON(arg);
28
- }
29
- else if (this.qualitySpeedMatrixContainer) {
56
+ } else if (this.qualitySpeedMatrixContainer) {
30
57
  json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer;
31
58
  }
59
+
32
60
  return json;
33
61
  }
34
- mergeStillComputed(v1, v2) {
62
+
63
+ protected mergeStillComputed(v1: any, v2: any): any {
35
64
  if (!v1 && !v2) {
36
65
  return undefined;
37
66
  }
@@ -43,7 +72,8 @@ class RainComputationQuality extends RainComputationAbstract_1.RainComputationAb
43
72
  }
44
73
  return null;
45
74
  }
46
- mergeDateMin(d1, d2) {
75
+
76
+ protected mergeDateMin(d1: Date, d2: Date): Date {
47
77
  const stillComputed = this.mergeStillComputed(d1, d2);
48
78
  if (stillComputed === null) {
49
79
  return new Date(Math.min(new Date(d1).getTime(), new Date(d2).getTime()));
@@ -53,7 +83,8 @@ class RainComputationQuality extends RainComputationAbstract_1.RainComputationAb
53
83
  }
54
84
  return stillComputed;
55
85
  }
56
- mergeDateMax(d1, d2) {
86
+
87
+ protected mergeDateMax(d1: Date, d2: Date): Date {
57
88
  const stillComputed = this.mergeStillComputed(d1, d2);
58
89
  if (stillComputed === null) {
59
90
  return new Date(Math.max(new Date(d1).getTime(), new Date(d2).getTime()));
@@ -63,41 +94,46 @@ class RainComputationQuality extends RainComputationAbstract_1.RainComputationAb
63
94
  }
64
95
  return stillComputed;
65
96
  }
66
- mergeAvg(v1, v2) {
97
+
98
+ protected mergeAvg(v1: number, v2: number): number {
67
99
  const stillComputed = this.mergeStillComputed(v1, v2);
68
100
  if (stillComputed === null) {
69
101
  return (v1 + v2) / 2;
70
102
  }
71
103
  return stillComputed;
72
104
  }
73
- mergeMin(v1, v2) {
105
+
106
+ protected mergeMin(v1: number, v2: number): number {
74
107
  const stillComputed = this.mergeStillComputed(v1, v2);
75
108
  if (stillComputed === null) {
76
109
  return Math.min(v1, v2);
77
110
  }
78
111
  return stillComputed;
79
112
  }
80
- mergeMax(v1, v2) {
113
+
114
+ protected mergeMax(v1: number, v2: number): number {
81
115
  const stillComputed = this.mergeStillComputed(v1, v2);
82
116
  if (stillComputed === null) {
83
117
  return Math.max(v1, v2);
84
118
  }
85
119
  return stillComputed;
86
120
  }
87
- mergeSum(v1, v2) {
121
+
122
+ protected mergeSum(v1: number, v2: number): number {
88
123
  const stillComputed = this.mergeStillComputed(v1, v2);
89
124
  if (stillComputed === null) {
90
125
  return v1 + v2;
91
126
  }
92
127
  return stillComputed;
93
128
  }
94
- mergeConcat(a1, a2) {
129
+
130
+ protected mergeConcat(a1: Array<any>, a2: Array<any>): Array<any> {
95
131
  const stillComputed = this.mergeStillComputed(a1, a2);
96
132
  if (stillComputed === null) {
97
133
  return a1.concat(a2);
98
134
  }
99
135
  return stillComputed;
100
136
  }
137
+
101
138
  }
102
- exports.RainComputationQuality = RainComputationQuality;
103
- //# sourceMappingURL=RainComputationQuality.js.map
139
+
@@ -0,0 +1,27 @@
1
+ import {Measure} from '../organization/Measure';
2
+ import {IPolarMeasureValue} from '../polar/IPolarMeasureValue';
3
+ import {ICartesianMeasureValue} from '../cartesian/ICartesianMeasureValue';
4
+
5
+ /**
6
+ * // not existing? api/rains/:id/measures/:id
7
+ * but coming from api/rains/:id/computations/:id?format=map => getMapData()
8
+ */
9
+ export class RainMeasure extends Measure {
10
+
11
+ public static TYPE = 'rain-measure';
12
+
13
+ constructor(json: {
14
+ id: string,
15
+ values: IPolarMeasureValue[] | ICartesianMeasureValue[] | Measure[] | number[],
16
+ date?: Date,
17
+ validity?: number,
18
+ configurationAsJSON?: string | any,
19
+ }) {
20
+ super(json);
21
+ }
22
+
23
+ protected getLinkType(): string {
24
+ return RainMeasure.TYPE;
25
+ }
26
+ }
27
+
@@ -1,16 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RainNode = void 0;
4
- const RaainNode_1 = require("../organization/RaainNode");
5
- const Link_1 = require("../organization/Link");
6
- const RadarNode_1 = require("../radar/RadarNode");
7
- const RainComputation_1 = require("./RainComputation");
8
- const GaugeNode_1 = require("../gauge/GaugeNode");
1
+ import {RaainNode} from '../organization/RaainNode';
2
+ import {Link} from '../organization/Link';
3
+ import {RadarNode} from '../radar/RadarNode';
4
+ import {RainComputation} from './RainComputation';
5
+ import {GaugeNode} from '../gauge/GaugeNode';
6
+
9
7
  /**
10
8
  * api/rains/:id
11
9
  */
12
- class RainNode extends RaainNode_1.RaainNode {
13
- constructor(json) {
10
+ export class RainNode extends RaainNode {
11
+
12
+ public static TYPE = 'rain';
13
+
14
+ public name: string;
15
+ public status: number;
16
+ public quality: number;
17
+ public latitude: number;
18
+ public longitude: number;
19
+ private configurationAsJSON: string;
20
+
21
+ constructor(json: {
22
+ id: string,
23
+ latitude: number | string,
24
+ longitude: number | string,
25
+ name?: string,
26
+ links?: Link[] | RaainNode[],
27
+ version?: string,
28
+ status?: number,
29
+ quality?: number,
30
+ radars?: any[],
31
+ lastCompletedComputations?: any[],
32
+ gauges?: any[],
33
+ configurationAsJSON?: any,
34
+ }) {
14
35
  super(json);
15
36
  this.name = json.name;
16
37
  this.latitude = typeof json.latitude === 'string' ? parseFloat(json.latitude) : json.latitude;
@@ -25,73 +46,78 @@ class RainNode extends RaainNode_1.RaainNode {
25
46
  this.addGauges(json.gauges);
26
47
  this.setConfiguration(json.configurationAsJSON);
27
48
  }
28
- static _getRadarLinks(linksToPurify) {
49
+
50
+ private static _getRadarLinks(linksToPurify: any[]): any[] {
29
51
  if (!linksToPurify || linksToPurify.length === 0) {
30
52
  return [];
31
53
  }
54
+
32
55
  const linksPurified = linksToPurify.map(l => {
33
- if (l instanceof Link_1.Link) {
56
+ if (l instanceof Link) {
34
57
  return l;
35
- }
36
- else if (l && l['_id']) {
37
- return new RadarNode_1.RadarNode({ id: l['_id'].toString(), latitude: 0, longitude: 0 });
38
- }
39
- else if (l && l.id) {
40
- return new RadarNode_1.RadarNode({ id: l.id.toString(), latitude: 0, longitude: 0 }); // 'hex'
58
+ } else if (l && l['_id']) {
59
+ return new RadarNode({id: l['_id'].toString(), latitude: 0, longitude: 0});
60
+ } else if (l && l.id) {
61
+ return new RadarNode({id: l.id.toString(), latitude: 0, longitude: 0}); // 'hex'
41
62
  }
42
63
  });
64
+
43
65
  return linksPurified.filter(l => !!l);
44
66
  }
45
- static _getRainComputationLinks(linksToPurify) {
67
+
68
+ private static _getRainComputationLinks(linksToPurify: any[]): any[] {
46
69
  if (!linksToPurify || linksToPurify.length === 0) {
47
70
  return [];
48
71
  }
72
+
49
73
  const linksPurified = linksToPurify.map(l => {
50
- if (l instanceof Link_1.Link) {
74
+ if (l instanceof Link) {
51
75
  return l;
52
- }
53
- else if (l && l['_id']) {
54
- return new RainComputation_1.RainComputation({
76
+ } else if (l && l['_id']) {
77
+ return new RainComputation({
55
78
  id: l['_id'].toString(),
56
79
  periodBegin: null, periodEnd: null, isReady: null, results: null
57
80
  });
58
- }
59
- else if (l && l.id) {
60
- return new RainComputation_1.RainComputation({
81
+ } else if (l && l.id) {
82
+ return new RainComputation({
61
83
  id: l.id.toString(),
62
84
  periodBegin: null, periodEnd: null, isReady: null, results: null
63
85
  }); // 'hex'
64
86
  }
65
87
  });
88
+
66
89
  return linksPurified.filter(l => !!l);
67
90
  }
68
- static _getGaugeLinks(linksToPurify) {
91
+
92
+ private static _getGaugeLinks(linksToPurify: any[]): any[] {
69
93
  if (!linksToPurify || linksToPurify.length === 0) {
70
94
  return [];
71
95
  }
96
+
72
97
  const linksPurified = linksToPurify.map(l => {
73
- if (l instanceof Link_1.Link) {
98
+ if (l instanceof Link) {
74
99
  return l;
75
- }
76
- else if (l && l['_id']) {
77
- return new GaugeNode_1.GaugeNode({ id: l['_id'].toString(), latitude: 0, longitude: 0 });
78
- }
79
- else if (l && l.id) {
80
- return new GaugeNode_1.GaugeNode({ id: l.id.toString(), latitude: 0, longitude: 0 }); // 'hex'
100
+ } else if (l && l['_id']) {
101
+ return new GaugeNode({id: l['_id'].toString(), latitude: 0, longitude: 0});
102
+ } else if (l && l.id) {
103
+ return new GaugeNode({id: l.id.toString(), latitude: 0, longitude: 0}); // 'hex'
81
104
  }
82
105
  });
106
+
83
107
  return linksPurified.filter(l => !!l);
84
108
  }
85
- setConfiguration(configuration) {
109
+
110
+ public setConfiguration(configuration: string | any) {
86
111
  let conf = configuration;
87
112
  try {
88
113
  conf = JSON.parse(configuration);
114
+ } catch (ignored) {
89
115
  }
90
- catch (ignored) {
91
- }
116
+
92
117
  this.configurationAsJSON = JSON.stringify(conf);
93
118
  }
94
- toJSON() {
119
+
120
+ public toJSON(): JSON {
95
121
  const json = super.toJSON();
96
122
  json['name'] = this.name;
97
123
  json['status'] = this.status;
@@ -101,27 +127,29 @@ class RainNode extends RaainNode_1.RaainNode {
101
127
  json['configurationAsJSON'] = this.configurationAsJSON;
102
128
  return json;
103
129
  }
104
- addRadars(linksToAdd) {
130
+
131
+ public addRadars(linksToAdd: Link[] | any[]): void {
105
132
  this.addLinks(RainNode._getRadarLinks(linksToAdd));
106
133
  }
107
- addCompletedComputations(linksToAdd) {
134
+
135
+ public addCompletedComputations(linksToAdd: Link[] | any[]): void {
108
136
  this.addLinks(RainNode._getRainComputationLinks(linksToAdd));
109
137
  }
110
- addGauges(linksToAdd) {
138
+
139
+ public addGauges(linksToAdd: Link[] | any[]): void {
111
140
  this.addLinks(RainNode._getGaugeLinks(linksToAdd));
112
141
  }
113
- getConfiguration() {
142
+
143
+ public getConfiguration(): any {
114
144
  try {
115
145
  return JSON.parse(this.configurationAsJSON);
116
- }
117
- catch (e) {
146
+ } catch (e) {
118
147
  }
119
148
  return null;
120
149
  }
121
- getLinkType() {
150
+
151
+ protected getLinkType(): string {
122
152
  return RainNode.TYPE;
123
153
  }
124
154
  }
125
- RainNode.TYPE = 'rain';
126
- exports.RainNode = RainNode;
127
- //# sourceMappingURL=RainNode.js.map
155
+
package/tsconfig.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2018",
4
+ "module": "commonjs",
5
+ "declaration": true,
6
+ "sourceMap": true,
7
+ "outDir": "dist"
8
+ },
9
+ "exclude": [
10
+ "node_modules",
11
+ "dist",
12
+ "examples",
13
+ "specs",
14
+ "coverage",
15
+ ".coverage"
16
+ ]
17
+ }
package/tslint.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "extends": "tslint:recommended",
3
+ "rules": {
4
+ "variable-name": false,
5
+ "array-type": false,
6
+ "arrow-parens": false,
7
+ "deprecation": {
8
+ "severity": "warn"
9
+ },
10
+ "import-blacklist": [
11
+ true,
12
+ "rxjs/Rx"
13
+ ],
14
+ "interface-name": false,
15
+ "max-classes-per-file": false,
16
+ "max-line-length": [
17
+ true,
18
+ 140
19
+ ],
20
+ "member-access": false,
21
+ "member-ordering": [
22
+ true,
23
+ {
24
+ "order": [
25
+ "static-field",
26
+ "instance-field",
27
+ "static-method",
28
+ "instance-method"
29
+ ]
30
+ }
31
+ ],
32
+ "no-consecutive-blank-lines": false,
33
+ "no-console": [
34
+ true,
35
+ "debug",
36
+ "info",
37
+ "time",
38
+ "timeEnd",
39
+ "trace"
40
+ ],
41
+ "no-empty": false,
42
+ "no-inferrable-types": [
43
+ true,
44
+ "ignore-params"
45
+ ],
46
+ "no-non-null-assertion": true,
47
+ "no-redundant-jsdoc": true,
48
+ "no-switch-case-fall-through": true,
49
+ "no-use-before-declare": true,
50
+ "no-var-requires": false,
51
+ "object-literal-key-quotes": [
52
+ true,
53
+ "as-needed"
54
+ ],
55
+ "object-literal-sort-keys": false,
56
+ "ordered-imports": false,
57
+ "quotemark": [
58
+ true,
59
+ "single"
60
+ ],
61
+ "trailing-comma": false,
62
+ "no-output-on-prefix": true,
63
+ "use-input-property-decorator": true,
64
+ "use-output-property-decorator": true,
65
+ "use-host-property-decorator": true,
66
+ "no-input-rename": true,
67
+ "no-string-literal": false,
68
+ "no-output-rename": true,
69
+ "use-life-cycle-interface": true,
70
+ "use-pipe-transform-interface": true,
71
+ "one-variable-per-declaration": false,
72
+ "component-class-suffix": [
73
+ true,
74
+ "Page",
75
+ "Component"
76
+ ],
77
+ "directive-class-suffix": true
78
+ }
79
+ }
@@ -1,41 +0,0 @@
1
- import { ICartesianMeasureValue } from './ICartesianMeasureValue';
2
- import { CartesianValue } from './CartesianValue';
3
- import { LatLng } from './LatLng';
4
- export declare class CartesianMeasureValue implements ICartesianMeasureValue {
5
- protected cartesianValues: CartesianValue[];
6
- protected cartesianPixelWidth: LatLng;
7
- constructor(json: {
8
- cartesianValues: string | CartesianValue[];
9
- cartesianPixelWidth: {
10
- lat: number;
11
- lng: number;
12
- } | LatLng;
13
- });
14
- static From(obj: any): CartesianMeasureValue;
15
- getCartesianValuesStringified(): string;
16
- getCartesianValues(): CartesianValue[];
17
- setCartesianValues(cartesianValues: CartesianValue[]): void;
18
- setCartesianValuesAsString(s: string): void;
19
- toJSON(stringify?: boolean): JSON;
20
- toJSONWithCartesianValuesStringified(): JSON;
21
- getCartesianValue(json: {
22
- lat: number;
23
- lng: number;
24
- }): CartesianValue;
25
- getCartesianValueRounded(json: {
26
- lat: number;
27
- lng: number;
28
- scale: number;
29
- }): CartesianValue;
30
- setCartesianValue(json: {
31
- lat: number;
32
- lng: number;
33
- value: number;
34
- }): void;
35
- getCartesianPixelWidth(): LatLng;
36
- setCartesianPixelWidth(latLng: {
37
- lat: number;
38
- lng: number;
39
- } | LatLng): void;
40
- protected setCartesianValuesAsAny(cartesianValues: any): void;
41
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartesianMeasureValue.js","sourceRoot":"","sources":["../../src/cartesian/CartesianMeasureValue.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qCAAgC;AAEhC,MAAa,qBAAqB;IAK9B,YAAY,IAGC;QAGT,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAA,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAA,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;SACzF;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE1D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAQ;QAChB,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC;YACtC,eAAe,EAAE,EAAE;YACnB,mBAAmB,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC;SACxC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,WAAW,EAAE;YAC5C,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SACxD;QAED,IAAI,OAAO,GAAG,CAAC,mBAAmB,KAAK,WAAW;YAC9C,OAAO,GAAG,CAAC,mBAAmB,CAAC,GAAG,KAAK,WAAW;YAClD,OAAO,GAAG,CAAC,mBAAmB,CAAC,GAAG,KAAK,WAAW,EAAE;YACpD,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAC3D;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,6BAA6B;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,eAAiC;QAChD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,0BAA0B,CAAC,CAAS;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,eAAe,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;SACnC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,+BAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,KAAK;QAEpB,IAAI,eAAe,GAAQ,IAAI,CAAC,eAAe,CAAC;QAChD,IAAI,SAAS,EAAE;YACX,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACzD;QAED,MAAM,IAAI,GAAQ;YACd,eAAe;YACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAChD,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAoC;QAChC,OAAO;YACH,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;YACrD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SACzC,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,IAAkC;QAChD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;YACtC,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;gBAClD,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,IAIxB;QACG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACpE,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE;gBAC5D,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,IAAiD;QAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,sBAAsB,CAAC,MAA6C;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAES,uBAAuB,CAAC,eAAoB;QAClD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;SACpD;aAAM;YACH,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SAC5C;IACL,CAAC;CACJ;AAnID,sDAmIC"}
@@ -1,9 +0,0 @@
1
- import { LatLng } from './LatLng';
2
- export declare class CartesianValue extends LatLng {
3
- value: number;
4
- constructor(json: {
5
- value: number;
6
- lat: number;
7
- lng: number;
8
- });
9
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CartesianValue = void 0;
4
- const LatLng_1 = require("./LatLng");
5
- class CartesianValue extends LatLng_1.LatLng {
6
- constructor(json) {
7
- super(json);
8
- this.value = json.value;
9
- }
10
- }
11
- exports.CartesianValue = CartesianValue;
12
- //# sourceMappingURL=CartesianValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartesianValue.js","sourceRoot":"","sources":["../../src/cartesian/CartesianValue.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,cAAe,SAAQ,eAAM;IAItC,YAAY,IAIC;QAET,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;CACJ;AAbD,wCAaC"}
@@ -1,29 +0,0 @@
1
- import { CartesianValue } from './CartesianValue';
2
- import { LatLng } from './LatLng';
3
- export interface ICartesianMeasureValue {
4
- getCartesianValuesStringified(): string;
5
- getCartesianValues(): CartesianValue[];
6
- setCartesianValues(cartesianValues: CartesianValue[]): void;
7
- setCartesianValuesAsString(s: string): void;
8
- toJSON(): JSON;
9
- toJSONWithCartesianValuesStringified(): JSON;
10
- getCartesianValue(json: {
11
- lat: number;
12
- lng: number;
13
- }): CartesianValue;
14
- getCartesianValueRounded(json: {
15
- lat: number;
16
- lng: number;
17
- scale?: number;
18
- }): CartesianValue;
19
- setCartesianValue(json: {
20
- lat: number;
21
- lng: number;
22
- value: number;
23
- }): void;
24
- getCartesianPixelWidth(): LatLng;
25
- setCartesianPixelWidth(json: {
26
- lat: number;
27
- lng: number;
28
- }): void;
29
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ICartesianMeasureValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICartesianMeasureValue.js","sourceRoot":"","sources":["../../src/cartesian/ICartesianMeasureValue.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- export declare class LatLng {
2
- lat: number;
3
- lng: number;
4
- constructor(json: {
5
- lat: number;
6
- lng: number;
7
- });
8
- equals(v: LatLng): boolean;
9
- setPrecision(precision?: number): void;
10
- rounded(scale: LatLng): void;
11
- limitPrecision(precision?: number): void;
12
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LatLng = void 0;
4
- const QualityTools_1 = require("../quality/tools/QualityTools");
5
- class LatLng {
6
- constructor(json) {
7
- if (typeof (json === null || json === void 0 ? void 0 : json.lat) === 'undefined' || typeof (json === null || json === void 0 ? void 0 : json.lng) === 'undefined') {
8
- throw new Error('LatLng needs valid latitude && longitude');
9
- }
10
- this.lat = json.lat;
11
- this.lng = json.lng;
12
- }
13
- equals(v) {
14
- return this.lat === v.lat && this.lng === v.lng;
15
- }
16
- setPrecision(precision = 12) {
17
- const tenPower = Math.pow(10, precision);
18
- this.lat = Math.round(this.lat * tenPower) / tenPower;
19
- this.lng = Math.round(this.lng * tenPower) / tenPower;
20
- }
21
- rounded(scale) {
22
- this.lat = QualityTools_1.QualityTools.RoundLatLng(this.lat, scale.lat, true);
23
- this.lng = QualityTools_1.QualityTools.RoundLatLng(this.lng, scale.lng, true);
24
- }
25
- limitPrecision(precision = 12) {
26
- this.lat = QualityTools_1.QualityTools.LimitWithPrecision(this.lat, precision);
27
- this.lng = QualityTools_1.QualityTools.LimitWithPrecision(this.lng, precision);
28
- }
29
- }
30
- exports.LatLng = LatLng;
31
- //# sourceMappingURL=LatLng.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LatLng.js","sourceRoot":"","sources":["../../src/cartesian/LatLng.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAE3D,MAAa,MAAM;IAKf,YAAY,IAGX;QACG,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAA,KAAK,WAAW,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAA,KAAK,WAAW,EAAE;YACtE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,CAAS;QACnB,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,YAAoB,EAAE;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,cAAc,CAAC,SAAS,GAAG,EAAE;QACzB,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;CACJ;AApCD,wBAoCC"}
@@ -1,15 +0,0 @@
1
- import { CartesianValue } from './CartesianValue';
2
- import { CartesianMeasureValue } from './CartesianMeasureValue';
3
- export declare class RadarCartesianMeasureValue extends CartesianMeasureValue {
4
- angle: number;
5
- constructor(json: {
6
- cartesianValues: string | CartesianValue[];
7
- cartesianPixelWidth: {
8
- lat: number;
9
- lng: number;
10
- };
11
- angle: number;
12
- });
13
- toJSON(stringify?: boolean): JSON;
14
- toJSONWithCartesianValuesStringified(): JSON;
15
- }