@utiliread/primitives 1.0.0-105 → 1.0.0-107

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 (33) hide show
  1. package/dist/cjs/precision-number.js +7 -3
  2. package/dist/cjs/precision-number.js.map +1 -1
  3. package/dist/cjs/precision-number.spec.js +10 -0
  4. package/dist/cjs/precision-number.spec.js.map +1 -1
  5. package/dist/cjs/registers/device-nominal-diameter.js +11 -0
  6. package/dist/cjs/registers/device-nominal-diameter.js.map +1 -0
  7. package/dist/cjs/registers/device-permanent-volume-flow.js +11 -0
  8. package/dist/cjs/registers/device-permanent-volume-flow.js.map +1 -0
  9. package/dist/cjs/registers/index.js +2 -2
  10. package/dist/cjs/registers/index.js.map +1 -1
  11. package/dist/esm/precision-number.js +7 -3
  12. package/dist/esm/precision-number.js.map +1 -1
  13. package/dist/esm/precision-number.spec.js +10 -0
  14. package/dist/esm/precision-number.spec.js.map +1 -1
  15. package/dist/esm/register-id.d.ts +1 -1
  16. package/dist/esm/registers/device-nominal-diameter.d.ts +2 -0
  17. package/dist/esm/registers/device-nominal-diameter.js +8 -0
  18. package/dist/esm/registers/device-nominal-diameter.js.map +1 -0
  19. package/dist/esm/registers/device-permanent-volume-flow.d.ts +2 -0
  20. package/dist/esm/registers/device-permanent-volume-flow.js +8 -0
  21. package/dist/esm/registers/device-permanent-volume-flow.js.map +1 -0
  22. package/dist/esm/registers/index.d.ts +2 -2
  23. package/dist/esm/registers/index.js +2 -2
  24. package/dist/esm/registers/index.js.map +1 -1
  25. package/locales/da/registers.json +2 -2
  26. package/locales/en/registers.json +2 -2
  27. package/package.json +1 -1
  28. package/src/precision-number.spec.ts +12 -0
  29. package/src/precision-number.ts +8 -3
  30. package/src/register-id.ts +2 -2
  31. package/src/registers/{nominalDiameter.ts → device-nominal-diameter.ts} +2 -2
  32. package/src/registers/{permanentVolumeFlow.ts → device-permanent-volume-flow.ts} +2 -2
  33. package/src/registers/index.ts +2 -2
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PrecisionNumber = void 0;
4
- const _1 = require(".");
5
4
  const number_formatter_1 = require("./number-formatter");
5
+ const _1 = require(".");
6
6
  class PrecisionNumber {
7
7
  constructor(value, precision) {
8
8
  this.value = value;
@@ -16,11 +16,15 @@ class PrecisionNumber {
16
16
  if (normalized.endsWith(_1.invariantDecimalSeparator)) {
17
17
  normalized += "0";
18
18
  }
19
- const precision = normalized
19
+ const value = parseFloat(normalized);
20
+ let precision = normalized
20
21
  .replace(".", "")
21
22
  .replace("+", "")
22
23
  .replace("-", "").length;
23
- return new PrecisionNumber(parseFloat(normalized), precision);
24
+ if (value > -1 && value < 1 && value !== 0 && precision > 1) {
25
+ precision--;
26
+ }
27
+ return new PrecisionNumber(value, precision);
24
28
  }
25
29
  toString() {
26
30
  return this.value.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":";;;AAAA,wBAA8C;AAC9C,yDAA6E;AAE7E,MAAa,eAAe;IACxB,YACW,KAAa,EACb,SAAiB;QADjB,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;IACzB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAa;QACtB,IAAI,UAAU,GAAG,KAAK;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,yCAAsB,EAAE,4BAAyB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAAyB,CAAC,EAAE,CAAC;YACjD,UAAU,IAAI,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,SAAS,GAAG,UAAU;aACvB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,kCAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,OAAO,kCAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,kCAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACb,OAAO,kCAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ;AAxCD,0CAwCC"}
1
+ {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAE7E,wBAA8C;AAE9C,MAAa,eAAe;IACxB,YACW,KAAa,EACb,SAAiB;QADjB,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;IACzB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAa;QACtB,IAAI,UAAU,GAAG,KAAK;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,yCAAsB,EAAE,4BAAyB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAAyB,CAAC,EAAE,CAAC;YACjD,UAAU,IAAI,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,SAAS,GAAG,UAAU;aACrB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,kCAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,OAAO,kCAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,kCAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACb,OAAO,kCAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ;AA5CD,0CA4CC"}
@@ -23,5 +23,15 @@ describe("precision-number", () => {
23
23
  (0, chai_1.expect)(number.value).to.equal(1);
24
24
  (0, chai_1.expect)(number.precision).to.equal(2);
25
25
  });
26
+ it("should parse '0.6'", () => {
27
+ const number = precision_number_1.PrecisionNumber.parse("0.6");
28
+ (0, chai_1.expect)(number.value).to.equal(0.6);
29
+ (0, chai_1.expect)(number.precision).to.equal(1);
30
+ });
31
+ it("should parse '.6'", () => {
32
+ const number = precision_number_1.PrecisionNumber.parse(".6");
33
+ (0, chai_1.expect)(number.value).to.equal(0.6);
34
+ (0, chai_1.expect)(number.precision).to.equal(1);
35
+ });
26
36
  });
27
37
  //# sourceMappingURL=precision-number.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"precision-number.spec.js","sourceRoot":"","sources":["../../src/precision-number.spec.ts"],"names":[],"mappings":";;AAAA,yDAAqD;AACrD,+BAA8B;AAE9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"precision-number.spec.js","sourceRoot":"","sources":["../../src/precision-number.spec.ts"],"names":[],"mappings":";;AAAA,yDAAqD;AACrD,+BAA8B;AAE9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,kCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deviceNominalDiameter = void 0;
4
+ exports.deviceNominalDiameter = {
5
+ id: "deviceNominalDiameter",
6
+ measure: "none",
7
+ aggregate: "instant",
8
+ units: ["unitless"],
9
+ immediate: true,
10
+ };
11
+ //# sourceMappingURL=device-nominal-diameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-nominal-diameter.js","sourceRoot":"","sources":["../../../src/registers/device-nominal-diameter.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAuB;IACrD,EAAE,EAAE,uBAAuB;IAC3B,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,SAAS,EAAE,IAAI;CAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devicePermanentVolumeFlow = void 0;
4
+ exports.devicePermanentVolumeFlow = {
5
+ id: "devicePermanentVolumeFlow",
6
+ measure: "volumeFlow",
7
+ aggregate: "instant",
8
+ units: ["cubicMetersPerHour"],
9
+ immediate: true,
10
+ };
11
+ //# sourceMappingURL=device-permanent-volume-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-permanent-volume-flow.js","sourceRoot":"","sources":["../../../src/registers/device-permanent-volume-flow.ts"],"names":[],"mappings":";;;AAEa,QAAA,yBAAyB,GAAuB;IACzD,EAAE,EAAE,2BAA2B;IAC/B,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,CAAC,oBAAoB,CAAC;IAC7B,SAAS,EAAE,IAAI;CAClB,CAAC"}
@@ -27,6 +27,8 @@ __exportStar(require("./device-addresses-tchlr"), exports);
27
27
  __exportStar(require("./device-addresses-wmbus"), exports);
28
28
  __exportStar(require("./device-date-time"), exports);
29
29
  __exportStar(require("./device-date"), exports);
30
+ __exportStar(require("./device-nominal-diameter"), exports);
31
+ __exportStar(require("./device-permanent-volume-flow"), exports);
30
32
  __exportStar(require("./device-registers"), exports);
31
33
  __exportStar(require("./device-software-version"), exports);
32
34
  __exportStar(require("./device-time"), exports);
@@ -56,10 +58,8 @@ __exportStar(require("./mass-inlet"), exports);
56
58
  __exportStar(require("./mass-outlet"), exports);
57
59
  __exportStar(require("./mass"), exports);
58
60
  __exportStar(require("./mbus-format-string-signature"), exports);
59
- __exportStar(require("./nominalDiameter"), exports);
60
61
  __exportStar(require("./none"), exports);
61
62
  __exportStar(require("./operating-time"), exports);
62
- __exportStar(require("./permanentVolumeFlow"), exports);
63
63
  __exportStar(require("./place"), exports);
64
64
  __exportStar(require("./power-inlet"), exports);
65
65
  __exportStar(require("./power-outlet"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,6CAA2B;AAC3B,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,4CAA0B;AAC1B,8DAA4C;AAC5C,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,qDAAmC;AACnC,gDAA8B;AAC9B,qDAAmC;AACnC,4DAA0C;AAC1C,gDAA8B;AAC9B,2CAAyB;AACzB,mDAAiC;AACjC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,yDAAuC;AACvC,yDAAuC;AACvC,2DAAyC;AACzC,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC;AACpC,uDAAqC;AACrC,gDAA8B;AAC9B,6CAA2B;AAC3B,yDAAuC;AACvC,+DAA6C;AAC7C,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,oDAAkC;AAClC,qDAAmC;AACnC,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,yCAAuB;AACvB,iEAA+C;AAC/C,oDAAkC;AAClC,yCAAuB;AACvB,mDAAiC;AACjC,wDAAsC;AACtC,0CAAwB;AACxB,gDAA8B;AAC9B,iDAA+B;AAC/B,0CAAwB;AACxB,mDAAiC;AACjC,oDAAkC;AAClC,6CAA2B;AAC3B,yDAAuC;AACvC,oDAAkC;AAClC,sDAAoC;AACpC,2DAAyC;AACzC,wEAAsD;AACtD,mEAAiD;AACjD,qFAAmE;AACnE,sDAAoC;AACpC,yCAAuB;AACvB,sDAAoC;AACpC,uDAAqC;AACrC,gDAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC;AAChC,yDAAuC;AACvC,yDAAuC;AACvC,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,6CAA2B;AAC3B,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,4CAA0B;AAC1B,8DAA4C;AAC5C,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,qDAAmC;AACnC,gDAA8B;AAC9B,4DAA0C;AAC1C,iEAA+C;AAC/C,qDAAmC;AACnC,4DAA0C;AAC1C,gDAA8B;AAC9B,2CAAyB;AACzB,mDAAiC;AACjC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,yDAAuC;AACvC,yDAAuC;AACvC,2DAAyC;AACzC,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC;AACpC,uDAAqC;AACrC,gDAA8B;AAC9B,6CAA2B;AAC3B,yDAAuC;AACvC,+DAA6C;AAC7C,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,oDAAkC;AAClC,qDAAmC;AACnC,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,yCAAuB;AACvB,iEAA+C;AAC/C,yCAAuB;AACvB,mDAAiC;AACjC,0CAAwB;AACxB,gDAA8B;AAC9B,iDAA+B;AAC/B,0CAAwB;AACxB,mDAAiC;AACjC,oDAAkC;AAClC,6CAA2B;AAC3B,yDAAuC;AACvC,oDAAkC;AAClC,sDAAoC;AACpC,2DAAyC;AACzC,wEAAsD;AACtD,mEAAiD;AACjD,qFAAmE;AACnE,sDAAoC;AACpC,yCAAuB;AACvB,sDAAoC;AACpC,uDAAqC;AACrC,gDAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC;AAChC,yDAAuC;AACvC,yDAAuC;AACvC,2CAAyB"}
@@ -1,5 +1,5 @@
1
+ import { NumberFormatter, localeDecimalSeparator } from "./number-formatter";
1
2
  import { invariantDecimalSeparator } from ".";
2
- import { localeDecimalSeparator, NumberFormatter } from "./number-formatter";
3
3
  export class PrecisionNumber {
4
4
  constructor(value, precision) {
5
5
  this.value = value;
@@ -13,11 +13,15 @@ export class PrecisionNumber {
13
13
  if (normalized.endsWith(invariantDecimalSeparator)) {
14
14
  normalized += "0";
15
15
  }
16
- const precision = normalized
16
+ const value = parseFloat(normalized);
17
+ let precision = normalized
17
18
  .replace(".", "")
18
19
  .replace("+", "")
19
20
  .replace("-", "").length;
20
- return new PrecisionNumber(parseFloat(normalized), precision);
21
+ if (value > -1 && value < 1 && value !== 0 && precision > 1) {
22
+ precision--;
23
+ }
24
+ return new PrecisionNumber(value, precision);
21
25
  }
22
26
  toString() {
23
27
  return this.value.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,GAAG,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,OAAO,eAAe;IACxB,YACW,KAAa,EACb,SAAiB;QADjB,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;IACzB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAa;QACtB,IAAI,UAAU,GAAG,KAAK;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACjD,UAAU,IAAI,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,SAAS,GAAG,UAAU;aACvB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACb,OAAO,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ"}
1
+ {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,GAAG,CAAC;AAE9C,MAAM,OAAO,eAAe;IACxB,YACW,KAAa,EACb,SAAiB;QADjB,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;IACzB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAa;QACtB,IAAI,UAAU,GAAG,KAAK;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACjD,UAAU,IAAI,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,SAAS,GAAG,UAAU;aACrB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACb,OAAO,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ"}
@@ -21,5 +21,15 @@ describe("precision-number", () => {
21
21
  expect(number.value).to.equal(1);
22
22
  expect(number.precision).to.equal(2);
23
23
  });
24
+ it("should parse '0.6'", () => {
25
+ const number = PrecisionNumber.parse("0.6");
26
+ expect(number.value).to.equal(0.6);
27
+ expect(number.precision).to.equal(1);
28
+ });
29
+ it("should parse '.6'", () => {
30
+ const number = PrecisionNumber.parse(".6");
31
+ expect(number.value).to.equal(0.6);
32
+ expect(number.precision).to.equal(1);
33
+ });
24
34
  });
25
35
  //# sourceMappingURL=precision-number.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"precision-number.spec.js","sourceRoot":"","sources":["../../src/precision-number.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"precision-number.spec.js","sourceRoot":"","sources":["../../src/precision-number.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- export type RegisterId = "none" | "heatEnergy" | "diffHeatEnergy" | "cntHeatEnergy" | "heatEnergyVolumeInInlet" | "diffHeatEnergyVolumeInInlet" | "cntHeatEnergyVolumeInInlet" | "heatEnergyVolumeInOutlet" | "diffHeatEnergyVolumeInOutlet" | "cntHeatEnergyVolumeInOutlet" | "coolingEnergy" | "diffCoolingEnergy" | "cntCoolingEnergy" | "coolingEnergyVolumeInInlet" | "diffCoolingEnergyVolumeInInlet" | "cntCoolingEnergyVolumeInInlet" | "coolingEnergyVolumeInOutlet" | "diffCoolingEnergyVolumeInOutlet" | "cntCoolingEnergyVolumeInOutlet" | "electricalEnergy" | "diffElectricalEnergy" | "cntElectricalEnergy" | "reactiveEnergy" | "diffReactiveEnergy" | "cntReactiveEnergy" | "heatEnergyTariff1" | "diffHeatEnergyTariff1" | "cntHeatEnergyTariff1" | "heatEnergyTariff1VolumeInInlet" | "diffHeatEnergyTariff1VolumeInInlet" | "cntHeatEnergyTariff1VolumeInInlet" | "heatEnergyTariff1VolumeInOutlet" | "diffHeatEnergyTariff1VolumeInOutlet" | "cntHeatEnergyTariff1VolumeInOutlet" | "heatEnergyTariff2" | "diffHeatEnergyTariff2" | "cntHeatEnergyTariff2" | "heatEnergyTariff2VolumeInInlet" | "diffHeatEnergyTariff2VolumeInInlet" | "cntHeatEnergyTariff2VolumeInInlet" | "heatEnergyTariff2VolumeInOutlet" | "diffHeatEnergyTariff2VolumeInOutlet" | "cntHeatEnergyTariff2VolumeInOutlet" | "volume" | "diffVolume" | "cntVolume" | "inletVolume" | "diffInletVolume" | "cntInletVolume" | "outletVolume" | "diffOutletVolume" | "cntOutletVolume" | "pulseInputAVolume" | "diffPulseInputAVolume" | "cntPulseInputAVolume" | "pulseInputBVolume" | "diffPulseInputBVolume" | "cntPulseInputBVolume" | "mass" | "diffMass" | "cntMass" | "inletMass" | "diffInletMass" | "cntInletMass" | "outletMass" | "diffOutletMass" | "cntOutletMass" | "pressure" | "maxPressure" | "minPressure" | "avgPressure" | "sumPressure" | "cntPressure" | "ssqPressure" | "inletPressure" | "maxInletPressure" | "minInletPressure" | "avgInletPressure" | "sumInletPressure" | "cntInletPressure" | "ssqInletPressure" | "outletPressure" | "maxOutletPressure" | "minOutletPressure" | "avgOutletPressure" | "sumOutletPressure" | "cntOutletPressure" | "ssqOutletPressure" | "power" | "maxPower" | "minPower" | "avgPower" | "sumPower" | "cntPower" | "ssqPower" | "inletPower" | "maxInletPower" | "minInletPower" | "avgInletPower" | "sumInletPower" | "cntInletPower" | "ssqInletPower" | "outletPower" | "maxOutletPower" | "minOutletPower" | "avgOutletPower" | "sumOutletPower" | "cntOutletPower" | "ssqOutletPower" | "volumeFlow" | "maxVolumeFlow" | "minVolumeFlow" | "avgVolumeFlow" | "sumVolumeFlow" | "cntVolumeFlow" | "ssqVolumeFlow" | "inletVolumeFlow" | "maxInletVolumeFlow" | "minInletVolumeFlow" | "avgInletVolumeFlow" | "sumInletVolumeFlow" | "cntInletVolumeFlow" | "ssqInletVolumeFlow" | "outletVolumeFlow" | "maxOutletVolumeFlow" | "minOutletVolumeFlow" | "avgOutletVolumeFlow" | "sumOutletVolumeFlow" | "cntOutletVolumeFlow" | "ssqOutletVolumeFlow" | "massFlow" | "maxMassFlow" | "minMassFlow" | "avgMassFlow" | "sumMassFlow" | "cntMassFlow" | "ssqMassFlow" | "inletMassFlow" | "maxInletMassFlow" | "minInletMassFlow" | "avgInletMassFlow" | "sumInletMassFlow" | "cntInletMassFlow" | "ssqInletMassFlow" | "outletMassFlow" | "maxOutletMassFlow" | "minOutletMassFlow" | "avgOutletMassFlow" | "sumOutletMassFlow" | "cntOutletMassFlow" | "ssqOutletMassFlow" | "flowTemperature" | "maxFlowTemperature" | "minFlowTemperature" | "avgFlowTemperature" | "sumFlowTemperature" | "cntFlowTemperature" | "ssqFlowTemperature" | "inletFlowTemperature" | "maxInletFlowTemperature" | "minInletFlowTemperature" | "avgInletFlowTemperature" | "sumInletFlowTemperature" | "cntInletFlowTemperature" | "ssqInletFlowTemperature" | "outletFlowTemperature" | "maxOutletFlowTemperature" | "minOutletFlowTemperature" | "avgOutletFlowTemperature" | "sumOutletFlowTemperature" | "cntOutletFlowTemperature" | "ssqOutletFlowTemperature" | "inletMinusOutletFlowTemperatureDifference" | "maxInletMinusOutletFlowTemperatureDifference" | "minInletMinusOutletFlowTemperatureDifference" | "avgInletMinusOutletFlowTemperatureDifference" | "sumInletMinusOutletFlowTemperatureDifference" | "cntInletMinusOutletFlowTemperatureDifference" | "ssqInletMinusOutletFlowTemperatureDifference" | "outletMinusInletFlowTemperatureDifference" | "maxOutletMinusInletFlowTemperatureDifference" | "minOutletMinusInletFlowTemperatureDifference" | "avgOutletMinusInletFlowTemperatureDifference" | "sumOutletMinusInletFlowTemperatureDifference" | "cntOutletMinusInletFlowTemperatureDifference" | "ssqOutletMinusInletFlowTemperatureDifference" | "ambientTemperature" | "maxAmbientTemperature" | "minAmbientTemperature" | "avgAmbientTemperature" | "sumAmbientTemperature" | "cntAmbientTemperature" | "ssqAmbientTemperature" | "radiatorTemperature" | "maxRadiatorTemperature" | "minRadiatorTemperature" | "avgRadiatorTemperature" | "sumRadiatorTemperature" | "cntRadiatorTemperature" | "ssqRadiatorTemperature" | "auxFlowTemperature" | "maxAuxFlowTemperature" | "minAuxFlowTemperature" | "avgAuxFlowTemperature" | "sumAuxFlowTemperature" | "cntAuxFlowTemperature" | "ssqAuxFlowTemperature" | "acousticNoise" | "maxAcousticNoise" | "minAcousticNoise" | "avgAcousticNoise" | "sumAcousticNoise" | "cntAcousticNoise" | "ssqAcousticNoise" | "relativeHumidity" | "kamstrupE8Inlet" | "diffKamstrupE8Inlet" | "cntKamstrupE8Inlet" | "kamstrupE9Outlet" | "diffKamstrupE9Outlet" | "cntKamstrupE9Outlet" | "operatingTime" | "diffOperatingTime" | "cntOperatingTime" | "errorOperatingTime" | "diffErrorOperatingTime" | "cntErrorOperatingTime" | "remainingBatteryTime" | "diffRemainingBatteryTime" | "cntRemainingBatteryTime" | "deviceDate" | "deviceTime" | "deviceDateTime" | "timeSinceLastExactOverhearingArrived" | "timeAtLastExactOverhearingArrived" | "timeSinceLastPossibleCandidateOverhearingArrived" | "timeAtLastPossibleCandidateOverhearingArrived" | "timeSinceLastSampled" | "timeAtLastSampled" | "timeSinceLastInstallationMounted" | "timeAtLastInstallationMounted" | "basetime" | "instantTime" | "periodStartTime" | "periodEndTime" | "instantOrPeriodStartTime" | "instantOrPeriodEndTime" | "device" | "wMBusDeviceAddresses" | "kamdraftDeviceAddresses" | "tchlrDeviceAddresses" | "kamdaDeviceAddresses" | "msisdnDeviceAddresses" | "deviceRegisters" | "permanentVolumeFlow" | "nominalDiameter" | "place" | "mBusFormatStringSignature" | "deviceSoftwareVersion" | "legacyDeviceSamples" | "consumer" | "kamstrupMulticalInfocodeType1" | "kamstrupMulticalInfocodeType2" | "kamstrupMulticalInfocodeType3" | "kamstrupMulticalInfocodeType4" | "kamstrupMulticalInfocodeType5" | "kamstrupMulticalInfocodeType6" | "kamstrupMulticalInfocodeType7" | "kamstrupMulticalInfocode" | "kamstrupModuleType" | "diehlInfocodeType1" | "diehlInfocodeType2" | "diehlInfocodeType3" | "diehlInfocodeType4" | "diehlInfocode" | "landisGyrMBusStatusType1" | "landisGyrMBusStatusType2" | "landisGyrMBusStatus" | "landisGyrInfocodeType1" | "landisGyrInfocodeType2" | "landisGyrInfocode" | "infocode";
1
+ export type RegisterId = "none" | "heatEnergy" | "diffHeatEnergy" | "cntHeatEnergy" | "heatEnergyVolumeInInlet" | "diffHeatEnergyVolumeInInlet" | "cntHeatEnergyVolumeInInlet" | "heatEnergyVolumeInOutlet" | "diffHeatEnergyVolumeInOutlet" | "cntHeatEnergyVolumeInOutlet" | "coolingEnergy" | "diffCoolingEnergy" | "cntCoolingEnergy" | "coolingEnergyVolumeInInlet" | "diffCoolingEnergyVolumeInInlet" | "cntCoolingEnergyVolumeInInlet" | "coolingEnergyVolumeInOutlet" | "diffCoolingEnergyVolumeInOutlet" | "cntCoolingEnergyVolumeInOutlet" | "electricalEnergy" | "diffElectricalEnergy" | "cntElectricalEnergy" | "reactiveEnergy" | "diffReactiveEnergy" | "cntReactiveEnergy" | "heatEnergyTariff1" | "diffHeatEnergyTariff1" | "cntHeatEnergyTariff1" | "heatEnergyTariff1VolumeInInlet" | "diffHeatEnergyTariff1VolumeInInlet" | "cntHeatEnergyTariff1VolumeInInlet" | "heatEnergyTariff1VolumeInOutlet" | "diffHeatEnergyTariff1VolumeInOutlet" | "cntHeatEnergyTariff1VolumeInOutlet" | "heatEnergyTariff2" | "diffHeatEnergyTariff2" | "cntHeatEnergyTariff2" | "heatEnergyTariff2VolumeInInlet" | "diffHeatEnergyTariff2VolumeInInlet" | "cntHeatEnergyTariff2VolumeInInlet" | "heatEnergyTariff2VolumeInOutlet" | "diffHeatEnergyTariff2VolumeInOutlet" | "cntHeatEnergyTariff2VolumeInOutlet" | "volume" | "diffVolume" | "cntVolume" | "inletVolume" | "diffInletVolume" | "cntInletVolume" | "outletVolume" | "diffOutletVolume" | "cntOutletVolume" | "pulseInputAVolume" | "diffPulseInputAVolume" | "cntPulseInputAVolume" | "pulseInputBVolume" | "diffPulseInputBVolume" | "cntPulseInputBVolume" | "mass" | "diffMass" | "cntMass" | "inletMass" | "diffInletMass" | "cntInletMass" | "outletMass" | "diffOutletMass" | "cntOutletMass" | "pressure" | "maxPressure" | "minPressure" | "avgPressure" | "sumPressure" | "cntPressure" | "ssqPressure" | "inletPressure" | "maxInletPressure" | "minInletPressure" | "avgInletPressure" | "sumInletPressure" | "cntInletPressure" | "ssqInletPressure" | "outletPressure" | "maxOutletPressure" | "minOutletPressure" | "avgOutletPressure" | "sumOutletPressure" | "cntOutletPressure" | "ssqOutletPressure" | "power" | "maxPower" | "minPower" | "avgPower" | "sumPower" | "cntPower" | "ssqPower" | "inletPower" | "maxInletPower" | "minInletPower" | "avgInletPower" | "sumInletPower" | "cntInletPower" | "ssqInletPower" | "outletPower" | "maxOutletPower" | "minOutletPower" | "avgOutletPower" | "sumOutletPower" | "cntOutletPower" | "ssqOutletPower" | "volumeFlow" | "maxVolumeFlow" | "minVolumeFlow" | "avgVolumeFlow" | "sumVolumeFlow" | "cntVolumeFlow" | "ssqVolumeFlow" | "inletVolumeFlow" | "maxInletVolumeFlow" | "minInletVolumeFlow" | "avgInletVolumeFlow" | "sumInletVolumeFlow" | "cntInletVolumeFlow" | "ssqInletVolumeFlow" | "outletVolumeFlow" | "maxOutletVolumeFlow" | "minOutletVolumeFlow" | "avgOutletVolumeFlow" | "sumOutletVolumeFlow" | "cntOutletVolumeFlow" | "ssqOutletVolumeFlow" | "massFlow" | "maxMassFlow" | "minMassFlow" | "avgMassFlow" | "sumMassFlow" | "cntMassFlow" | "ssqMassFlow" | "inletMassFlow" | "maxInletMassFlow" | "minInletMassFlow" | "avgInletMassFlow" | "sumInletMassFlow" | "cntInletMassFlow" | "ssqInletMassFlow" | "outletMassFlow" | "maxOutletMassFlow" | "minOutletMassFlow" | "avgOutletMassFlow" | "sumOutletMassFlow" | "cntOutletMassFlow" | "ssqOutletMassFlow" | "flowTemperature" | "maxFlowTemperature" | "minFlowTemperature" | "avgFlowTemperature" | "sumFlowTemperature" | "cntFlowTemperature" | "ssqFlowTemperature" | "inletFlowTemperature" | "maxInletFlowTemperature" | "minInletFlowTemperature" | "avgInletFlowTemperature" | "sumInletFlowTemperature" | "cntInletFlowTemperature" | "ssqInletFlowTemperature" | "outletFlowTemperature" | "maxOutletFlowTemperature" | "minOutletFlowTemperature" | "avgOutletFlowTemperature" | "sumOutletFlowTemperature" | "cntOutletFlowTemperature" | "ssqOutletFlowTemperature" | "inletMinusOutletFlowTemperatureDifference" | "maxInletMinusOutletFlowTemperatureDifference" | "minInletMinusOutletFlowTemperatureDifference" | "avgInletMinusOutletFlowTemperatureDifference" | "sumInletMinusOutletFlowTemperatureDifference" | "cntInletMinusOutletFlowTemperatureDifference" | "ssqInletMinusOutletFlowTemperatureDifference" | "outletMinusInletFlowTemperatureDifference" | "maxOutletMinusInletFlowTemperatureDifference" | "minOutletMinusInletFlowTemperatureDifference" | "avgOutletMinusInletFlowTemperatureDifference" | "sumOutletMinusInletFlowTemperatureDifference" | "cntOutletMinusInletFlowTemperatureDifference" | "ssqOutletMinusInletFlowTemperatureDifference" | "ambientTemperature" | "maxAmbientTemperature" | "minAmbientTemperature" | "avgAmbientTemperature" | "sumAmbientTemperature" | "cntAmbientTemperature" | "ssqAmbientTemperature" | "radiatorTemperature" | "maxRadiatorTemperature" | "minRadiatorTemperature" | "avgRadiatorTemperature" | "sumRadiatorTemperature" | "cntRadiatorTemperature" | "ssqRadiatorTemperature" | "auxFlowTemperature" | "maxAuxFlowTemperature" | "minAuxFlowTemperature" | "avgAuxFlowTemperature" | "sumAuxFlowTemperature" | "cntAuxFlowTemperature" | "ssqAuxFlowTemperature" | "acousticNoise" | "maxAcousticNoise" | "minAcousticNoise" | "avgAcousticNoise" | "sumAcousticNoise" | "cntAcousticNoise" | "ssqAcousticNoise" | "relativeHumidity" | "kamstrupE8Inlet" | "diffKamstrupE8Inlet" | "cntKamstrupE8Inlet" | "kamstrupE9Outlet" | "diffKamstrupE9Outlet" | "cntKamstrupE9Outlet" | "operatingTime" | "diffOperatingTime" | "cntOperatingTime" | "errorOperatingTime" | "diffErrorOperatingTime" | "cntErrorOperatingTime" | "remainingBatteryTime" | "diffRemainingBatteryTime" | "cntRemainingBatteryTime" | "deviceDate" | "deviceTime" | "deviceDateTime" | "timeSinceLastExactOverhearingArrived" | "timeAtLastExactOverhearingArrived" | "timeSinceLastPossibleCandidateOverhearingArrived" | "timeAtLastPossibleCandidateOverhearingArrived" | "timeSinceLastSampled" | "timeAtLastSampled" | "timeSinceLastInstallationMounted" | "timeAtLastInstallationMounted" | "basetime" | "instantTime" | "periodStartTime" | "periodEndTime" | "instantOrPeriodStartTime" | "instantOrPeriodEndTime" | "device" | "wMBusDeviceAddresses" | "kamdraftDeviceAddresses" | "tchlrDeviceAddresses" | "kamdaDeviceAddresses" | "msisdnDeviceAddresses" | "deviceRegisters" | "devicePermanentVolumeFlow" | "deviceNominalDiameter" | "place" | "mBusFormatStringSignature" | "deviceSoftwareVersion" | "legacyDeviceSamples" | "consumer" | "kamstrupMulticalInfocodeType1" | "kamstrupMulticalInfocodeType2" | "kamstrupMulticalInfocodeType3" | "kamstrupMulticalInfocodeType4" | "kamstrupMulticalInfocodeType5" | "kamstrupMulticalInfocodeType6" | "kamstrupMulticalInfocodeType7" | "kamstrupMulticalInfocode" | "kamstrupModuleType" | "diehlInfocodeType1" | "diehlInfocodeType2" | "diehlInfocodeType3" | "diehlInfocodeType4" | "diehlInfocode" | "landisGyrMBusStatusType1" | "landisGyrMBusStatusType2" | "landisGyrMBusStatus" | "landisGyrInfocodeType1" | "landisGyrInfocodeType2" | "landisGyrInfocode" | "infocode";
@@ -0,0 +1,2 @@
1
+ import { RegisterDefinition } from "../register-definition";
2
+ export declare const deviceNominalDiameter: RegisterDefinition;
@@ -0,0 +1,8 @@
1
+ export const deviceNominalDiameter = {
2
+ id: "deviceNominalDiameter",
3
+ measure: "none",
4
+ aggregate: "instant",
5
+ units: ["unitless"],
6
+ immediate: true,
7
+ };
8
+ //# sourceMappingURL=device-nominal-diameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-nominal-diameter.js","sourceRoot":"","sources":["../../../src/registers/device-nominal-diameter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACrD,EAAE,EAAE,uBAAuB;IAC3B,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,SAAS,EAAE,IAAI;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { RegisterDefinition } from "../register-definition";
2
+ export declare const devicePermanentVolumeFlow: RegisterDefinition;
@@ -0,0 +1,8 @@
1
+ export const devicePermanentVolumeFlow = {
2
+ id: "devicePermanentVolumeFlow",
3
+ measure: "volumeFlow",
4
+ aggregate: "instant",
5
+ units: ["cubicMetersPerHour"],
6
+ immediate: true,
7
+ };
8
+ //# sourceMappingURL=device-permanent-volume-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-permanent-volume-flow.js","sourceRoot":"","sources":["../../../src/registers/device-permanent-volume-flow.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IACzD,EAAE,EAAE,2BAA2B;IAC/B,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,CAAC,oBAAoB,CAAC;IAC7B,SAAS,EAAE,IAAI;CAClB,CAAC"}
@@ -11,6 +11,8 @@ export * from "./device-addresses-tchlr";
11
11
  export * from "./device-addresses-wmbus";
12
12
  export * from "./device-date-time";
13
13
  export * from "./device-date";
14
+ export * from "./device-nominal-diameter";
15
+ export * from "./device-permanent-volume-flow";
14
16
  export * from "./device-registers";
15
17
  export * from "./device-software-version";
16
18
  export * from "./device-time";
@@ -40,10 +42,8 @@ export * from "./mass-inlet";
40
42
  export * from "./mass-outlet";
41
43
  export * from "./mass";
42
44
  export * from "./mbus-format-string-signature";
43
- export * from "./nominalDiameter";
44
45
  export * from "./none";
45
46
  export * from "./operating-time";
46
- export * from "./permanentVolumeFlow";
47
47
  export * from "./place";
48
48
  export * from "./power-inlet";
49
49
  export * from "./power-outlet";
@@ -11,6 +11,8 @@ export * from "./device-addresses-tchlr";
11
11
  export * from "./device-addresses-wmbus";
12
12
  export * from "./device-date-time";
13
13
  export * from "./device-date";
14
+ export * from "./device-nominal-diameter";
15
+ export * from "./device-permanent-volume-flow";
14
16
  export * from "./device-registers";
15
17
  export * from "./device-software-version";
16
18
  export * from "./device-time";
@@ -40,10 +42,8 @@ export * from "./mass-inlet";
40
42
  export * from "./mass-outlet";
41
43
  export * from "./mass";
42
44
  export * from "./mbus-format-string-signature";
43
- export * from "./nominalDiameter";
44
45
  export * from "./none";
45
46
  export * from "./operating-time";
46
- export * from "./permanentVolumeFlow";
47
47
  export * from "./place";
48
48
  export * from "./power-inlet";
49
49
  export * from "./power-outlet";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oDAAoD,CAAC;AACnE,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oDAAoD,CAAC;AACnE,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC"}
@@ -907,11 +907,11 @@
907
907
  "brief": "Enhedsregistre",
908
908
  "name": "Enhedsregistre"
909
909
  },
910
- "permanentVolumeFlow": {
910
+ "devicePermanentVolumeFlow": {
911
911
  "brief": "qp",
912
912
  "name": "Permanent godkendt flow"
913
913
  },
914
- "nominalDiameter": {
914
+ "deviceNominalDiameter": {
915
915
  "brief": "DN",
916
916
  "name": "Indvendig diameter"
917
917
  },
@@ -907,11 +907,11 @@
907
907
  "brief": "Device registers",
908
908
  "name": "Device registers"
909
909
  },
910
- "permanentVolumeFlow": {
910
+ "devicePermanentVolumeFlow": {
911
911
  "brief": "qp",
912
912
  "name": "Permanent approved flow"
913
913
  },
914
- "nominalDiameter": {
914
+ "deviceNominalDiameter": {
915
915
  "brief": "DN",
916
916
  "name": "Internal diameter"
917
917
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utiliread/primitives",
3
- "version": "1.0.0-105",
3
+ "version": "1.0.0-107",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/esm/index.d.ts",
@@ -25,4 +25,16 @@ describe("precision-number", () => {
25
25
  expect(number.value).to.equal(1);
26
26
  expect(number.precision).to.equal(2);
27
27
  });
28
+
29
+ it("should parse '0.6'", () => {
30
+ const number = PrecisionNumber.parse("0.6");
31
+ expect(number.value).to.equal(0.6);
32
+ expect(number.precision).to.equal(1);
33
+ });
34
+
35
+ it("should parse '.6'", () => {
36
+ const number = PrecisionNumber.parse(".6");
37
+ expect(number.value).to.equal(0.6);
38
+ expect(number.precision).to.equal(1);
39
+ });
28
40
  });
@@ -1,5 +1,6 @@
1
+ import { NumberFormatter, localeDecimalSeparator } from "./number-formatter";
2
+
1
3
  import { invariantDecimalSeparator } from ".";
2
- import { localeDecimalSeparator, NumberFormatter } from "./number-formatter";
3
4
 
4
5
  export class PrecisionNumber {
5
6
  constructor(
@@ -15,11 +16,15 @@ export class PrecisionNumber {
15
16
  if (normalized.endsWith(invariantDecimalSeparator)) {
16
17
  normalized += "0";
17
18
  }
18
- const precision = normalized
19
+ const value = parseFloat(normalized);
20
+ let precision = normalized
19
21
  .replace(".", "")
20
22
  .replace("+", "")
21
23
  .replace("-", "").length;
22
- return new PrecisionNumber(parseFloat(normalized), precision);
24
+ if (value > -1 && value < 1 && value !== 0 && precision > 1) {
25
+ precision--;
26
+ }
27
+ return new PrecisionNumber(value, precision);
23
28
  }
24
29
 
25
30
  toString() {
@@ -253,8 +253,8 @@ export type RegisterId =
253
253
  | "kamdaDeviceAddresses"
254
254
  | "msisdnDeviceAddresses"
255
255
  | "deviceRegisters"
256
- | "permanentVolumeFlow"
257
- | "nominalDiameter"
256
+ | "devicePermanentVolumeFlow"
257
+ | "deviceNominalDiameter"
258
258
  | "place"
259
259
  | "mBusFormatStringSignature"
260
260
  | "deviceSoftwareVersion"
@@ -1,7 +1,7 @@
1
1
  import { RegisterDefinition } from "../register-definition";
2
2
 
3
- export const nominalDiameter: RegisterDefinition = {
4
- id: "nominalDiameter",
3
+ export const deviceNominalDiameter: RegisterDefinition = {
4
+ id: "deviceNominalDiameter",
5
5
  measure: "none",
6
6
  aggregate: "instant",
7
7
  units: ["unitless"],
@@ -1,7 +1,7 @@
1
1
  import { RegisterDefinition } from "../register-definition";
2
2
 
3
- export const permanentVolumeFlow: RegisterDefinition = {
4
- id: "permanentVolumeFlow",
3
+ export const devicePermanentVolumeFlow: RegisterDefinition = {
4
+ id: "devicePermanentVolumeFlow",
5
5
  measure: "volumeFlow",
6
6
  aggregate: "instant",
7
7
  units: ["cubicMetersPerHour"],
@@ -11,6 +11,8 @@ export * from "./device-addresses-tchlr";
11
11
  export * from "./device-addresses-wmbus";
12
12
  export * from "./device-date-time";
13
13
  export * from "./device-date";
14
+ export * from "./device-nominal-diameter";
15
+ export * from "./device-permanent-volume-flow";
14
16
  export * from "./device-registers";
15
17
  export * from "./device-software-version";
16
18
  export * from "./device-time";
@@ -40,10 +42,8 @@ export * from "./mass-inlet";
40
42
  export * from "./mass-outlet";
41
43
  export * from "./mass";
42
44
  export * from "./mbus-format-string-signature";
43
- export * from "./nominalDiameter";
44
45
  export * from "./none";
45
46
  export * from "./operating-time";
46
- export * from "./permanentVolumeFlow";
47
47
  export * from "./place";
48
48
  export * from "./power-inlet";
49
49
  export * from "./power-outlet";