@utiliread/primitives 1.0.0-145 → 1.0.0-147

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 (126) hide show
  1. package/dist/aggregate-id.d.ts +1 -0
  2. package/dist/breakdown-rule.d.ts +18 -0
  3. package/dist/breakdown-rule.spec.d.ts +1 -0
  4. package/dist/csv.d.ts +4 -0
  5. package/dist/csv.spec.d.ts +1 -0
  6. package/dist/cursor-navigation-state.d.ts +61 -0
  7. package/dist/cursor-navigation-state.spec.d.ts +1 -0
  8. package/dist/index.d.ts +26 -0
  9. package/dist/index.js +2842 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/index.mjs +2829 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/dist/measure-id.d.ts +1 -0
  14. package/dist/measures/duration.d.ts +2 -0
  15. package/dist/measures/energy.d.ts +2 -0
  16. package/dist/measures/humidity.d.ts +2 -0
  17. package/dist/measures/infocode.d.ts +2 -0
  18. package/dist/measures/mass-flow.d.ts +3 -0
  19. package/dist/measures/mass.d.ts +2 -0
  20. package/dist/measures/noise.d.ts +3 -0
  21. package/dist/measures/power.d.ts +3 -0
  22. package/dist/measures/pressure.d.ts +3 -0
  23. package/dist/measures/reactive-energy.d.ts +2 -0
  24. package/dist/measures/reactive-power.d.ts +2 -0
  25. package/dist/measures/temperature.d.ts +3 -0
  26. package/dist/measures/time.d.ts +2 -0
  27. package/dist/measures/volume-flow.d.ts +3 -0
  28. package/dist/measures/volume.d.ts +2 -0
  29. package/dist/medium.d.ts +7 -0
  30. package/dist/medium.spec.d.ts +1 -0
  31. package/dist/number-formatter.d.ts +17 -0
  32. package/dist/number-formatter.spec.d.ts +1 -0
  33. package/dist/optional.d.ts +1 -0
  34. package/dist/precision-number.d.ts +16 -0
  35. package/dist/precision-number.spec.d.ts +1 -0
  36. package/dist/register-convention.d.ts +14 -0
  37. package/dist/register-convention.spec.d.ts +1 -0
  38. package/dist/register-definition.d.ts +13 -0
  39. package/dist/register-id.d.ts +1 -0
  40. package/dist/register-library.d.ts +15 -0
  41. package/dist/register-library.spec.d.ts +1 -0
  42. package/dist/register-pack.d.ts +4 -0
  43. package/dist/register-utils.d.ts +3 -0
  44. package/dist/registers/acoustic-noise.d.ts +8 -0
  45. package/dist/registers/ambient-temperature.d.ts +8 -0
  46. package/dist/registers/axioma-infocode.d.ts +3 -0
  47. package/dist/registers/consumer.d.ts +9 -0
  48. package/dist/registers/cooling-energy-inlet.d.ts +4 -0
  49. package/dist/registers/cooling-energy-outlet.d.ts +4 -0
  50. package/dist/registers/cooling-energy.d.ts +4 -0
  51. package/dist/registers/cooling.d.ts +15 -0
  52. package/dist/registers/device-addresses-kamdraft.d.ts +6 -0
  53. package/dist/registers/device-addresses-msisdn.d.ts +6 -0
  54. package/dist/registers/device-addresses-tchlr.d.ts +6 -0
  55. package/dist/registers/device-addresses-wmbus.d.ts +9 -0
  56. package/dist/registers/device-date-time.d.ts +2 -0
  57. package/dist/registers/device-date.d.ts +2 -0
  58. package/dist/registers/device-nominal-diameter.d.ts +2 -0
  59. package/dist/registers/device-permanent-volume-flow.d.ts +2 -0
  60. package/dist/registers/device-registers.d.ts +2 -0
  61. package/dist/registers/device-samples.d.ts +14 -0
  62. package/dist/registers/device-software-version.d.ts +2 -0
  63. package/dist/registers/device-time.d.ts +2 -0
  64. package/dist/registers/device.d.ts +8 -0
  65. package/dist/registers/diehl-infocode.d.ts +7 -0
  66. package/dist/registers/electrical-energy.d.ts +4 -0
  67. package/dist/registers/energy-inlet.d.ts +4 -0
  68. package/dist/registers/energy-outlet.d.ts +4 -0
  69. package/dist/registers/error-operating-time.d.ts +4 -0
  70. package/dist/registers/flow-temperature-aux.d.ts +8 -0
  71. package/dist/registers/flow-temperature-inlet.d.ts +8 -0
  72. package/dist/registers/flow-temperature-outlet.d.ts +8 -0
  73. package/dist/registers/flow-temperature.d.ts +8 -0
  74. package/dist/registers/heat-energy-inlet.d.ts +10 -0
  75. package/dist/registers/heat-energy-outlet.d.ts +10 -0
  76. package/dist/registers/heat-energy.d.ts +10 -0
  77. package/dist/registers/index.d.ts +71 -0
  78. package/dist/registers/infocode.d.ts +17 -0
  79. package/dist/registers/kamstrup-module-type.d.ts +2 -0
  80. package/dist/registers/kamstrup-multical-infocode.d.ts +9 -0
  81. package/dist/registers/landis-gyr-infocode.d.ts +4 -0
  82. package/dist/registers/landis-gyr-mbus-status.d.ts +4 -0
  83. package/dist/registers/mass-flow-inlet.d.ts +8 -0
  84. package/dist/registers/mass-flow-outlet.d.ts +8 -0
  85. package/dist/registers/mass-flow.d.ts +8 -0
  86. package/dist/registers/mass-inlet.d.ts +4 -0
  87. package/dist/registers/mass-outlet.d.ts +4 -0
  88. package/dist/registers/mass.d.ts +4 -0
  89. package/dist/registers/mbus-format-string-signature.d.ts +2 -0
  90. package/dist/registers/none.d.ts +2 -0
  91. package/dist/registers/operating-time.d.ts +4 -0
  92. package/dist/registers/place.d.ts +16 -0
  93. package/dist/registers/power-inlet.d.ts +8 -0
  94. package/dist/registers/power-outlet.d.ts +8 -0
  95. package/dist/registers/power.d.ts +8 -0
  96. package/dist/registers/pressure-inlet.d.ts +8 -0
  97. package/dist/registers/pressure-outlet.d.ts +8 -0
  98. package/dist/registers/pressure.d.ts +8 -0
  99. package/dist/registers/radiator-temperature.d.ts +8 -0
  100. package/dist/registers/reactive-energy.d.ts +4 -0
  101. package/dist/registers/relative-humidity.d.ts +2 -0
  102. package/dist/registers/remaining-battery-time.d.ts +4 -0
  103. package/dist/registers/time-last-exact-overhearing-arrived.d.ts +3 -0
  104. package/dist/registers/time-last-installation-mounted.d.ts +3 -0
  105. package/dist/registers/time-last-possible-candidate-overhearing-arrived.d.ts +3 -0
  106. package/dist/registers/time-last-sampled.d.ts +3 -0
  107. package/dist/registers/time.d.ts +7 -0
  108. package/dist/registers/volume-flow-inlet.d.ts +8 -0
  109. package/dist/registers/volume-flow-outlet.d.ts +8 -0
  110. package/dist/registers/volume-flow.d.ts +8 -0
  111. package/dist/registers/volume-inlet.d.ts +4 -0
  112. package/dist/registers/volume-outlet.d.ts +4 -0
  113. package/dist/registers/volume-pulse-input-a.d.ts +4 -0
  114. package/dist/registers/volume-pulse-input-b.d.ts +4 -0
  115. package/dist/registers/volume.d.ts +4 -0
  116. package/dist/repository.d.ts +10 -0
  117. package/dist/repository.spec.d.ts +1 -0
  118. package/dist/step.d.ts +15 -0
  119. package/dist/step.spec.d.ts +1 -0
  120. package/dist/time-or-rule.d.ts +10 -0
  121. package/dist/unit-id.d.ts +1 -0
  122. package/package.json +1 -1
  123. package/src/number-formatter.spec.ts +21 -0
  124. package/src/number-formatter.ts +17 -9
  125. package/src/precision-number.spec.ts +134 -3
  126. package/src/precision-number.ts +123 -17
@@ -0,0 +1 @@
1
+ export type AggregateId = "instant" | "diff" | "min" | "max" | "avg" | "sum" | "cnt" | "ssq";
@@ -0,0 +1,18 @@
1
+ import { TimeOrRule } from "./time-or-rule";
2
+ export type BreakdownRule = string;
3
+ export type BreakdownPeriod = "hour" | "day" | "week" | "month" | "year";
4
+ interface BreakdownRuleInit {
5
+ origin: TimeOrRule;
6
+ count: number;
7
+ period: BreakdownPeriod;
8
+ }
9
+ export declare function BreakdownRule(init: BreakdownRuleInit): BreakdownRule;
10
+ export declare function BreakdownRule(origin: TimeOrRule, count: number, period: BreakdownPeriod): BreakdownRule;
11
+ export declare namespace BreakdownRule {
12
+ function split(rule: BreakdownRule): {
13
+ origin: TimeOrRule;
14
+ count: number;
15
+ period: BreakdownPeriod;
16
+ };
17
+ }
18
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/dist/csv.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export type Csv<T extends string = string> = T | (string & {
2
+ readonly __csvValuesBrand: T;
3
+ });
4
+ export declare function csv<const T extends readonly string[]>(values: T): Csv<T[number]>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,61 @@
1
+ interface CursorPage {
2
+ items: unknown[];
3
+ nextCursor: string | null;
4
+ hasMore: boolean;
5
+ totalCount?: number;
6
+ }
7
+ /**
8
+ * Tracks client-side navigation state for cursor-based paging.
9
+ *
10
+ * The first page is represented by the empty-string cursor.
11
+ * `futureCursor` is the server-provided cursor for the page after the current
12
+ * one, while `cursors` keeps the visited cursor chain so the UI can move
13
+ * backward without recomputing anything.
14
+ */
15
+ export declare class CursorNavigationState {
16
+ /** Number of items requested per page. */
17
+ readonly limit: number;
18
+ /** Cursor for the currently displayed page. */
19
+ currentCursor: string;
20
+ /**
21
+ * Cursor for the next page as reported by the server.
22
+ *
23
+ * `undefined` means the current page has not been loaded yet.
24
+ * `null` means that all pages are exhausted.
25
+ */
26
+ futureCursor: string | null | undefined;
27
+ /** Visited page cursor chain in navigation order. */
28
+ private cursors;
29
+ private pageItemCounts;
30
+ /** Total item count when the API provides it or when the last page is reached. */
31
+ totalCount: number | null;
32
+ /** One-based page number inferred from the visited cursor chain. */
33
+ get pageNumber(): number;
34
+ /** Total number of pages computed from the total item count and page limit. */
35
+ get pageCount(): number;
36
+ /** One-based index of the first item on the current page. */
37
+ get firstItemNumber(): number;
38
+ /** One-based index of the last item on the current page. */
39
+ get lastItemNumber(): number;
40
+ /**
41
+ * Cursor for the next page, or the current page cursor if the current page is the last page.
42
+ */
43
+ get nextCursor(): string;
44
+ /** Cursor for the previous page, or the first-page sentinel. */
45
+ get previousCursor(): string;
46
+ /** Whether the current page is the first page. */
47
+ get currentIsFirst(): boolean;
48
+ /** Whether the current page is the last page. */
49
+ get currentIsLast(): boolean;
50
+ constructor(options?: {
51
+ limit?: number;
52
+ });
53
+ /**
54
+ * Applies a fetched page to the navigation state.
55
+ *
56
+ * `cursor` is the request cursor that produced `page`.
57
+ */
58
+ visitPage(cursor: string, page: CursorPage): void;
59
+ toString(): string;
60
+ }
61
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { Consumer, Device, DeviceSample, HeatMeterEvent, Infocode, KamdraftDeviceAddress, MsisdnDeviceAddress, Place, TchlrDeviceAddress, WMBusDeviceAddress, WaterMeterEvent } from "./registers";
2
+ import type { RegisterDefinition } from "./register-definition";
3
+ import type { RegisterId } from "./register-id";
4
+ export { DayOfWeek, Step } from "./step";
5
+ export { NumberFormatter, invariantDecimalSeparator, localeDecimalSeparator, } from "./number-formatter";
6
+ export type { AggregateId } from "./aggregate-id";
7
+ export type { BreakdownPeriod } from "./breakdown-rule";
8
+ export { BreakdownRule } from "./breakdown-rule";
9
+ export { csv } from "./csv";
10
+ export type { Csv } from "./csv";
11
+ export type { MeasureId } from "./measure-id";
12
+ export { Medium } from "./medium";
13
+ export type { Optional } from "./optional";
14
+ export { PrecisionNumber } from "./precision-number";
15
+ export { RegisterConvention } from "./register-convention";
16
+ export type { RegisterDefinition } from "./register-definition";
17
+ export type { RegisterId } from "./register-id";
18
+ export { RegisterLibrary } from "./register-library";
19
+ export { Repository } from "./repository";
20
+ export { TimeOrRule } from "./time-or-rule";
21
+ export type { UnitId } from "./unit-id";
22
+ export { CursorNavigationState } from "./cursor-navigation-state";
23
+ export declare const registers: Record<RegisterId, RegisterDefinition>;
24
+ export declare namespace SampleValue {
25
+ export type { Consumer, Device, DeviceSample, HeatMeterEvent, Infocode, KamdraftDeviceAddress, MsisdnDeviceAddress, Place, TchlrDeviceAddress, WaterMeterEvent, WMBusDeviceAddress, };
26
+ }