raain-model 0.2.9 → 0.4.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 (161) hide show
  1. package/README.md +3 -3
  2. package/RELEASE.md +8 -6
  3. package/cartesians/CartesianMeasureValue.d.ts +27 -0
  4. package/cartesians/CartesianMeasureValue.js +88 -0
  5. package/cartesians/CartesianMeasureValue.js.map +1 -0
  6. package/cartesians/CartesianValue.d.ts +6 -0
  7. package/cartesians/CartesianValue.js +12 -0
  8. package/cartesians/CartesianValue.js.map +1 -0
  9. package/cartesians/ICartesianMeasureValue.d.ts +17 -0
  10. package/cartesians/ICartesianMeasureValue.js +3 -0
  11. package/cartesians/ICartesianMeasureValue.js.map +1 -0
  12. package/cartesians/RadarCartesianMeasureValue.d.ts +11 -0
  13. package/cartesians/RadarCartesianMeasureValue.js +37 -0
  14. package/cartesians/RadarCartesianMeasureValue.js.map +1 -0
  15. package/cartesians/RainCartesianMeasureValue.d.ts +13 -0
  16. package/cartesians/RainCartesianMeasureValue.js +40 -0
  17. package/cartesians/RainCartesianMeasureValue.js.map +1 -0
  18. package/gauges/GaugeMeasure.d.ts +12 -0
  19. package/gauges/GaugeMeasure.js +31 -0
  20. package/gauges/GaugeMeasure.js.map +1 -0
  21. package/gauges/GaugeNode.d.ts +15 -0
  22. package/gauges/GaugeNode.js +37 -0
  23. package/gauges/GaugeNode.js.map +1 -0
  24. package/gauges/GaugeNodeMap.d.ts +14 -0
  25. package/gauges/GaugeNodeMap.js +49 -0
  26. package/gauges/GaugeNodeMap.js.map +1 -0
  27. package/index.d.ts +30 -20
  28. package/index.js +44 -23
  29. package/index.js.map +1 -1
  30. package/{EventNode.d.ts → organizations/EventNode.d.ts} +4 -0
  31. package/organizations/EventNode.js +30 -0
  32. package/organizations/EventNode.js.map +1 -0
  33. package/organizations/IVersion.d.ts +3 -0
  34. package/{IMeasureValue.js → organizations/IVersion.js} +1 -1
  35. package/organizations/IVersion.js.map +1 -0
  36. package/{Link.d.ts → organizations/Link.d.ts} +5 -5
  37. package/organizations/Link.js +34 -0
  38. package/organizations/Link.js.map +1 -0
  39. package/organizations/Measure.d.ts +12 -0
  40. package/organizations/Measure.js +29 -0
  41. package/organizations/Measure.js.map +1 -0
  42. package/organizations/PeopleNode.d.ts +12 -0
  43. package/organizations/PeopleNode.js +34 -0
  44. package/organizations/PeopleNode.js.map +1 -0
  45. package/organizations/QualityPoint.d.ts +17 -0
  46. package/organizations/QualityPoint.js +16 -0
  47. package/organizations/QualityPoint.js.map +1 -0
  48. package/organizations/RaainNode.d.ts +19 -0
  49. package/organizations/RaainNode.js +106 -0
  50. package/organizations/RaainNode.js.map +1 -0
  51. package/organizations/TeamNode.d.ts +15 -0
  52. package/organizations/TeamNode.js +38 -0
  53. package/organizations/TeamNode.js.map +1 -0
  54. package/package.json +8 -9
  55. package/polars/AbstractPolarMeasureValue.d.ts +19 -0
  56. package/polars/AbstractPolarMeasureValue.js +87 -0
  57. package/polars/AbstractPolarMeasureValue.js.map +1 -0
  58. package/polars/GaugePolarMeasureValue.d.ts +9 -0
  59. package/polars/GaugePolarMeasureValue.js +14 -0
  60. package/polars/GaugePolarMeasureValue.js.map +1 -0
  61. package/{IMeasureValue.d.ts → polars/IPolarMeasureValue.d.ts} +5 -5
  62. package/polars/IPolarMeasureValue.js +3 -0
  63. package/polars/IPolarMeasureValue.js.map +1 -0
  64. package/{MeasureValuePolarContainer.d.ts → polars/MeasureValuePolarContainer.d.ts} +1 -1
  65. package/{MeasureValuePolarContainer.js → polars/MeasureValuePolarContainer.js} +10 -10
  66. package/polars/MeasureValuePolarContainer.js.map +1 -0
  67. package/polars/PolarMeasureValue.d.ts +16 -0
  68. package/polars/PolarMeasureValue.js +94 -0
  69. package/polars/PolarMeasureValue.js.map +1 -0
  70. package/{PolarValue.js → polars/PolarValue.js} +4 -4
  71. package/polars/PolarValue.js.map +1 -0
  72. package/polars/RadarPolarMeasureValue.d.ts +12 -0
  73. package/polars/RadarPolarMeasureValue.js +34 -0
  74. package/polars/RadarPolarMeasureValue.js.map +1 -0
  75. package/polars/RainPolarMeasureValue.d.ts +14 -0
  76. package/polars/RainPolarMeasureValue.js +32 -0
  77. package/polars/RainPolarMeasureValue.js.map +1 -0
  78. package/radars/RadarMeasure.d.ts +11 -0
  79. package/radars/RadarMeasure.js +24 -0
  80. package/radars/RadarMeasure.js.map +1 -0
  81. package/{RadarNode.d.ts → radars/RadarNode.d.ts} +5 -4
  82. package/radars/RadarNode.js +35 -0
  83. package/radars/RadarNode.js.map +1 -0
  84. package/radars/RadarNodeMap.d.ts +16 -0
  85. package/radars/RadarNodeMap.js +53 -0
  86. package/radars/RadarNodeMap.js.map +1 -0
  87. package/rains/RainComputation.d.ts +34 -0
  88. package/rains/RainComputation.js +60 -0
  89. package/rains/RainComputation.js.map +1 -0
  90. package/rains/RainComputationAbstract.d.ts +42 -0
  91. package/rains/RainComputationAbstract.js +113 -0
  92. package/rains/RainComputationAbstract.js.map +1 -0
  93. package/rains/RainComputationMap.d.ts +16 -0
  94. package/rains/RainComputationMap.js +50 -0
  95. package/rains/RainComputationMap.js.map +1 -0
  96. package/rains/RainComputationQuality.d.ts +24 -0
  97. package/rains/RainComputationQuality.js +108 -0
  98. package/rains/RainComputationQuality.js.map +1 -0
  99. package/rains/RainMeasure.d.ts +12 -0
  100. package/rains/RainMeasure.js +25 -0
  101. package/rains/RainMeasure.js.map +1 -0
  102. package/{RainNode.d.ts → rains/RainNode.d.ts} +10 -7
  103. package/rains/RainNode.js +116 -0
  104. package/rains/RainNode.js.map +1 -0
  105. package/EventNode.js +0 -17
  106. package/EventNode.js.map +0 -1
  107. package/GaugeMeasure.d.ts +0 -7
  108. package/GaugeMeasure.js +0 -31
  109. package/GaugeMeasure.js.map +0 -1
  110. package/GaugeMeasureValue.d.ts +0 -16
  111. package/GaugeMeasureValue.js +0 -66
  112. package/GaugeMeasureValue.js.map +0 -1
  113. package/GaugeNode.d.ts +0 -19
  114. package/GaugeNode.js +0 -48
  115. package/GaugeNode.js.map +0 -1
  116. package/GaugeNodeMap.d.ts +0 -21
  117. package/GaugeNodeMap.js +0 -61
  118. package/GaugeNodeMap.js.map +0 -1
  119. package/IMeasureValue.js.map +0 -1
  120. package/Link.js +0 -31
  121. package/Link.js.map +0 -1
  122. package/Measure.d.ts +0 -9
  123. package/Measure.js +0 -43
  124. package/Measure.js.map +0 -1
  125. package/MeasureValuePolarContainer.js.map +0 -1
  126. package/PeopleNode.d.ts +0 -7
  127. package/PeopleNode.js +0 -14
  128. package/PeopleNode.js.map +0 -1
  129. package/PolarValue.js.map +0 -1
  130. package/RaainNode.d.ts +0 -13
  131. package/RaainNode.js +0 -76
  132. package/RaainNode.js.map +0 -1
  133. package/RadarMeasure.d.ts +0 -7
  134. package/RadarMeasure.js +0 -31
  135. package/RadarMeasure.js.map +0 -1
  136. package/RadarMeasureValue.d.ts +0 -19
  137. package/RadarMeasureValue.js +0 -75
  138. package/RadarMeasureValue.js.map +0 -1
  139. package/RadarNode.js +0 -48
  140. package/RadarNode.js.map +0 -1
  141. package/RadarNodeMap.d.ts +0 -10
  142. package/RadarNodeMap.js +0 -56
  143. package/RadarNodeMap.js.map +0 -1
  144. package/RainComputationMap.d.ts +0 -10
  145. package/RainComputationMap.js +0 -59
  146. package/RainComputationMap.js.map +0 -1
  147. package/RainComputationNode.d.ts +0 -40
  148. package/RainComputationNode.js +0 -141
  149. package/RainComputationNode.js.map +0 -1
  150. package/RainMeasure.d.ts +0 -4
  151. package/RainMeasure.js +0 -28
  152. package/RainMeasure.js.map +0 -1
  153. package/RainMeasureValue.d.ts +0 -18
  154. package/RainMeasureValue.js +0 -69
  155. package/RainMeasureValue.js.map +0 -1
  156. package/RainNode.js +0 -98
  157. package/RainNode.js.map +0 -1
  158. package/tools/PolarValues.d.ts +0 -16
  159. package/tools/PolarValues.js +0 -99
  160. package/tools/PolarValues.js.map +0 -1
  161. /package/{PolarValue.d.ts → polars/PolarValue.d.ts} +0 -0
@@ -0,0 +1,34 @@
1
+ import { RaainNode } from '../organizations/RaainNode';
2
+ import { Link } from '../organizations/Link';
3
+ import { RainPolarMeasureValue } from '../polars/RainPolarMeasureValue';
4
+ import { RainCartesianMeasureValue } from '../cartesians/RainCartesianMeasureValue';
5
+ import { RainComputationAbstract } from './RainComputationAbstract';
6
+ /**
7
+ * api/rains/:rainId/computations/:computationId
8
+ * or as an array on
9
+ * api/rains/:id/computations?format=id&begin=...
10
+ */
11
+ export declare class RainComputation extends RainComputationAbstract {
12
+ static TYPE: string;
13
+ results: RainPolarMeasureValue[] | RainCartesianMeasureValue[];
14
+ constructor(idOrObjectToCopy: string | {
15
+ id?: string;
16
+ periodBegin?: Date;
17
+ periodEnd?: Date;
18
+ links?: Link[] | RaainNode[];
19
+ quality?: number;
20
+ progressIngest?: number;
21
+ progressComputing?: number;
22
+ timeSpentInMs?: number;
23
+ isReady?: boolean;
24
+ isDoneDate?: Date;
25
+ results?: RainPolarMeasureValue[] | RainCartesianMeasureValue[];
26
+ launchedBy?: string;
27
+ version?: string;
28
+ rain?: RaainNode[];
29
+ radars?: Link[] | RaainNode[];
30
+ }, periodBegin?: Date, periodEnd?: Date, links?: Link[] | RaainNode[], quality?: number, progressIngest?: number, progressComputing?: number, timeSpentInMs?: number, isReady?: boolean, isDoneDate?: Date, results?: RainPolarMeasureValue[] | RainCartesianMeasureValue[], launchedBy?: string, version?: string);
31
+ toJSON(stringify?: boolean): JSON;
32
+ protected getLinkType(): string;
33
+ private setResults;
34
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputation = void 0;
4
+ const RainPolarMeasureValue_1 = require("../polars/RainPolarMeasureValue");
5
+ const RainCartesianMeasureValue_1 = require("../cartesians/RainCartesianMeasureValue");
6
+ const RainComputationAbstract_1 = require("./RainComputationAbstract");
7
+ /**
8
+ * api/rains/:rainId/computations/:computationId
9
+ * or as an array on
10
+ * api/rains/:id/computations?format=id&begin=...
11
+ */
12
+ class RainComputation extends RainComputationAbstract_1.RainComputationAbstract {
13
+ // not "values" (aka Measure.values), but "results" from computation
14
+ constructor(idOrObjectToCopy, periodBegin, periodEnd, links, quality, progressIngest, progressComputing, timeSpentInMs, isReady, isDoneDate, results, launchedBy, version) {
15
+ if (typeof idOrObjectToCopy !== 'string') {
16
+ super(idOrObjectToCopy.id, idOrObjectToCopy.periodBegin, idOrObjectToCopy.periodEnd, idOrObjectToCopy.links, idOrObjectToCopy.quality, idOrObjectToCopy.progressIngest, idOrObjectToCopy.progressComputing, idOrObjectToCopy.timeSpentInMs, idOrObjectToCopy.isReady, idOrObjectToCopy.isDoneDate, idOrObjectToCopy.launchedBy, idOrObjectToCopy.version);
17
+ this.setResults(idOrObjectToCopy.results);
18
+ return;
19
+ }
20
+ super(idOrObjectToCopy, periodBegin, periodEnd, links, quality, progressIngest, progressComputing, timeSpentInMs, isReady, isDoneDate, launchedBy, version);
21
+ this.setResults(results);
22
+ }
23
+ toJSON(stringify = false) {
24
+ const json = super.toJSON();
25
+ json['results'] = this.results.map(r => r.toJSON(stringify));
26
+ return json;
27
+ }
28
+ getLinkType() {
29
+ return RainComputation.TYPE;
30
+ }
31
+ setResults(results) {
32
+ if (typeof results === 'string') {
33
+ results = JSON.parse(results);
34
+ }
35
+ if (!results || results.length === 0) {
36
+ this.results = [];
37
+ return;
38
+ }
39
+ this.results = results.map(r => {
40
+ if (typeof r === 'string' && r.indexOf('polars') >= 0) {
41
+ return new RainPolarMeasureValue_1.RainPolarMeasureValue(r);
42
+ }
43
+ else if (r.polars) {
44
+ return new RainPolarMeasureValue_1.RainPolarMeasureValue(r);
45
+ }
46
+ if (typeof r === 'string' && r.indexOf('cartesian') >= 0) {
47
+ return new RainCartesianMeasureValue_1.RainCartesianMeasureValue(r);
48
+ }
49
+ else if (r.cartesianValues) {
50
+ return new RainCartesianMeasureValue_1.RainCartesianMeasureValue(r);
51
+ }
52
+ else {
53
+ return r;
54
+ }
55
+ });
56
+ }
57
+ }
58
+ RainComputation.TYPE = 'rain-computation';
59
+ exports.RainComputation = RainComputation;
60
+ //# sourceMappingURL=RainComputation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputation.js","sourceRoot":"","sources":["../../src/rains/RainComputation.ts"],"names":[],"mappings":";;;AAEA,2EAAsE;AACtE,uFAAkF;AAClF,uEAAkE;AAElE;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,iDAAuB;IAMxD,oEAAoE;IAEpE,YACI,gBAgBC,EACD,WAAkB,EAClB,SAAgB,EAChB,KAA4B,EAC5B,OAAgB,EAChB,cAAuB,EACvB,iBAA0B,EAC1B,aAAsB,EACtB,OAAiB,EACjB,UAAiB,EACjB,OAA+D,EAC/D,UAAmB,EACnB,OAAgB;QAGhB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACtC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EACrB,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,KAAK,EACtB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,cAAc,EAC/B,gBAAgB,CAAC,iBAAiB,EAClC,gBAAgB,CAAC,aAAa,EAC9B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,UAAU,EAC3B,gBAAgB,CAAC,UAAU,EAC3B,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO;SACV;QAED,KAAK,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAC5G,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,SAAS,GAAG,KAAK;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,eAAe,CAAC,IAAI,CAAC;IAChC,CAAC;IAEO,UAAU,CAAC,OAAyE;QACxF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO;SACV;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACnD,OAAO,IAAI,6CAAqB,CAAC,CAAC,CAAC,CAAC;aACvC;iBAAM,IAAI,CAAC,CAAC,MAAM,EAAE;gBACjB,OAAO,IAAI,6CAAqB,CAAC,CAAC,CAAC,CAAC;aACvC;YACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACtD,OAAO,IAAI,qDAAyB,CAAC,CAAC,CAAC,CAAC;aAC3C;iBAAM,IAAI,CAAC,CAAC,eAAe,EAAE;gBAC1B,OAAO,IAAI,qDAAyB,CAAC,CAAC,CAAC,CAAC;aAC3C;iBAAM;gBACH,OAAO,CAAC,CAAC;aACZ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AA/Fa,oBAAI,GAAG,kBAAkB,CAAC;AAF/B,0CAAe"}
@@ -0,0 +1,42 @@
1
+ import { RaainNode } from '../organizations/RaainNode';
2
+ import { Link } from '../organizations/Link';
3
+ /**
4
+ * not used directly
5
+ */
6
+ export declare class RainComputationAbstract extends RaainNode {
7
+ static TYPE: string;
8
+ quality: number;
9
+ progressIngest: number;
10
+ progressComputing: number;
11
+ timeSpentInMs: number;
12
+ periodBegin: Date;
13
+ periodEnd: Date;
14
+ isReady: boolean;
15
+ isDoneDate: Date;
16
+ launchedBy: string;
17
+ name: string;
18
+ constructor(idOrObjectToCopy: string | {
19
+ id?: string;
20
+ periodBegin?: Date;
21
+ periodEnd?: Date;
22
+ links?: Link[] | RaainNode[];
23
+ quality?: number;
24
+ progressIngest?: number;
25
+ progressComputing?: number;
26
+ timeSpentInMs?: number;
27
+ isReady?: boolean;
28
+ isDoneDate?: Date;
29
+ launchedBy?: string;
30
+ version?: string;
31
+ rain?: RaainNode[];
32
+ radars?: Link[] | RaainNode[];
33
+ }, periodBegin?: Date, periodEnd?: Date, links?: Link[] | RaainNode[], quality?: number, progressIngest?: number, progressComputing?: number, timeSpentInMs?: number, isReady?: boolean, isDoneDate?: Date, launchedBy?: string, version?: string);
34
+ private static _getRadarLinks;
35
+ private static _getRadarMeasureLinks;
36
+ private static _getRainLink;
37
+ toJSON(): JSON;
38
+ addRadarLinks(linksToAdd: Link[] | RaainNode[]): void;
39
+ replaceRainLink(linksToAdd: Link | RaainNode | any): void;
40
+ addRadarMeasureLinks(linksToAdd: Link[] | any[]): void;
41
+ protected getLinkType(): string;
42
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputationAbstract = void 0;
4
+ const RaainNode_1 = require("../organizations/RaainNode");
5
+ const Link_1 = require("../organizations/Link");
6
+ const RadarNode_1 = require("../radars/RadarNode");
7
+ const RainNode_1 = require("./RainNode");
8
+ const RadarMeasure_1 = require("../radars/RadarMeasure");
9
+ /**
10
+ * not used directly
11
+ */
12
+ class RainComputationAbstract extends RaainNode_1.RaainNode {
13
+ constructor(
14
+ // public values: IPolarMeasureValue[] | ICartesianMeasureValue[] | number[];
15
+ idOrObjectToCopy, periodBegin, periodEnd, links, quality, progressIngest, progressComputing, timeSpentInMs, isReady, isDoneDate, launchedBy, version) {
16
+ super(idOrObjectToCopy, links, version);
17
+ if (typeof idOrObjectToCopy !== 'string') {
18
+ this.periodBegin = new Date(idOrObjectToCopy.periodBegin);
19
+ this.periodEnd = new Date(idOrObjectToCopy.periodEnd);
20
+ this.quality = idOrObjectToCopy.quality;
21
+ this.progressIngest = idOrObjectToCopy.progressIngest;
22
+ this.progressComputing = idOrObjectToCopy.progressComputing;
23
+ this.timeSpentInMs = idOrObjectToCopy.timeSpentInMs;
24
+ this.isReady = idOrObjectToCopy.isReady;
25
+ this.isDoneDate = idOrObjectToCopy.isDoneDate ? new Date(idOrObjectToCopy.isDoneDate) : undefined;
26
+ this.launchedBy = idOrObjectToCopy.launchedBy;
27
+ this.replaceRainLink(idOrObjectToCopy.links);
28
+ this.replaceRainLink(idOrObjectToCopy.rain);
29
+ this.addRadarLinks(idOrObjectToCopy.links);
30
+ this.addRadarLinks(idOrObjectToCopy.radars);
31
+ return;
32
+ }
33
+ this.periodBegin = new Date(periodBegin);
34
+ this.periodEnd = new Date(periodEnd);
35
+ this.quality = quality;
36
+ this.progressIngest = progressIngest;
37
+ this.progressComputing = progressComputing;
38
+ this.timeSpentInMs = timeSpentInMs;
39
+ this.isReady = isReady;
40
+ this.isDoneDate = isDoneDate ? new Date(isDoneDate) : undefined;
41
+ this.launchedBy = launchedBy;
42
+ this.replaceRainLink(links);
43
+ this.addRadarLinks(links);
44
+ }
45
+ static _getRadarLinks(linksToPurify) {
46
+ if (!linksToPurify || linksToPurify.length === 0) {
47
+ return [];
48
+ }
49
+ return linksToPurify.map(l => {
50
+ if (l instanceof Link_1.Link) {
51
+ return l;
52
+ }
53
+ else if (l && l._id) {
54
+ return new RadarNode_1.RadarNode(l._id.toString());
55
+ }
56
+ else if (l && l.id) {
57
+ return new RadarNode_1.RadarNode(l.id.toString()); // 'hex'
58
+ }
59
+ });
60
+ }
61
+ static _getRadarMeasureLinks(linksToPurify) {
62
+ if (!linksToPurify || linksToPurify.length === 0) {
63
+ return [];
64
+ }
65
+ return linksToPurify.map(l => {
66
+ if (l instanceof Link_1.Link) {
67
+ return l;
68
+ }
69
+ else if (l && l._id) {
70
+ return new RadarMeasure_1.RadarMeasure(l._id.toString());
71
+ }
72
+ else if (l && l.id) {
73
+ return new RadarMeasure_1.RadarMeasure(l.id.toString()); // 'hex'
74
+ }
75
+ });
76
+ }
77
+ static _getRainLink(linkToPurify) {
78
+ if (!linkToPurify || !linkToPurify.id) {
79
+ return null;
80
+ }
81
+ return new RainNode_1.RainNode(linkToPurify.id.toString()); // 'hex'
82
+ }
83
+ toJSON() {
84
+ var _a;
85
+ const json = super.toJSON();
86
+ json['periodBegin'] = this.periodBegin.toISOString();
87
+ json['periodEnd'] = this.periodEnd.toISOString();
88
+ json['quality'] = this.quality;
89
+ json['progressIngest'] = this.progressIngest;
90
+ json['progressComputing'] = this.progressComputing;
91
+ json['timeSpentInMs'] = this.timeSpentInMs;
92
+ json['isReady'] = this.isReady;
93
+ json['isDoneDate'] = (_a = this.isDoneDate) === null || _a === void 0 ? void 0 : _a.toISOString();
94
+ json['launchedBy'] = this.launchedBy;
95
+ json['name'] = this.name;
96
+ return json;
97
+ }
98
+ addRadarLinks(linksToAdd) {
99
+ this.addLinks(RainComputationAbstract._getRadarLinks(linksToAdd));
100
+ }
101
+ replaceRainLink(linksToAdd) {
102
+ this.addLinks([RainComputationAbstract._getRainLink(linksToAdd)]);
103
+ }
104
+ addRadarMeasureLinks(linksToAdd) {
105
+ this.addLinks(RainComputationAbstract._getRadarMeasureLinks(linksToAdd));
106
+ }
107
+ getLinkType() {
108
+ return RainComputationAbstract.TYPE;
109
+ }
110
+ }
111
+ RainComputationAbstract.TYPE = 'rain-computation';
112
+ exports.RainComputationAbstract = RainComputationAbstract;
113
+ //# sourceMappingURL=RainComputationAbstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputationAbstract.js","sourceRoot":"","sources":["../../src/rains/RainComputationAbstract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { RainComputationAbstract } from './RainComputationAbstract';
2
+ import { Link } from '../organizations/Link';
3
+ import { RainMeasure } from './RainMeasure';
4
+ import { RaainNode } from '../organizations/RaainNode';
5
+ /**
6
+ * api/rains/:id/computations/:computationId?format=map&...
7
+ * or with
8
+ * api/rains/:id/computations?format=map&begin=...
9
+ */
10
+ export declare class RainComputationMap extends RainComputationAbstract {
11
+ private map;
12
+ constructor(idOrObjectToCopy: RainComputationMap | string, periodBegin?: Date, periodEnd?: Date, links?: Link[] | RaainNode[], quality?: number, timeSpentInMs?: number, version?: string, map?: RainMeasure[] | string);
13
+ toJSON(): JSON;
14
+ setMapData(mapData: RainMeasure[] | string): void;
15
+ getMapData(): RainMeasure[];
16
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputationMap = void 0;
4
+ const RainComputationAbstract_1 = require("./RainComputationAbstract");
5
+ /**
6
+ * api/rains/:id/computations/:computationId?format=map&...
7
+ * or with
8
+ * api/rains/:id/computations?format=map&begin=...
9
+ */
10
+ class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstract {
11
+ constructor(idOrObjectToCopy, periodBegin, periodEnd, links, quality, timeSpentInMs, version, map) {
12
+ if (typeof idOrObjectToCopy !== 'string') {
13
+ super(idOrObjectToCopy.id, idOrObjectToCopy.periodBegin, idOrObjectToCopy.periodEnd, idOrObjectToCopy['links'], idOrObjectToCopy.quality, idOrObjectToCopy.progressIngest, idOrObjectToCopy.progressComputing, idOrObjectToCopy.timeSpentInMs, undefined, undefined, undefined, idOrObjectToCopy['version']);
14
+ this.setMapData(idOrObjectToCopy.map);
15
+ return;
16
+ }
17
+ super(idOrObjectToCopy, periodBegin, periodEnd, links, quality, undefined, undefined, timeSpentInMs, undefined, undefined, undefined, version);
18
+ this.setMapData(map);
19
+ }
20
+ toJSON() {
21
+ const json = super.toJSON();
22
+ if (this.map) {
23
+ json['map'] = this.map;
24
+ delete json['results'];
25
+ }
26
+ return json;
27
+ }
28
+ setMapData(mapData) {
29
+ if (!mapData) {
30
+ return;
31
+ }
32
+ let map = mapData;
33
+ try {
34
+ if (typeof (mapData) !== 'string') {
35
+ map = JSON.stringify(mapData);
36
+ }
37
+ }
38
+ catch (e) {
39
+ }
40
+ this.map = map.toString();
41
+ }
42
+ getMapData() {
43
+ if (!this.map) {
44
+ return [];
45
+ }
46
+ return JSON.parse(this.map);
47
+ }
48
+ }
49
+ exports.RainComputationMap = RainComputationMap;
50
+ //# sourceMappingURL=RainComputationMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputationMap.js","sourceRoot":"","sources":["../../src/rains/RainComputationMap.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAKlE;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,iDAAuB;IAI3D,YACI,gBAA6C,EAC7C,WAAkB,EAClB,SAAgB,EAChB,KAA4B,EAC5B,OAAgB,EAChB,aAAsB,EACtB,OAAgB,EAChB,GAA4B;QAE5B,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACtC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EACrB,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,OAAO,CAAC,EACzB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,cAAc,EAC/B,gBAAgB,CAAC,iBAAiB,EAClC,gBAAgB,CAAC,aAAa,EAC9B,SAAS,EAAE,SAAS,EAAE,SAAS,EAC/B,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YAEjC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO;SACV;QAED,KAAK,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAC/F,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAA+B;QAC7C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;SACV;QAED,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,IAAI;YACA,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE;gBAC/B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACjC;SACJ;QAAC,OAAO,CAAC,EAAE;SACX;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ;AAlED,gDAkEC"}
@@ -0,0 +1,24 @@
1
+ import { RainComputationAbstract } from './RainComputationAbstract';
2
+ import { Link } from '../organizations/Link';
3
+ import { RaainNode } from '../organizations/RaainNode';
4
+ /**
5
+ * api/rains/:id/computations?format=compare&begin=...&gauges=[...]
6
+ */
7
+ export declare class RainComputationQuality extends RainComputationAbstract {
8
+ maximums: {
9
+ rainMeasureValue: number;
10
+ gaugeMeasureValue: number;
11
+ };
12
+ qualitySpeedMatrixContainer: any;
13
+ constructor(idOrObjectToCopy: RainComputationQuality | string, periodBegin?: Date, periodEnd?: Date, links?: Link[] | RaainNode[], timeSpentInMs?: number, version?: string, qualitySpeedMatrixContainer?: any);
14
+ merge(rainComputationQuality: RainComputationQuality): void;
15
+ toJSON(arg?: any): JSON;
16
+ protected mergeStillComputed(v1: any, v2: any): any;
17
+ protected mergeDateMin(d1: Date, d2: Date): Date;
18
+ protected mergeDateMax(d1: Date, d2: Date): Date;
19
+ protected mergeAvg(v1: number, v2: number): number;
20
+ protected mergeMin(v1: number, v2: number): number;
21
+ protected mergeMax(v1: number, v2: number): number;
22
+ protected mergeSum(v1: number, v2: number): number;
23
+ protected mergeConcat(a1: Array<any>, a2: Array<any>): Array<any>;
24
+ }
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainComputationQuality = void 0;
4
+ const RainComputationAbstract_1 = require("./RainComputationAbstract");
5
+ /**
6
+ * api/rains/:id/computations?format=compare&begin=...&gauges=[...]
7
+ */
8
+ class RainComputationQuality extends RainComputationAbstract_1.RainComputationAbstract {
9
+ constructor(idOrObjectToCopy, periodBegin, periodEnd, links, timeSpentInMs, version, qualitySpeedMatrixContainer) {
10
+ if (typeof idOrObjectToCopy !== 'string') {
11
+ super(idOrObjectToCopy.id, idOrObjectToCopy.periodBegin, idOrObjectToCopy.periodEnd, idOrObjectToCopy['links'], undefined, idOrObjectToCopy.progressIngest, idOrObjectToCopy.progressComputing, idOrObjectToCopy.timeSpentInMs, undefined, undefined, undefined, idOrObjectToCopy['version']);
12
+ this.qualitySpeedMatrixContainer = idOrObjectToCopy.qualitySpeedMatrixContainer;
13
+ return;
14
+ }
15
+ super(idOrObjectToCopy, periodBegin, periodEnd, links, undefined, undefined, undefined, timeSpentInMs, undefined, undefined, undefined, version);
16
+ this.qualitySpeedMatrixContainer = qualitySpeedMatrixContainer;
17
+ }
18
+ merge(rainComputationQuality) {
19
+ this.periodBegin = this.mergeDateMin(this.periodBegin, rainComputationQuality.periodBegin);
20
+ this.periodEnd = this.mergeDateMax(this.periodEnd, rainComputationQuality.periodEnd);
21
+ this.quality = this.mergeAvg(this.quality, rainComputationQuality.quality);
22
+ this.progressIngest = this.mergeMin(this.progressIngest, rainComputationQuality.progressIngest);
23
+ this.progressComputing = this.mergeMin(this.progressComputing, rainComputationQuality.progressComputing);
24
+ this.timeSpentInMs = this.mergeSum(this.timeSpentInMs, rainComputationQuality.timeSpentInMs);
25
+ if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.merge) {
26
+ this.qualitySpeedMatrixContainer = this.qualitySpeedMatrixContainer.merge(rainComputationQuality.qualitySpeedMatrixContainer);
27
+ }
28
+ }
29
+ toJSON(arg) {
30
+ const json = super.toJSON();
31
+ if (this.qualitySpeedMatrixContainer && this.qualitySpeedMatrixContainer.toJSON) {
32
+ json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer.toJSON(arg);
33
+ }
34
+ else if (this.qualitySpeedMatrixContainer) {
35
+ json['qualitySpeedMatrixContainer'] = this.qualitySpeedMatrixContainer;
36
+ }
37
+ return json;
38
+ }
39
+ mergeStillComputed(v1, v2) {
40
+ if (!v1 && !v2) {
41
+ return undefined;
42
+ }
43
+ if (!v1) {
44
+ return v2;
45
+ }
46
+ if (!v2) {
47
+ return v1;
48
+ }
49
+ return null;
50
+ }
51
+ mergeDateMin(d1, d2) {
52
+ const stillComputed = this.mergeStillComputed(d1, d2);
53
+ if (stillComputed === null) {
54
+ return new Date(Math.min(new Date(d1).getTime(), new Date(d2).getTime()));
55
+ }
56
+ if (stillComputed !== undefined) {
57
+ return new Date(stillComputed);
58
+ }
59
+ return stillComputed;
60
+ }
61
+ mergeDateMax(d1, d2) {
62
+ const stillComputed = this.mergeStillComputed(d1, d2);
63
+ if (stillComputed === null) {
64
+ return new Date(Math.max(new Date(d1).getTime(), new Date(d2).getTime()));
65
+ }
66
+ if (stillComputed !== undefined) {
67
+ return new Date(stillComputed);
68
+ }
69
+ return stillComputed;
70
+ }
71
+ mergeAvg(v1, v2) {
72
+ const stillComputed = this.mergeStillComputed(v1, v2);
73
+ if (stillComputed === null) {
74
+ return (v1 + v2) / 2;
75
+ }
76
+ return stillComputed;
77
+ }
78
+ mergeMin(v1, v2) {
79
+ const stillComputed = this.mergeStillComputed(v1, v2);
80
+ if (stillComputed === null) {
81
+ return Math.min(v1, v2);
82
+ }
83
+ return stillComputed;
84
+ }
85
+ mergeMax(v1, v2) {
86
+ const stillComputed = this.mergeStillComputed(v1, v2);
87
+ if (stillComputed === null) {
88
+ return Math.max(v1, v2);
89
+ }
90
+ return stillComputed;
91
+ }
92
+ mergeSum(v1, v2) {
93
+ const stillComputed = this.mergeStillComputed(v1, v2);
94
+ if (stillComputed === null) {
95
+ return v1 + v2;
96
+ }
97
+ return stillComputed;
98
+ }
99
+ mergeConcat(a1, a2) {
100
+ const stillComputed = this.mergeStillComputed(a1, a2);
101
+ if (stillComputed === null) {
102
+ return a1.concat(a2);
103
+ }
104
+ return stillComputed;
105
+ }
106
+ }
107
+ exports.RainComputationQuality = RainComputationQuality;
108
+ //# sourceMappingURL=RainComputationQuality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainComputationQuality.js","sourceRoot":"","sources":["../../src/rains/RainComputationQuality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Measure } from '../organizations/Measure';
2
+ import { IPolarMeasureValue } from '../polars/IPolarMeasureValue';
3
+ import { ICartesianMeasureValue } from '../cartesians/ICartesianMeasureValue';
4
+ /**
5
+ * // not existing? api/rains/:id/measures/:id
6
+ * but coming from api/rains/:id/computations/:id?format=map => getMapData()
7
+ */
8
+ export declare class RainMeasure extends Measure {
9
+ static TYPE: string;
10
+ constructor(idOrObjectToCopy: any | string, date?: Date, values?: IPolarMeasureValue[] | ICartesianMeasureValue[] | Measure[] | number[], validity?: number);
11
+ protected getLinkType(): string;
12
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainMeasure = void 0;
4
+ const Measure_1 = require("../organizations/Measure");
5
+ const RainNode_1 = require("./RainNode");
6
+ /**
7
+ * // not existing? api/rains/:id/measures/:id
8
+ * but coming from api/rains/:id/computations/:id?format=map => getMapData()
9
+ */
10
+ class RainMeasure extends Measure_1.Measure {
11
+ constructor(idOrObjectToCopy, date, values, validity) {
12
+ super(idOrObjectToCopy, date, values, validity);
13
+ if (typeof (idOrObjectToCopy) === 'object') {
14
+ if (idOrObjectToCopy.rain) {
15
+ this.addLinks([new RainNode_1.RainNode(idOrObjectToCopy.rain)]);
16
+ }
17
+ }
18
+ }
19
+ getLinkType() {
20
+ return RainMeasure.TYPE;
21
+ }
22
+ }
23
+ RainMeasure.TYPE = 'rain-measure';
24
+ exports.RainMeasure = RainMeasure;
25
+ //# sourceMappingURL=RainMeasure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainMeasure.js","sourceRoot":"","sources":["../../src/rains/RainMeasure.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAGjD,yCAAoC;AAEpC;;;GAGG;AACH,MAAa,WAAY,SAAQ,iBAAO;IAIpC,YACI,gBAA8B,EAC9B,IAAW,EACX,MAA+E,EAC/E,QAAiB;QAEjB,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE;YACxC,IAAI,gBAAgB,CAAC,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,mBAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACxD;SACJ;IACL,CAAC;IAES,WAAW;QACjB,OAAO,WAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;;AAlBa,gBAAI,GAAG,cAAc,CAAC;AAF3B,kCAAW"}
@@ -1,20 +1,23 @@
1
- import { RaainNode } from './RaainNode';
2
- import { Link } from "./Link";
1
+ import { RaainNode } from '../organizations/RaainNode';
2
+ import { Link } from '../organizations/Link';
3
3
  /**
4
4
  * api/rains/:id
5
5
  */
6
6
  export declare class RainNode extends RaainNode {
7
+ static TYPE: string;
7
8
  name: string;
8
9
  status: number;
9
10
  quality: number;
10
11
  latitude: number;
11
12
  longitude: number;
12
13
  radius: number;
13
- constructor(idOrObjectToCopy: any | string, name?: string, links?: Link[] | any[], status?: number, quality?: number, latitude?: number, longitude?: number, radius?: number);
14
- toJSON(): Object;
15
- protected getLinkType(): string;
16
- addRadars(linksToAdd: Link[] | any[]): void;
17
- addCompletedComputations(linksToAdd: Link[] | any[]): void;
14
+ constructor(idOrObjectToCopy: any | string, name?: string, links?: Link[] | RaainNode[], status?: number, quality?: number, latitude?: number, longitude?: number, radius?: number, version?: string);
18
15
  private static _getRadarLinks;
19
16
  private static _getRainComputationLinks;
17
+ private static _getGaugeLinks;
18
+ toJSON(): JSON;
19
+ addRadars(linksToAdd: Link[] | any[]): void;
20
+ addCompletedComputations(linksToAdd: Link[] | any[]): void;
21
+ addGauges(linksToAdd: Link[] | any[]): void;
22
+ protected getLinkType(): string;
20
23
  }