@utiliread/primitives 1.0.0-147 → 1.0.0-148

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 (123) hide show
  1. package/dist/index.js +120 -25
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +120 -25
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/precision-number.d.ts +10 -0
  6. package/package.json +9 -6
  7. package/src/aggregate-id.ts +2 -9
  8. package/src/breakdown-rule.spec.ts +61 -61
  9. package/src/breakdown-rule.ts +58 -58
  10. package/src/csv.spec.ts +42 -42
  11. package/src/csv.ts +8 -9
  12. package/src/cursor-navigation-state.spec.ts +194 -194
  13. package/src/cursor-navigation-state.ts +168 -168
  14. package/src/index.ts +61 -61
  15. package/src/measure-id.ts +17 -17
  16. package/src/measures/duration.ts +11 -11
  17. package/src/measures/energy.ts +13 -13
  18. package/src/measures/humidity.ts +3 -3
  19. package/src/measures/infocode.ts +3 -3
  20. package/src/measures/mass-flow.ts +19 -19
  21. package/src/measures/mass.ts +10 -10
  22. package/src/measures/noise.ts +5 -5
  23. package/src/measures/power.ts +23 -23
  24. package/src/measures/pressure.ts +9 -9
  25. package/src/measures/reactive-energy.ts +7 -7
  26. package/src/measures/reactive-power.ts +3 -3
  27. package/src/measures/temperature.ts +9 -9
  28. package/src/measures/time.ts +3 -3
  29. package/src/measures/volume-flow.ts +25 -25
  30. package/src/measures/volume.ts +3 -3
  31. package/src/medium.spec.ts +12 -12
  32. package/src/medium.ts +47 -47
  33. package/src/number-formatter.spec.ts +570 -570
  34. package/src/number-formatter.ts +126 -126
  35. package/src/optional.ts +1 -1
  36. package/src/precision-number.spec.ts +382 -382
  37. package/src/precision-number.ts +229 -229
  38. package/src/register-convention.spec.ts +52 -52
  39. package/src/register-convention.ts +70 -70
  40. package/src/register-definition.ts +23 -23
  41. package/src/register-id.ts +288 -288
  42. package/src/register-library.spec.ts +41 -41
  43. package/src/register-library.ts +64 -64
  44. package/src/register-pack.ts +5 -5
  45. package/src/register-utils.ts +6 -6
  46. package/src/registers/acoustic-noise.ts +52 -52
  47. package/src/registers/ambient-temperature.ts +52 -52
  48. package/src/registers/axioma-infocode.ts +16 -16
  49. package/src/registers/consumer.ts +17 -17
  50. package/src/registers/cooling-energy-inlet.ts +23 -23
  51. package/src/registers/cooling-energy-outlet.ts +23 -23
  52. package/src/registers/cooling-energy.ts +23 -23
  53. package/src/registers/cooling.ts +113 -113
  54. package/src/registers/device-addresses-kamdraft.ts +14 -14
  55. package/src/registers/device-addresses-msisdn.ts +14 -14
  56. package/src/registers/device-addresses-tchlr.ts +14 -14
  57. package/src/registers/device-addresses-wmbus.ts +17 -17
  58. package/src/registers/device-date-time.ts +9 -9
  59. package/src/registers/device-date.ts +9 -9
  60. package/src/registers/device-nominal-diameter.ts +9 -9
  61. package/src/registers/device-permanent-volume-flow.ts +9 -9
  62. package/src/registers/device-registers.ts +9 -9
  63. package/src/registers/device-samples.ts +37 -37
  64. package/src/registers/device-software-version.ts +8 -8
  65. package/src/registers/device-time.ts +9 -9
  66. package/src/registers/device.ts +16 -16
  67. package/src/registers/diehl-infocode.ts +44 -44
  68. package/src/registers/electrical-energy.ts +23 -23
  69. package/src/registers/energy-inlet.ts +23 -23
  70. package/src/registers/energy-outlet.ts +23 -23
  71. package/src/registers/error-operating-time.ts +23 -23
  72. package/src/registers/flow-temperature-aux.ts +52 -52
  73. package/src/registers/flow-temperature-inlet.ts +52 -52
  74. package/src/registers/flow-temperature-outlet.ts +52 -52
  75. package/src/registers/flow-temperature.ts +52 -52
  76. package/src/registers/heat-energy-inlet.ts +65 -65
  77. package/src/registers/heat-energy-outlet.ts +65 -65
  78. package/src/registers/heat-energy.ts +65 -65
  79. package/src/registers/index.ts +71 -71
  80. package/src/registers/infocode.ts +70 -70
  81. package/src/registers/kamstrup-module-type.ts +8 -8
  82. package/src/registers/kamstrup-multical-infocode.ts +58 -58
  83. package/src/registers/landis-gyr-infocode.ts +23 -23
  84. package/src/registers/landis-gyr-mbus-status.ts +23 -23
  85. package/src/registers/mass-flow-inlet.ts +52 -52
  86. package/src/registers/mass-flow-outlet.ts +52 -52
  87. package/src/registers/mass-flow.ts +52 -52
  88. package/src/registers/mass-inlet.ts +23 -23
  89. package/src/registers/mass-outlet.ts +23 -23
  90. package/src/registers/mass.ts +23 -23
  91. package/src/registers/mbus-format-string-signature.ts +8 -8
  92. package/src/registers/none.ts +8 -8
  93. package/src/registers/operating-time.ts +23 -23
  94. package/src/registers/place.ts +31 -31
  95. package/src/registers/power-inlet.ts +52 -52
  96. package/src/registers/power-outlet.ts +52 -52
  97. package/src/registers/power.ts +52 -52
  98. package/src/registers/pressure-inlet.ts +52 -52
  99. package/src/registers/pressure-outlet.ts +52 -52
  100. package/src/registers/pressure.ts +52 -52
  101. package/src/registers/radiator-temperature.ts +52 -52
  102. package/src/registers/reactive-energy.ts +23 -23
  103. package/src/registers/relative-humidity.ts +8 -8
  104. package/src/registers/remaining-battery-time.ts +23 -23
  105. package/src/registers/time-last-exact-overhearing-arrived.ts +19 -19
  106. package/src/registers/time-last-installation-mounted.ts +19 -19
  107. package/src/registers/time-last-possible-candidate-overhearing-arrived.ts +21 -21
  108. package/src/registers/time-last-sampled.ts +19 -19
  109. package/src/registers/time.ts +45 -45
  110. package/src/registers/volume-flow-inlet.ts +52 -52
  111. package/src/registers/volume-flow-outlet.ts +52 -52
  112. package/src/registers/volume-flow.ts +52 -52
  113. package/src/registers/volume-inlet.ts +23 -23
  114. package/src/registers/volume-outlet.ts +23 -23
  115. package/src/registers/volume-pulse-input-a.ts +23 -23
  116. package/src/registers/volume-pulse-input-b.ts +23 -23
  117. package/src/registers/volume.ts +23 -23
  118. package/src/repository.spec.ts +30 -30
  119. package/src/repository.ts +26 -26
  120. package/src/step.spec.ts +37 -37
  121. package/src/step.ts +45 -45
  122. package/src/time-or-rule.ts +42 -42
  123. package/src/unit-id.ts +108 -108
@@ -1,70 +1,70 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/infocode";
3
-
4
- export const infocode: RegisterDefinition = {
5
- id: "infocode",
6
- measure: "none",
7
- aggregate: "instant",
8
- units,
9
- };
10
-
11
- export type Infocode<TEvent = AnyEvent> = InfocodeEntry<TEvent>[];
12
-
13
- export type InfocodeEntry<TEvent = AnyEvent> = {
14
- logLevel: "debug" | "information" | "warning" | "error" | "critical";
15
- event: TEvent;
16
- isActive: boolean;
17
- isHistoric: boolean;
18
- isContinuous: boolean;
19
- message: string;
20
- args: { [key: string]: string | number };
21
- };
22
-
23
- export type AnyEvent = HeatMeterEvent | WaterMeterEvent;
24
-
25
- export type HeatMeterEvent =
26
- | "unknownEvent"
27
- | "message"
28
- | "noConsumption"
29
- | "air"
30
- | "contamination"
31
- | "leak"
32
- | "burst"
33
- | "reverse"
34
- | "undersized"
35
- | "batteryLow"
36
- | "batteryExhausted"
37
- | "supplyCutoff"
38
- | "tamper"
39
- | "communicationError"
40
- | "measurementInterruption"
41
- | "flowMeasurementError"
42
- | "temperatureMeasurementError"
43
- | "negativePower"
44
- | "negativeTemperatureDifference"
45
- | "internalError"
46
- | "externalError";
47
-
48
- export type WaterMeterEvent =
49
- | "unknownEvent"
50
- | "message"
51
- | "noConsumption"
52
- | "air"
53
- | "contamination"
54
- | "leak"
55
- | "burst"
56
- | "submerged"
57
- | "reverse"
58
- | "undersized"
59
- | "lowTemperature"
60
- | "highTemperature"
61
- | "batteryLow"
62
- | "batteryExhausted"
63
- | "supplyCutoff"
64
- | "tamper"
65
- | "communicationError"
66
- | "measurementInterruption"
67
- | "flowMeasurementError"
68
- | "temperatureMeasurementError"
69
- | "internalError"
70
- | "externalError";
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/infocode";
3
+
4
+ export const infocode: RegisterDefinition = {
5
+ id: "infocode",
6
+ measure: "none",
7
+ aggregate: "instant",
8
+ units,
9
+ };
10
+
11
+ export type Infocode<TEvent = AnyEvent> = InfocodeEntry<TEvent>[];
12
+
13
+ export type InfocodeEntry<TEvent = AnyEvent> = {
14
+ logLevel: "debug" | "information" | "warning" | "error" | "critical";
15
+ event: TEvent;
16
+ isActive: boolean;
17
+ isHistoric: boolean;
18
+ isContinuous: boolean;
19
+ message: string;
20
+ args: { [key: string]: string | number };
21
+ };
22
+
23
+ export type AnyEvent = HeatMeterEvent | WaterMeterEvent;
24
+
25
+ export type HeatMeterEvent =
26
+ | "unknownEvent"
27
+ | "message"
28
+ | "noConsumption"
29
+ | "air"
30
+ | "contamination"
31
+ | "leak"
32
+ | "burst"
33
+ | "reverse"
34
+ | "undersized"
35
+ | "batteryLow"
36
+ | "batteryExhausted"
37
+ | "supplyCutoff"
38
+ | "tamper"
39
+ | "communicationError"
40
+ | "measurementInterruption"
41
+ | "flowMeasurementError"
42
+ | "temperatureMeasurementError"
43
+ | "negativePower"
44
+ | "negativeTemperatureDifference"
45
+ | "internalError"
46
+ | "externalError";
47
+
48
+ export type WaterMeterEvent =
49
+ | "unknownEvent"
50
+ | "message"
51
+ | "noConsumption"
52
+ | "air"
53
+ | "contamination"
54
+ | "leak"
55
+ | "burst"
56
+ | "submerged"
57
+ | "reverse"
58
+ | "undersized"
59
+ | "lowTemperature"
60
+ | "highTemperature"
61
+ | "batteryLow"
62
+ | "batteryExhausted"
63
+ | "supplyCutoff"
64
+ | "tamper"
65
+ | "communicationError"
66
+ | "measurementInterruption"
67
+ | "flowMeasurementError"
68
+ | "temperatureMeasurementError"
69
+ | "internalError"
70
+ | "externalError";
@@ -1,8 +1,8 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
-
3
- export const kamstrupModuleType: RegisterDefinition = {
4
- id: "kamstrupModuleType",
5
- measure: "none",
6
- aggregate: "instant",
7
- units: ["unitless"],
8
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+
3
+ export const kamstrupModuleType: RegisterDefinition = {
4
+ id: "kamstrupModuleType",
5
+ measure: "none",
6
+ aggregate: "instant",
7
+ units: ["unitless"],
8
+ };
@@ -1,58 +1,58 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/infocode";
3
-
4
- export const kamstrupMulticalInfocode: RegisterDefinition = {
5
- id: "kamstrupMulticalInfocode",
6
- measure: "none",
7
- aggregate: "instant",
8
- units,
9
- };
10
-
11
- export const kamstrupMulticalInfocodeType1: RegisterDefinition = {
12
- id: "kamstrupMulticalInfocodeType1",
13
- measure: "none",
14
- aggregate: "instant",
15
- units,
16
- };
17
-
18
- export const kamstrupMulticalInfocodeType2: RegisterDefinition = {
19
- id: "kamstrupMulticalInfocodeType2",
20
- measure: "none",
21
- aggregate: "instant",
22
- units,
23
- };
24
-
25
- export const kamstrupMulticalInfocodeType3: RegisterDefinition = {
26
- id: "kamstrupMulticalInfocodeType3",
27
- measure: "none",
28
- aggregate: "instant",
29
- units,
30
- };
31
-
32
- export const kamstrupMulticalInfocodeType4: RegisterDefinition = {
33
- id: "kamstrupMulticalInfocodeType4",
34
- measure: "none",
35
- aggregate: "instant",
36
- units,
37
- };
38
-
39
- export const kamstrupMulticalInfocodeType5: RegisterDefinition = {
40
- id: "kamstrupMulticalInfocodeType5",
41
- measure: "none",
42
- aggregate: "instant",
43
- units,
44
- };
45
-
46
- export const kamstrupMulticalInfocodeType6: RegisterDefinition = {
47
- id: "kamstrupMulticalInfocodeType6",
48
- measure: "none",
49
- aggregate: "instant",
50
- units,
51
- };
52
-
53
- export const kamstrupMulticalInfocodeType7: RegisterDefinition = {
54
- id: "kamstrupMulticalInfocodeType7",
55
- measure: "none",
56
- aggregate: "instant",
57
- units,
58
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/infocode";
3
+
4
+ export const kamstrupMulticalInfocode: RegisterDefinition = {
5
+ id: "kamstrupMulticalInfocode",
6
+ measure: "none",
7
+ aggregate: "instant",
8
+ units,
9
+ };
10
+
11
+ export const kamstrupMulticalInfocodeType1: RegisterDefinition = {
12
+ id: "kamstrupMulticalInfocodeType1",
13
+ measure: "none",
14
+ aggregate: "instant",
15
+ units,
16
+ };
17
+
18
+ export const kamstrupMulticalInfocodeType2: RegisterDefinition = {
19
+ id: "kamstrupMulticalInfocodeType2",
20
+ measure: "none",
21
+ aggregate: "instant",
22
+ units,
23
+ };
24
+
25
+ export const kamstrupMulticalInfocodeType3: RegisterDefinition = {
26
+ id: "kamstrupMulticalInfocodeType3",
27
+ measure: "none",
28
+ aggregate: "instant",
29
+ units,
30
+ };
31
+
32
+ export const kamstrupMulticalInfocodeType4: RegisterDefinition = {
33
+ id: "kamstrupMulticalInfocodeType4",
34
+ measure: "none",
35
+ aggregate: "instant",
36
+ units,
37
+ };
38
+
39
+ export const kamstrupMulticalInfocodeType5: RegisterDefinition = {
40
+ id: "kamstrupMulticalInfocodeType5",
41
+ measure: "none",
42
+ aggregate: "instant",
43
+ units,
44
+ };
45
+
46
+ export const kamstrupMulticalInfocodeType6: RegisterDefinition = {
47
+ id: "kamstrupMulticalInfocodeType6",
48
+ measure: "none",
49
+ aggregate: "instant",
50
+ units,
51
+ };
52
+
53
+ export const kamstrupMulticalInfocodeType7: RegisterDefinition = {
54
+ id: "kamstrupMulticalInfocodeType7",
55
+ measure: "none",
56
+ aggregate: "instant",
57
+ units,
58
+ };
@@ -1,23 +1,23 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/infocode";
3
-
4
- export const landisGyrInfocode: RegisterDefinition = {
5
- id: "landisGyrInfocode",
6
- measure: "none",
7
- aggregate: "instant",
8
- units,
9
- };
10
-
11
- export const landisGyrInfocodeType1: RegisterDefinition = {
12
- id: "landisGyrInfocodeType1",
13
- measure: "none",
14
- aggregate: "instant",
15
- units,
16
- };
17
-
18
- export const landisGyrInfocodeType2: RegisterDefinition = {
19
- id: "landisGyrInfocodeType2",
20
- measure: "none",
21
- aggregate: "instant",
22
- units,
23
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/infocode";
3
+
4
+ export const landisGyrInfocode: RegisterDefinition = {
5
+ id: "landisGyrInfocode",
6
+ measure: "none",
7
+ aggregate: "instant",
8
+ units,
9
+ };
10
+
11
+ export const landisGyrInfocodeType1: RegisterDefinition = {
12
+ id: "landisGyrInfocodeType1",
13
+ measure: "none",
14
+ aggregate: "instant",
15
+ units,
16
+ };
17
+
18
+ export const landisGyrInfocodeType2: RegisterDefinition = {
19
+ id: "landisGyrInfocodeType2",
20
+ measure: "none",
21
+ aggregate: "instant",
22
+ units,
23
+ };
@@ -1,23 +1,23 @@
1
- import type { RegisterDefinition } from "../register-definition";
2
- import { units } from "../measures/infocode";
3
-
4
- export const landisGyrMBusStatus: RegisterDefinition = {
5
- id: "landisGyrMBusStatus",
6
- measure: "none",
7
- aggregate: "instant",
8
- units,
9
- };
10
-
11
- export const landisGyrMBusStatusType1: RegisterDefinition = {
12
- id: "landisGyrMBusStatusType1",
13
- measure: "none",
14
- aggregate: "instant",
15
- units,
16
- };
17
-
18
- export const landisGyrMBusStatusType2: RegisterDefinition = {
19
- id: "landisGyrMBusStatusType2",
20
- measure: "none",
21
- aggregate: "instant",
22
- units,
23
- };
1
+ import type { RegisterDefinition } from "../register-definition";
2
+ import { units } from "../measures/infocode";
3
+
4
+ export const landisGyrMBusStatus: RegisterDefinition = {
5
+ id: "landisGyrMBusStatus",
6
+ measure: "none",
7
+ aggregate: "instant",
8
+ units,
9
+ };
10
+
11
+ export const landisGyrMBusStatusType1: RegisterDefinition = {
12
+ id: "landisGyrMBusStatusType1",
13
+ measure: "none",
14
+ aggregate: "instant",
15
+ units,
16
+ };
17
+
18
+ export const landisGyrMBusStatusType2: RegisterDefinition = {
19
+ id: "landisGyrMBusStatusType2",
20
+ measure: "none",
21
+ aggregate: "instant",
22
+ units,
23
+ };
@@ -1,52 +1,52 @@
1
- import { sqUnits, units } from "../measures/mass-flow";
2
-
3
- import type { RegisterDefinition } from "../register-definition";
4
-
5
- export const inletMassFlow: RegisterDefinition = {
6
- id: "inletMassFlow",
7
- measure: "massFlow",
8
- aggregate: "instant",
9
- units,
10
- };
11
-
12
- export const minInletMassFlow: RegisterDefinition = {
13
- id: "minInletMassFlow",
14
- measure: "massFlow",
15
- aggregate: "min",
16
- units,
17
- };
18
-
19
- export const maxInletMassFlow: RegisterDefinition = {
20
- id: "maxInletMassFlow",
21
- measure: "massFlow",
22
- aggregate: "max",
23
- units,
24
- };
25
-
26
- export const avgInletMassFlow: RegisterDefinition = {
27
- id: "avgInletMassFlow",
28
- measure: "massFlow",
29
- aggregate: "avg",
30
- units,
31
- };
32
-
33
- export const sumInletMassFlow: RegisterDefinition = {
34
- id: "sumInletMassFlow",
35
- measure: "massFlow",
36
- aggregate: "sum",
37
- units,
38
- };
39
-
40
- export const cntInletMassFlow: RegisterDefinition = {
41
- id: "cntInletMassFlow",
42
- measure: "massFlow",
43
- aggregate: "cnt",
44
- units: ["unitless"],
45
- };
46
-
47
- export const ssqInletMassFlow: RegisterDefinition = {
48
- id: "ssqInletMassFlow",
49
- measure: "massFlow",
50
- aggregate: "ssq",
51
- units: sqUnits,
52
- };
1
+ import { sqUnits, units } from "../measures/mass-flow";
2
+
3
+ import type { RegisterDefinition } from "../register-definition";
4
+
5
+ export const inletMassFlow: RegisterDefinition = {
6
+ id: "inletMassFlow",
7
+ measure: "massFlow",
8
+ aggregate: "instant",
9
+ units,
10
+ };
11
+
12
+ export const minInletMassFlow: RegisterDefinition = {
13
+ id: "minInletMassFlow",
14
+ measure: "massFlow",
15
+ aggregate: "min",
16
+ units,
17
+ };
18
+
19
+ export const maxInletMassFlow: RegisterDefinition = {
20
+ id: "maxInletMassFlow",
21
+ measure: "massFlow",
22
+ aggregate: "max",
23
+ units,
24
+ };
25
+
26
+ export const avgInletMassFlow: RegisterDefinition = {
27
+ id: "avgInletMassFlow",
28
+ measure: "massFlow",
29
+ aggregate: "avg",
30
+ units,
31
+ };
32
+
33
+ export const sumInletMassFlow: RegisterDefinition = {
34
+ id: "sumInletMassFlow",
35
+ measure: "massFlow",
36
+ aggregate: "sum",
37
+ units,
38
+ };
39
+
40
+ export const cntInletMassFlow: RegisterDefinition = {
41
+ id: "cntInletMassFlow",
42
+ measure: "massFlow",
43
+ aggregate: "cnt",
44
+ units: ["unitless"],
45
+ };
46
+
47
+ export const ssqInletMassFlow: RegisterDefinition = {
48
+ id: "ssqInletMassFlow",
49
+ measure: "massFlow",
50
+ aggregate: "ssq",
51
+ units: sqUnits,
52
+ };
@@ -1,52 +1,52 @@
1
- import { sqUnits, units } from "../measures/mass-flow";
2
-
3
- import type { RegisterDefinition } from "../register-definition";
4
-
5
- export const outletMassFlow: RegisterDefinition = {
6
- id: "outletMassFlow",
7
- measure: "massFlow",
8
- aggregate: "instant",
9
- units,
10
- };
11
-
12
- export const minOutletMassFlow: RegisterDefinition = {
13
- id: "minOutletMassFlow",
14
- measure: "massFlow",
15
- aggregate: "min",
16
- units,
17
- };
18
-
19
- export const maxOutletMassFlow: RegisterDefinition = {
20
- id: "maxOutletMassFlow",
21
- measure: "massFlow",
22
- aggregate: "max",
23
- units,
24
- };
25
-
26
- export const avgOutletMassFlow: RegisterDefinition = {
27
- id: "avgOutletMassFlow",
28
- measure: "massFlow",
29
- aggregate: "avg",
30
- units,
31
- };
32
-
33
- export const sumOutletMassFlow: RegisterDefinition = {
34
- id: "sumOutletMassFlow",
35
- measure: "massFlow",
36
- aggregate: "sum",
37
- units,
38
- };
39
-
40
- export const cntOutletMassFlow: RegisterDefinition = {
41
- id: "cntOutletMassFlow",
42
- measure: "massFlow",
43
- aggregate: "cnt",
44
- units: ["unitless"],
45
- };
46
-
47
- export const ssqOutletMassFlow: RegisterDefinition = {
48
- id: "ssqOutletMassFlow",
49
- measure: "massFlow",
50
- aggregate: "ssq",
51
- units: sqUnits,
52
- };
1
+ import { sqUnits, units } from "../measures/mass-flow";
2
+
3
+ import type { RegisterDefinition } from "../register-definition";
4
+
5
+ export const outletMassFlow: RegisterDefinition = {
6
+ id: "outletMassFlow",
7
+ measure: "massFlow",
8
+ aggregate: "instant",
9
+ units,
10
+ };
11
+
12
+ export const minOutletMassFlow: RegisterDefinition = {
13
+ id: "minOutletMassFlow",
14
+ measure: "massFlow",
15
+ aggregate: "min",
16
+ units,
17
+ };
18
+
19
+ export const maxOutletMassFlow: RegisterDefinition = {
20
+ id: "maxOutletMassFlow",
21
+ measure: "massFlow",
22
+ aggregate: "max",
23
+ units,
24
+ };
25
+
26
+ export const avgOutletMassFlow: RegisterDefinition = {
27
+ id: "avgOutletMassFlow",
28
+ measure: "massFlow",
29
+ aggregate: "avg",
30
+ units,
31
+ };
32
+
33
+ export const sumOutletMassFlow: RegisterDefinition = {
34
+ id: "sumOutletMassFlow",
35
+ measure: "massFlow",
36
+ aggregate: "sum",
37
+ units,
38
+ };
39
+
40
+ export const cntOutletMassFlow: RegisterDefinition = {
41
+ id: "cntOutletMassFlow",
42
+ measure: "massFlow",
43
+ aggregate: "cnt",
44
+ units: ["unitless"],
45
+ };
46
+
47
+ export const ssqOutletMassFlow: RegisterDefinition = {
48
+ id: "ssqOutletMassFlow",
49
+ measure: "massFlow",
50
+ aggregate: "ssq",
51
+ units: sqUnits,
52
+ };