@utiliread/primitives 1.0.0-53 → 1.0.0-56

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 (132) hide show
  1. package/dist/cjs/aggregate-id.js +3 -0
  2. package/dist/cjs/aggregate-id.js.map +1 -0
  3. package/dist/cjs/consumption-type-id.js +3 -0
  4. package/dist/cjs/consumption-type-id.js.map +1 -0
  5. package/dist/cjs/index.js +22 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/measure-id.js +3 -0
  8. package/dist/cjs/measure-id.js.map +1 -0
  9. package/dist/cjs/number-formatter.js +78 -0
  10. package/dist/cjs/number-formatter.js.map +1 -0
  11. package/dist/cjs/number-formatter.spec.js +94 -0
  12. package/dist/cjs/number-formatter.spec.js.map +1 -0
  13. package/dist/cjs/optional.js +3 -0
  14. package/dist/cjs/optional.js.map +1 -0
  15. package/dist/cjs/precision-number.js +36 -0
  16. package/dist/cjs/precision-number.js.map +1 -0
  17. package/dist/cjs/precision-number.spec.js +27 -0
  18. package/dist/cjs/precision-number.spec.js.map +1 -0
  19. package/dist/cjs/register-convention.js +56 -0
  20. package/dist/cjs/register-convention.js.map +1 -0
  21. package/dist/cjs/register-convention.spec.js +39 -0
  22. package/dist/cjs/register-convention.spec.js.map +1 -0
  23. package/dist/cjs/register-definition.js +3 -0
  24. package/dist/cjs/register-definition.js.map +1 -0
  25. package/dist/cjs/register-id.js +3 -0
  26. package/dist/cjs/register-id.js.map +1 -0
  27. package/dist/cjs/register-library.js +51 -0
  28. package/dist/cjs/register-library.js.map +1 -0
  29. package/dist/cjs/register-library.spec.js +37 -0
  30. package/dist/cjs/register-library.spec.js.map +1 -0
  31. package/dist/cjs/register-pack.js +3 -0
  32. package/dist/cjs/register-pack.js.map +1 -0
  33. package/dist/cjs/register-utils.js +8 -0
  34. package/dist/cjs/register-utils.js.map +1 -0
  35. package/dist/cjs/repository.js +26 -0
  36. package/dist/cjs/repository.js.map +1 -0
  37. package/dist/cjs/repository.spec.js +21 -0
  38. package/dist/cjs/repository.spec.js.map +1 -0
  39. package/dist/cjs/step.js +41 -0
  40. package/dist/cjs/step.js.map +1 -0
  41. package/dist/cjs/step.spec.js +29 -0
  42. package/dist/cjs/step.spec.js.map +1 -0
  43. package/dist/cjs/time-or-rule.js +19 -0
  44. package/dist/cjs/time-or-rule.js.map +1 -0
  45. package/dist/cjs/unit-id.js +14 -0
  46. package/dist/cjs/unit-id.js.map +1 -0
  47. package/dist/esm/aggregate-id.d.ts +1 -0
  48. package/dist/esm/aggregate-id.js +2 -0
  49. package/dist/esm/aggregate-id.js.map +1 -0
  50. package/dist/esm/consumption-type-id.d.ts +1 -0
  51. package/dist/esm/consumption-type-id.js +2 -0
  52. package/dist/esm/consumption-type-id.js.map +1 -0
  53. package/dist/esm/index.d.ts +16 -0
  54. package/dist/esm/index.js +10 -0
  55. package/dist/esm/index.js.map +1 -0
  56. package/dist/esm/measure-id.d.ts +1 -0
  57. package/dist/esm/measure-id.js +2 -0
  58. package/dist/esm/measure-id.js.map +1 -0
  59. package/dist/esm/number-formatter.d.ts +17 -0
  60. package/dist/esm/number-formatter.js +75 -0
  61. package/dist/esm/number-formatter.js.map +1 -0
  62. package/dist/esm/number-formatter.spec.d.ts +1 -0
  63. package/dist/esm/number-formatter.spec.js +92 -0
  64. package/dist/esm/number-formatter.spec.js.map +1 -0
  65. package/dist/esm/optional.d.ts +1 -0
  66. package/dist/esm/optional.js +2 -0
  67. package/dist/esm/optional.js.map +1 -0
  68. package/dist/esm/precision-number.d.ts +11 -0
  69. package/dist/esm/precision-number.js +32 -0
  70. package/dist/esm/precision-number.js.map +1 -0
  71. package/dist/esm/precision-number.spec.d.ts +1 -0
  72. package/dist/esm/precision-number.spec.js +25 -0
  73. package/dist/esm/precision-number.spec.js.map +1 -0
  74. package/dist/esm/register-convention.d.ts +14 -0
  75. package/dist/esm/register-convention.js +52 -0
  76. package/dist/esm/register-convention.js.map +1 -0
  77. package/dist/esm/register-convention.spec.d.ts +1 -0
  78. package/dist/esm/register-convention.spec.js +37 -0
  79. package/dist/esm/register-convention.spec.js.map +1 -0
  80. package/dist/esm/register-definition.d.ts +13 -0
  81. package/dist/esm/register-definition.js +2 -0
  82. package/dist/esm/register-definition.js.map +1 -0
  83. package/dist/esm/register-id.d.ts +1 -0
  84. package/dist/esm/register-id.js +2 -0
  85. package/dist/esm/register-id.js.map +1 -0
  86. package/dist/esm/register-library.d.ts +15 -0
  87. package/dist/esm/register-library.js +48 -0
  88. package/dist/esm/register-library.js.map +1 -0
  89. package/dist/esm/register-library.spec.d.ts +1 -0
  90. package/dist/esm/register-library.spec.js +35 -0
  91. package/dist/esm/register-library.spec.js.map +1 -0
  92. package/dist/esm/register-pack.d.ts +4 -0
  93. package/dist/esm/register-pack.js +2 -0
  94. package/dist/esm/register-pack.js.map +1 -0
  95. package/dist/esm/register-utils.d.ts +3 -0
  96. package/dist/esm/register-utils.js +4 -0
  97. package/dist/esm/register-utils.js.map +1 -0
  98. package/dist/esm/repository.d.ts +9 -0
  99. package/dist/esm/repository.js +22 -0
  100. package/dist/esm/repository.js.map +1 -0
  101. package/dist/esm/repository.spec.d.ts +1 -0
  102. package/dist/esm/repository.spec.js +19 -0
  103. package/dist/esm/repository.spec.js.map +1 -0
  104. package/dist/esm/step.d.ts +15 -0
  105. package/dist/esm/step.js +38 -0
  106. package/dist/esm/step.js.map +1 -0
  107. package/dist/esm/step.spec.d.ts +1 -0
  108. package/dist/esm/step.spec.js +27 -0
  109. package/dist/esm/step.spec.js.map +1 -0
  110. package/dist/esm/time-or-rule.d.ts +7 -0
  111. package/dist/esm/time-or-rule.js +16 -0
  112. package/dist/esm/time-or-rule.js.map +1 -0
  113. package/dist/esm/unit-id.d.ts +2 -0
  114. package/dist/esm/unit-id.js +11 -0
  115. package/dist/esm/unit-id.js.map +1 -0
  116. package/karma.config.js +1 -1
  117. package/package.json +5 -9
  118. package/src/index.ts +35 -35
  119. package/src/register-id.ts +22 -6
  120. package/src/repository.ts +23 -23
  121. package/src/step.ts +37 -37
  122. package/src/time-or-rule.ts +17 -17
  123. package/tsconfig.cjs.json +8 -0
  124. package/tsconfig.json +6 -3
  125. package/dist/index.d.ts +0 -83
  126. package/dist/index.d.ts.map +0 -1
  127. package/dist/index.js +0 -273
  128. package/dist/index.js.map +0 -1
  129. package/dist/index.mjs +0 -260
  130. package/dist/index.mjs.map +0 -1
  131. package/src/repository-utils.ts +0 -10
  132. package/tsconfig.test.json +0 -7
@@ -1,6 +1,6 @@
1
1
  export type RegisterId =
2
2
  "none" |
3
-
3
+
4
4
  "heatEnergy" |
5
5
  "diffHeatEnergy" |
6
6
 
@@ -53,81 +53,97 @@ export type RegisterId =
53
53
  "maxPower" |
54
54
  "minPower" |
55
55
  "avgPower" |
56
+ "ssqPower" |
56
57
 
57
58
  "inletPower" |
58
59
  "maxInletPower" |
59
60
  "minInletPower" |
60
61
  "avgInletPower" |
62
+ "ssqInletPower" |
61
63
 
62
64
  "outletPower" |
63
65
  "maxOutletPower" |
64
66
  "minOutletPower" |
65
67
  "avgOutletPower" |
68
+ "ssqOutletPower" |
66
69
 
67
70
  "volumeFlow" |
68
71
  "maxVolumeFlow" |
69
72
  "minVolumeFlow" |
70
73
  "avgVolumeFlow" |
74
+ "ssqVolumeFlow" |
71
75
 
72
76
  "inletVolumeFlow" |
73
77
  "maxInletVolumeFlow" |
74
78
  "minInletVolumeFlow" |
75
79
  "avgInletVolumeFlow" |
80
+ "ssqInletVolumeFlow" |
76
81
 
77
82
  "outletVolumeFlow" |
78
83
  "maxOutletVolumeFlow" |
79
84
  "minOutletVolumeFlow" |
80
85
  "avgOutletVolumeFlow" |
86
+ "ssqOutletVolumeFlow" |
81
87
 
82
88
  "massFlow" |
83
89
  "maxMassFlow" |
84
90
  "minMassFlow" |
85
91
  "avgMassFlow" |
92
+ "ssqMassFlow" |
86
93
 
87
94
  "inletMassFlow" |
88
95
  "maxInletMassFlow" |
89
96
  "minInletMassFlow" |
90
97
  "avgInletMassFlow" |
98
+ "ssqInletMassFlow" |
91
99
 
92
100
  "outletMassFlow" |
93
101
  "maxOutletMassFlow" |
94
102
  "minOutletMassFlow" |
95
103
  "avgOutletMassFlow" |
104
+ "ssqOutletMassFlow" |
96
105
 
97
106
  "flowTemperature" |
98
107
  "maxFlowTemperature" |
99
108
  "minFlowTemperature" |
100
109
  "avgFlowTemperature" |
110
+ "ssqFlowTemperature" |
101
111
 
102
112
  "inletFlowTemperature" |
103
113
  "maxInletFlowTemperature" |
104
114
  "minInletFlowTemperature" |
105
115
  "avgInletFlowTemperature" |
116
+ "ssqInletFlowTemperature" |
106
117
 
107
118
  "outletFlowTemperature" |
108
119
  "maxOutletFlowTemperature" |
109
120
  "minOutletFlowTemperature" |
110
121
  "avgOutletFlowTemperature" |
122
+ "ssqOutletFlowTemperature" |
111
123
 
112
124
  "inletMinusOutletFlowTemperatureDifference" |
113
125
  "maxInletMinusOutletFlowTemperatureDifference" |
114
126
  "minInletMinusOutletFlowTemperatureDifference" |
115
127
  "avgInletMinusOutletFlowTemperatureDifference" |
128
+ "ssqInletMinusOutletFlowTemperatureDifference" |
116
129
 
117
130
  "outletMinusInletFlowTemperatureDifference" |
118
131
  "maxOutletMinusInletFlowTemperatureDifference" |
119
132
  "minOutletMinusInletFlowTemperatureDifference" |
120
133
  "avgOutletMinusInletFlowTemperatureDifference" |
134
+ "ssqOutletMinusInletFlowTemperatureDifference" |
121
135
 
122
136
  "ambientTemperature" |
123
137
  "maxAmbientTemperature" |
124
138
  "minAmbientTemperature" |
125
139
  "avgAmbientTemperature" |
140
+ "ssqAmbientTemperature" |
126
141
 
127
142
  "radiatorTemperature" |
128
143
  "maxRadiatorTemperature" |
129
144
  "minRadiatorTemperature" |
130
145
  "avgRadiatorTemperature" |
146
+ "ssqRadiatorTemperature" |
131
147
 
132
148
  "relativeHumidity" |
133
149
 
@@ -151,10 +167,10 @@ export type RegisterId =
151
167
 
152
168
  "timeSinceLastPossibleCandidateOverhearingArrived" |
153
169
  "timeAtLastPossibleCandidateOverhearingArrived" |
154
-
170
+
155
171
  "timeSinceLastSampled" |
156
172
  "timeAtLastSampled" |
157
-
173
+
158
174
  "timeSinceLastInstallationMounted" |
159
175
  "timeAtLastInstallationMounted" |
160
176
 
@@ -183,7 +199,7 @@ export type RegisterId =
183
199
  "kamstrupMulticalInfocodeType4" |
184
200
  "kamstrupMulticalInfocode" |
185
201
  "kamstrupModuleType" |
186
-
202
+
187
203
  "diehlInfocodeType1" |
188
204
  "diehlInfocode" |
189
205
 
@@ -193,5 +209,5 @@ export type RegisterId =
193
209
  "landisGyrInfocodeType1" |
194
210
  "landisGyrInfocodeType2" |
195
211
  "landisGyrInfocode" |
196
-
197
- "infocode";
212
+
213
+ "infocode";
package/src/repository.ts CHANGED
@@ -1,24 +1,24 @@
1
- // This is clearly not correct but it provides some amazing type safety
2
- export type Repository = "some/repo";
3
-
4
- export function Repository(repo: string): Repository;
5
- export function Repository(team: string, name: string): Repository;
6
- export function Repository(repoOrTeam: string, name?: string): Repository {
7
- if (name) {
8
- return <Repository>`${repoOrTeam}/${name}`;
9
- } else if (repoOrTeam.indexOf("/") > 0) {
10
- return <Repository>repoOrTeam;
11
- } else {
12
- throw new TypeError("Invalid repository format");
13
- }
14
- }
15
-
16
- export namespace Repository {
17
- export function split(repo: Repository) {
18
- const parts = repo.split("/");
19
- return {
20
- team: parts[0],
21
- name: parts[1],
22
- };
23
- }
1
+ // This is clearly not correct but it provides some amazing type safety
2
+ export type Repository = "some/repo";
3
+
4
+ export function Repository(repo: string): Repository;
5
+ export function Repository(team: string, name: string): Repository;
6
+ export function Repository(repoOrTeam: string, name?: string): Repository {
7
+ if (name) {
8
+ return <Repository>`${repoOrTeam}/${name}`;
9
+ } else if (repoOrTeam.indexOf("/") > 0) {
10
+ return <Repository>repoOrTeam;
11
+ } else {
12
+ throw new TypeError("Invalid repository format");
13
+ }
14
+ }
15
+
16
+ export namespace Repository {
17
+ export function split(repo: Repository) {
18
+ const parts = repo.split("/");
19
+ return {
20
+ team: parts[0],
21
+ name: parts[1],
22
+ };
23
+ }
24
24
  }
package/src/step.ts CHANGED
@@ -1,37 +1,37 @@
1
- import { DateTime, Duration } from "luxon";
2
-
3
- export type Step = "hour" | "day" | "week" | "month" | "year";
4
-
5
- export enum DayOfWeek {
6
- Monday = 1,
7
- Tuesday = 2,
8
- Wednesday = 3,
9
- Thursday = 4,
10
- Friday = 5,
11
- Saturday = 6,
12
- Sunday = 7,
13
- };
14
-
15
- namespace Step {
16
- export function startOf(dateTime: DateTime, step: Step, firstDayOfWeek?: DayOfWeek): DateTime {
17
- if (step === "week") {
18
- const value = dateTime.startOf("day").set({ weekday: firstDayOfWeek ?? DayOfWeek.Monday });
19
- return value > dateTime
20
- ? value.minus({ days: 7 })
21
- : value;
22
- }
23
- else {
24
- return dateTime.startOf(step);
25
- }
26
- }
27
-
28
- export function asDuration(step: Step, amount = 1): Duration {
29
- switch (step) {
30
- case "hour": return Duration.fromObject({ hours: amount });
31
- case "day": return Duration.fromObject({ days: amount });
32
- case "week": return Duration.fromObject({ days: 7 * amount });
33
- case "month": return Duration.fromObject({ months: amount });
34
- case "year": return Duration.fromObject({ years: amount });
35
- }
36
- }
37
- }
1
+ import { DateTime, Duration } from "luxon";
2
+
3
+ export type Step = "hour" | "day" | "week" | "month" | "year";
4
+
5
+ export enum DayOfWeek {
6
+ Monday = 1,
7
+ Tuesday = 2,
8
+ Wednesday = 3,
9
+ Thursday = 4,
10
+ Friday = 5,
11
+ Saturday = 6,
12
+ Sunday = 7,
13
+ };
14
+
15
+ export namespace Step {
16
+ export function startOf(dateTime: DateTime, step: Step, firstDayOfWeek?: DayOfWeek): DateTime {
17
+ if (step === "week") {
18
+ const value = dateTime.startOf("day").set({ weekday: firstDayOfWeek ?? DayOfWeek.Monday });
19
+ return value > dateTime
20
+ ? value.minus({ days: 7 })
21
+ : value;
22
+ }
23
+ else {
24
+ return dateTime.startOf(step);
25
+ }
26
+ }
27
+
28
+ export function asDuration(step: Step, amount = 1): Duration {
29
+ switch (step) {
30
+ case "hour": return Duration.fromObject({ hours: amount });
31
+ case "day": return Duration.fromObject({ days: amount });
32
+ case "week": return Duration.fromObject({ days: 7 * amount });
33
+ case "month": return Duration.fromObject({ months: amount });
34
+ case "year": return Duration.fromObject({ years: amount });
35
+ }
36
+ }
37
+ }
@@ -1,17 +1,17 @@
1
- import { DateTime } from "luxon";
2
-
3
- export type TimeOrRule = Date | DateTime | string;
4
-
5
- namespace TimeOrRule {
6
- export function isTime(input: TimeOrRule): input is Date | DateTime {
7
- return typeof input !== "string";
8
- }
9
-
10
- export function isRule(input: TimeOrRule): input is string {
11
- return typeof input === "string";
12
- }
13
-
14
- export function asJSON(input: TimeOrRule) {
15
- return isRule(input) ? input : input.toJSON();
16
- }
17
- }
1
+ import { DateTime } from "luxon";
2
+
3
+ export type TimeOrRule = Date | DateTime | string;
4
+
5
+ export namespace TimeOrRule {
6
+ export function isTime(input: TimeOrRule): input is Date | DateTime {
7
+ return typeof input !== "string";
8
+ }
9
+
10
+ export function isRule(input: TimeOrRule): input is string {
11
+ return typeof input === "string";
12
+ }
13
+
14
+ export function asJSON(input: TimeOrRule) {
15
+ return isRule(input) ? input : input.toJSON();
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "CommonJS",
5
+ "outDir": "dist/cjs",
6
+ "declaration": false
7
+ }
8
+ }
package/tsconfig.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "target": "ES2018",
4
+ "module": "ESNext",
4
5
  "moduleResolution": "Node",
6
+ "declaration": true,
7
+ "sourceMap": true,
5
8
  "experimentalDecorators": true,
6
9
  "emitDecoratorMetadata": true,
7
10
  "strict": true,
8
- "rootDirs": ["src"],
11
+ "rootDir": "src",
12
+ "outDir": "dist/esm",
9
13
  "lib": ["ES2018", "DOM"],
10
14
  "types": ["mocha"]
11
- },
12
- "exclude": ["dist"]
15
+ }
13
16
  }
package/dist/index.d.ts DELETED
@@ -1,83 +0,0 @@
1
- import { DateTime } from "luxon";
2
- export type ConsumptionTypeId = "none" | "heat" | "water" | "cooling" | "electricity" | "infrastructure" | "all";
3
- export type RegisterId = "none" | "heatEnergy" | "diffHeatEnergy" | "heatEnergyVolumeInInlet" | "diffHeatEnergyVolumeInInlet" | "heatEnergyVolumeInOutlet" | "diffHeatEnergyVolumeInOutlet" | "coolingEnergy" | "diffCoolingEnergy" | "coolingEnergyVolumeInInlet" | "diffCoolingEnergyVolumeInInlet" | "coolingEnergyVolumeInOutlet" | "diffCoolingEnergyVolumeInOutlet" | "electricalEnergy" | "diffElectricalEnergy" | "reactiveEnergy" | "diffReactiveEnergy" | "volume" | "diffVolume" | "inletVolume" | "diffInletVolume" | "outletVolume" | "diffOutletVolume" | "pulseInputAVolume" | "diffPulseInputAVolume" | "pulseInputBVolume" | "diffPulseInputBVolume" | "mass" | "diffMass" | "inletMass" | "diffInletMass" | "outletMass" | "diffOutletMass" | "power" | "maxPower" | "minPower" | "avgPower" | "inletPower" | "maxInletPower" | "minInletPower" | "avgInletPower" | "outletPower" | "maxOutletPower" | "minOutletPower" | "avgOutletPower" | "volumeFlow" | "maxVolumeFlow" | "minVolumeFlow" | "avgVolumeFlow" | "inletVolumeFlow" | "maxInletVolumeFlow" | "minInletVolumeFlow" | "avgInletVolumeFlow" | "outletVolumeFlow" | "maxOutletVolumeFlow" | "minOutletVolumeFlow" | "avgOutletVolumeFlow" | "massFlow" | "maxMassFlow" | "minMassFlow" | "avgMassFlow" | "inletMassFlow" | "maxInletMassFlow" | "minInletMassFlow" | "avgInletMassFlow" | "outletMassFlow" | "maxOutletMassFlow" | "minOutletMassFlow" | "avgOutletMassFlow" | "flowTemperature" | "maxFlowTemperature" | "minFlowTemperature" | "avgFlowTemperature" | "inletFlowTemperature" | "maxInletFlowTemperature" | "minInletFlowTemperature" | "avgInletFlowTemperature" | "outletFlowTemperature" | "maxOutletFlowTemperature" | "minOutletFlowTemperature" | "avgOutletFlowTemperature" | "inletMinusOutletFlowTemperatureDifference" | "maxInletMinusOutletFlowTemperatureDifference" | "minInletMinusOutletFlowTemperatureDifference" | "avgInletMinusOutletFlowTemperatureDifference" | "outletMinusInletFlowTemperatureDifference" | "maxOutletMinusInletFlowTemperatureDifference" | "minOutletMinusInletFlowTemperatureDifference" | "avgOutletMinusInletFlowTemperatureDifference" | "ambientTemperature" | "maxAmbientTemperature" | "minAmbientTemperature" | "avgAmbientTemperature" | "radiatorTemperature" | "maxRadiatorTemperature" | "minRadiatorTemperature" | "avgRadiatorTemperature" | "relativeHumidity" | "kamstrupE8Inlet" | "diffKamstrupE8Inlet" | "kamstrupE9Outlet" | "diffKamstrupE9Outlet" | "operatingTime" | "diffOperatingTime" | "remainingBatteryTime" | "diffRemainingBatteryTime" | "deviceDate" | "deviceTime" | "deviceDateTime" | "timeSinceLastExactOverhearingArrived" | "timeAtLastExactOverhearingArrived" | "timeSinceLastPossibleCandidateOverhearingArrived" | "timeAtLastPossibleCandidateOverhearingArrived" | "timeSinceLastSampled" | "timeAtLastSampled" | "timeSinceLastInstallationMounted" | "timeAtLastInstallationMounted" | "basetime" | "instantTime" | "periodStartTime" | "periodEndTime" | "instantOrPeriodStartTime" | "instantOrPeriodEndTime" | "device" | "wMBusDeviceAddresses" | "kamdraftDeviceAddresses" | "tchlrDeviceAddresses" | "kamdaDeviceAddresses" | "msisdnDeviceAddresses" | "deviceRegisters" | "consumptionZone" | "mBusFormatStringSignature" | "deviceSoftwareVersion" | "kamstrupMulticalInfocodeType1" | "kamstrupMulticalInfocodeType2" | "kamstrupMulticalInfocodeType3" | "kamstrupMulticalInfocodeType4" | "kamstrupMulticalInfocode" | "kamstrupModuleType" | "diehlInfocodeType1" | "diehlInfocode" | "landisGyrMBusStatusType1" | "landisGyrMBusStatusType2" | "landisGyrMBusStatus" | "landisGyrInfocodeType1" | "landisGyrInfocodeType2" | "landisGyrInfocode" | "infocode";
4
- export type UnitId = "unitless" | "milliWattHour" | "wattHour" | "kiloWattHour" | "megaWattHour" | "gigaWattHour" | "calorie" | "kiloCalorie" | "megaCalorie" | "joule" | "kiloJoule" | "megaJoule" | "gigaJoule" | "liter" | "cubicMeter" | "fluidOunce" | "gallon" | "gram" | "kiloGram" | "tonne" | "ounce" | "pound" | "ton" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | "milliWatt" | "watt" | "kiloWatt" | "megaWatt" | "gigaWatt" | "joulesPerSecond" | "joulesPerMinute" | "joulesPerHour" | "litersPerSecond" | "litersPerMinute" | "litersPerHour" | "cubicMetersPerSecond" | "cubicMetersPerMinute" | "cubicMetersPerHour" | "fluidOuncesPerSecond" | "fluidOuncesPerMinute" | "fluidOuncesPerHour" | "gallonsPerSecond" | "gallonsPerMinute" | "gallonsPerHour" | "gramsPerSecond" | "gramsPerMinute" | "gramsPerHour" | "kiloGramsPerSecond" | "kiloGramsPerMinute" | "kiloGramsPerHour" | "celcius" | "kelvin" | "fahrenheit" | "var" | "kiloVar" | "megaVar" | "varHour" | "kiloVarHour" | "megaVarHour" | "percentage" | "literCelcius" | "cubicMeterCelcius";
5
- export type AggregateId = "instant" | "diff" | "min" | "max" | "avg" | "sum" | "cnt" | "ssq";
6
- export type MeasureId = "none" | "duration" | "energy" | "humidity" | "mass" | "massFlow" | "power" | "reactiveEnergy" | "reactivePower" | "temperature" | "time" | "volume" | "volumeFlow";
7
- export interface RegisterDefinition {
8
- id: RegisterId;
9
- measure: MeasureId;
10
- aggregate: AggregateId;
11
- units: ReadonlyArray<UnitId>;
12
- immediate?: true;
13
- name?: string;
14
- description?: string;
15
- }
16
- interface RegisterPack {
17
- [key: string]: RegisterDefinition;
18
- }
19
- declare class Library {
20
- add(...definitions: (RegisterDefinition | RegisterPack)[]): void;
21
- has(id: RegisterId): boolean;
22
- tryGet(id: RegisterId): RegisterDefinition | undefined;
23
- get(id: RegisterId): RegisterDefinition;
24
- all(): RegisterDefinition[];
25
- reset(): void;
26
- }
27
- export const RegisterLibrary: Library;
28
- export const invariantDecimalSeparator: string;
29
- export const localeDecimalSeparator: string;
30
- interface Parts {
31
- invariantPrecisionString: string;
32
- invariantCoefficientString: string;
33
- exponent: number;
34
- noOfCoefficientDecimals: number;
35
- }
36
- declare class Formatter {
37
- toPrecision(value: number, precision: number): string;
38
- toLocalePrecision(value: number, precision: number): string;
39
- toFixed(value: number, precision: number): string;
40
- toLocaleFixed(value: number, precision: number): string;
41
- getParts(value: number, precision: number): Parts;
42
- }
43
- export const NumberFormatter: Formatter;
44
- declare class Convention {
45
- getAggregate(register: RegisterId | RegisterDefinition): AggregateId;
46
- toInstant(register: RegisterId | RegisterDefinition): RegisterId;
47
- toAggregate(register: RegisterId | RegisterDefinition, aggregate: AggregateId): RegisterId;
48
- }
49
- export const RegisterConvention: Convention;
50
- export type Step = "hour" | "day" | "week" | "month" | "year";
51
- export enum DayOfWeek {
52
- Monday = 1,
53
- Tuesday = 2,
54
- Wednesday = 3,
55
- Thursday = 4,
56
- Friday = 5,
57
- Saturday = 6,
58
- Sunday = 7
59
- }
60
- export type TimeOrRule = Date | DateTime | string;
61
- export class PrecisionNumber {
62
- value: number;
63
- precision: number;
64
- constructor(value: number, precision: number);
65
- static parse(input: string): PrecisionNumber;
66
- toString(): string;
67
- toFixed(): string;
68
- toPrecision(): string;
69
- toLocaleFixed(): string;
70
- toLocalePrecision(): string;
71
- }
72
- export type Repository = "some/repo";
73
- export function Repository(repo: string): Repository;
74
- export function Repository(team: string, name: string): Repository;
75
- export declare namespace Repository {
76
- function split(repo: Repository): {
77
- team: string;
78
- name: string;
79
- };
80
- }
81
- export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
82
-
83
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["src/src/consumption-type-id.ts","src/src/register-id.ts","src/src/unit-id.ts","src/src/aggregate-id.ts","src/src/measure-id.ts","src/src/register-definition.ts","src/src/register-pack.ts","src/src/register-library.ts","src/src/number-formatter.ts","src/src/register-utils.ts","src/src/register-convention.ts","src/src/step.ts","src/src/time-or-rule.ts","src/src/precision-number.ts","src/src/repository.ts","src/src/optional.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import type { ConsumptionTypeId } from \"./consumption-type-id\";\nimport type { RegisterId } from \"./register-id\";\nimport type { UnitId } from \"./unit-id\";\nimport { RegisterLibrary } from \"./register-library\";\nimport type { RegisterDefinition } from \"./register-definition\";\nimport { NumberFormatter, invariantDecimalSeparator, localeDecimalSeparator } from \"./number-formatter\";\nimport { RegisterConvention } from \"./register-convention\";\nimport type { AggregateId } from \"./aggregate-id\";\nimport type { MeasureId } from \"./measure-id\";\nimport { Step, DayOfWeek } from \"./step\";\nimport { TimeOrRule } from \"./time-or-rule\";\nimport { PrecisionNumber } from \"./precision-number\";\nimport \"./repository\"; // We need this to get the Repository namespace exported\nimport { Repository } from \"./repository\";\nimport type { Optional } from \"./optional\";\n\nexport {\n AggregateId,\n ConsumptionTypeId,\n DayOfWeek,\n MeasureId,\n NumberFormatter,\n PrecisionNumber,\n RegisterConvention,\n RegisterDefinition,\n RegisterId,\n RegisterLibrary,\n Repository,\n Step,\n TimeOrRule,\n UnitId,\n invariantDecimalSeparator,\n localeDecimalSeparator,\n Optional,\n};\n"],"names":[],"version":3,"file":"index.d.ts.map"}