@utiliread/primitives 1.0.0-45 → 1.0.0-46

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.
@@ -23,7 +23,7 @@ var Formatter = /** @class */ (function () {
23
23
  Formatter.prototype.toFixed = function (value, precision) {
24
24
  var parts = this.getParts(value, precision);
25
25
  if (parts.noOfCoefficientDecimals < parts.exponent) {
26
- var number = parts.coefficient.toString().replace(exports.invariantDecimalSeparator, "");
26
+ var number = parts.invariantCoefficientString.replace(exports.invariantDecimalSeparator, "");
27
27
  var zeros = parts.exponent - parts.noOfCoefficientDecimals;
28
28
  return "" + number + "0".repeat(zeros);
29
29
  }
@@ -39,15 +39,15 @@ var Formatter = /** @class */ (function () {
39
39
  var precisionString = this.toPrecision(value, precision);
40
40
  if (precisionString.indexOf("e") >= 0) {
41
41
  var match = /(.*)e([\+-]\d+)$/.exec(precisionString);
42
- var coefficient = match[1];
42
+ var coefficientString = match[1];
43
43
  var exponent = parseInt(match[2]);
44
- var decimalSeparatorIndex = coefficient.indexOf(exports.invariantDecimalSeparator);
44
+ var decimalSeparatorIndex = coefficientString.indexOf(exports.invariantDecimalSeparator);
45
45
  var noOfCoefficientDecimals = decimalSeparatorIndex >= 0
46
- ? coefficient.length - decimalSeparatorIndex - 1
46
+ ? coefficientString.length - decimalSeparatorIndex - 1
47
47
  : 0;
48
48
  return {
49
49
  invariantPrecisionString: precisionString,
50
- coefficient: Number(coefficient),
50
+ invariantCoefficientString: coefficientString,
51
51
  exponent: exponent,
52
52
  noOfCoefficientDecimals: noOfCoefficientDecimals,
53
53
  };
@@ -59,7 +59,7 @@ var Formatter = /** @class */ (function () {
59
59
  : 0;
60
60
  return {
61
61
  invariantPrecisionString: precisionString,
62
- coefficient: Number(precisionString),
62
+ invariantCoefficientString: precisionString,
63
63
  exponent: 0,
64
64
  noOfCoefficientDecimals: noOfCoefficientDecimals,
65
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":"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"}
@@ -5,50 +5,50 @@ var number_formatter_1 = require("./number-formatter");
5
5
  describe("toParts and toPrecision", function () {
6
6
  it("should format correctly", function () {
7
7
  var data = [
8
- [77.1274, 1, { invariantPrecisionString: "8e+1", coefficient: 8, exponent: 1, noOfCoefficientDecimals: 0 }],
9
- [77.1274, 2, { invariantPrecisionString: "77", coefficient: 77, exponent: 0, noOfCoefficientDecimals: 0 }],
10
- [77.1274, 4, { invariantPrecisionString: "77.13", coefficient: 77.13, exponent: 0, noOfCoefficientDecimals: 2 }],
11
- [77.1274, 5, { invariantPrecisionString: "77.127", coefficient: 77.127, exponent: 0, noOfCoefficientDecimals: 3 }],
12
- [77.1274, 6, { invariantPrecisionString: "77.1274", coefficient: 77.1274, exponent: 0, noOfCoefficientDecimals: 4 }],
13
- [77.1274, 7, { invariantPrecisionString: "77.12740", coefficient: 77.12740, exponent: 0, noOfCoefficientDecimals: 5 }],
14
- [77.1274, 15, { invariantPrecisionString: "77.1274000000000", coefficient: 77.1274000000000, exponent: 0, noOfCoefficientDecimals: 13 }],
15
- [77.1274, 16, { invariantPrecisionString: "77.12739999999999", coefficient: 77.12739999999999, exponent: 0, noOfCoefficientDecimals: 14 }],
16
- [77.1274, 17, { invariantPrecisionString: "77.127399999999994", coefficient: 77.127399999999994, exponent: 0, noOfCoefficientDecimals: 15 }],
17
- [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", coefficient: 77.1273999999999944, exponent: 0, noOfCoefficientDecimals: 16 }],
18
- [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", coefficient: 77.12739999999999441, exponent: 0, noOfCoefficientDecimals: 17 }],
19
- [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", coefficient: 77.127399999999994407, exponent: 0, noOfCoefficientDecimals: 18 }],
20
- [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", coefficient: 77.1273999999999944066, exponent: 0, noOfCoefficientDecimals: 19 }],
21
- [0.00000123, 2, { invariantPrecisionString: "0.0000012", coefficient: 0.0000012, exponent: 0, noOfCoefficientDecimals: 7 }],
22
- [0.000000123, 2, { invariantPrecisionString: "1.2e-7", coefficient: 1.2, exponent: -7, noOfCoefficientDecimals: 1 }],
23
- [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", coefficient: 0.00000123000000000000008198, exponent: 0, noOfCoefficientDecimals: 26 }],
24
- [123456, 3, { invariantPrecisionString: "1.23e+5", coefficient: 1.23, exponent: 5, noOfCoefficientDecimals: 2 }],
25
- [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", coefficient: 1.80, exponent: 308, noOfCoefficientDecimals: 2 }],
26
- [123456, 15, { invariantPrecisionString: "123456.000000000", coefficient: 123456.000000000, exponent: 0, noOfCoefficientDecimals: 9 }],
27
- [0, 5, { invariantPrecisionString: "0.0000", coefficient: 0.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
28
- [0.000001, 1, { invariantPrecisionString: "0.000001", coefficient: 0.000001, exponent: 0, noOfCoefficientDecimals: 6 }],
29
- [0.000001, 10, { invariantPrecisionString: "0.000001000000000", coefficient: 0.000001000000000, exponent: 0, noOfCoefficientDecimals: 15 }],
30
- [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", coefficient: 1.000000000, exponent: -7, noOfCoefficientDecimals: 9 }],
31
- [0.00000000001, 1, { invariantPrecisionString: "1e-11", coefficient: 1, exponent: -11, noOfCoefficientDecimals: 0 }],
32
- [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", coefficient: 1.0, exponent: -11, noOfCoefficientDecimals: 1 }],
33
- [55, 2, { invariantPrecisionString: "55", coefficient: 55, exponent: 0, noOfCoefficientDecimals: 0 }],
34
- [55, 1, { invariantPrecisionString: "6e+1", coefficient: 6, exponent: 1, noOfCoefficientDecimals: 0 }],
35
- [-55, 2, { invariantPrecisionString: "-55", coefficient: -55, exponent: 0, noOfCoefficientDecimals: 0 }],
36
- [-55, 1, { invariantPrecisionString: "-6e+1", coefficient: -6, exponent: 1, noOfCoefficientDecimals: 0 }],
37
- [9.59, 1, { invariantPrecisionString: "1e+1", coefficient: 1, exponent: 1, noOfCoefficientDecimals: 0 }],
38
- [9.59, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
39
- [9.95, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
40
- [9.96, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
41
- [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", coefficient: -6, exponent: 20, noOfCoefficientDecimals: 0 }],
42
- [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", coefficient: -6, exponent: 21, noOfCoefficientDecimals: 0 }],
43
- [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", coefficient: 18014398509482012.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
44
- [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", coefficient: 180143985094820134912, exponent: 0, noOfCoefficientDecimals: 0 }],
45
- [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", coefficient: 0.100000000000000005551, exponent: 0, noOfCoefficientDecimals: 21 }],
46
- [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", coefficient: 2.2, exponent: -16, noOfCoefficientDecimals: 1 }],
47
- [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", coefficient: 2.22044604925031308085, exponent: -16, noOfCoefficientDecimals: 20 }],
48
- [Number.NaN, 3, { invariantPrecisionString: "NaN", coefficient: NaN, exponent: 0, noOfCoefficientDecimals: 0 }],
49
- [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", coefficient: Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
50
- [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", coefficient: -Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
51
- [164735280, 7, { invariantPrecisionString: "1.647353e+8", coefficient: 1.647353, exponent: 8, noOfCoefficientDecimals: 6 }],
8
+ [77.1274, 1, { invariantPrecisionString: "8e+1", invariantCoefficientString: "8", exponent: 1, noOfCoefficientDecimals: 0 }],
9
+ [77.1274, 2, { invariantPrecisionString: "77", invariantCoefficientString: "77", exponent: 0, noOfCoefficientDecimals: 0 }],
10
+ [77.1274, 4, { invariantPrecisionString: "77.13", invariantCoefficientString: "77.13", exponent: 0, noOfCoefficientDecimals: 2 }],
11
+ [77.1274, 5, { invariantPrecisionString: "77.127", invariantCoefficientString: "77.127", exponent: 0, noOfCoefficientDecimals: 3 }],
12
+ [77.1274, 6, { invariantPrecisionString: "77.1274", invariantCoefficientString: "77.1274", exponent: 0, noOfCoefficientDecimals: 4 }],
13
+ [77.1274, 7, { invariantPrecisionString: "77.12740", invariantCoefficientString: "77.12740", exponent: 0, noOfCoefficientDecimals: 5 }],
14
+ [77.1274, 15, { invariantPrecisionString: "77.1274000000000", invariantCoefficientString: "77.1274000000000", exponent: 0, noOfCoefficientDecimals: 13 }],
15
+ [77.1274, 16, { invariantPrecisionString: "77.12739999999999", invariantCoefficientString: "77.12739999999999", exponent: 0, noOfCoefficientDecimals: 14 }],
16
+ [77.1274, 17, { invariantPrecisionString: "77.127399999999994", invariantCoefficientString: "77.127399999999994", exponent: 0, noOfCoefficientDecimals: 15 }],
17
+ [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", invariantCoefficientString: "77.1273999999999944", exponent: 0, noOfCoefficientDecimals: 16 }],
18
+ [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", invariantCoefficientString: "77.12739999999999441", exponent: 0, noOfCoefficientDecimals: 17 }],
19
+ [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", invariantCoefficientString: "77.127399999999994407", exponent: 0, noOfCoefficientDecimals: 18 }],
20
+ [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", invariantCoefficientString: "77.1273999999999944066", exponent: 0, noOfCoefficientDecimals: 19 }],
21
+ [0.00000123, 2, { invariantPrecisionString: "0.0000012", invariantCoefficientString: "0.0000012", exponent: 0, noOfCoefficientDecimals: 7 }],
22
+ [0.000000123, 2, { invariantPrecisionString: "1.2e-7", invariantCoefficientString: "1.2", exponent: -7, noOfCoefficientDecimals: 1 }],
23
+ [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", invariantCoefficientString: "0.00000123000000000000008198", exponent: 0, noOfCoefficientDecimals: 26 }],
24
+ [123456, 3, { invariantPrecisionString: "1.23e+5", invariantCoefficientString: "1.23", exponent: 5, noOfCoefficientDecimals: 2 }],
25
+ [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", invariantCoefficientString: "1.80", exponent: 308, noOfCoefficientDecimals: 2 }],
26
+ [123456, 15, { invariantPrecisionString: "123456.000000000", invariantCoefficientString: "123456.000000000", exponent: 0, noOfCoefficientDecimals: 9 }],
27
+ [0, 5, { invariantPrecisionString: "0.0000", invariantCoefficientString: "0.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
28
+ [0.000001, 1, { invariantPrecisionString: "0.000001", invariantCoefficientString: "0.000001", exponent: 0, noOfCoefficientDecimals: 6 }],
29
+ [0.000001, 10, { invariantPrecisionString: "0.000001000000000", invariantCoefficientString: "0.000001000000000", exponent: 0, noOfCoefficientDecimals: 15 }],
30
+ [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", invariantCoefficientString: "1.000000000", exponent: -7, noOfCoefficientDecimals: 9 }],
31
+ [0.00000000001, 1, { invariantPrecisionString: "1e-11", invariantCoefficientString: "1", exponent: -11, noOfCoefficientDecimals: 0 }],
32
+ [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", invariantCoefficientString: "1.0", exponent: -11, noOfCoefficientDecimals: 1 }],
33
+ [55, 2, { invariantPrecisionString: "55", invariantCoefficientString: "55", exponent: 0, noOfCoefficientDecimals: 0 }],
34
+ [55, 1, { invariantPrecisionString: "6e+1", invariantCoefficientString: "6", exponent: 1, noOfCoefficientDecimals: 0 }],
35
+ [-55, 2, { invariantPrecisionString: "-55", invariantCoefficientString: "-55", exponent: 0, noOfCoefficientDecimals: 0 }],
36
+ [-55, 1, { invariantPrecisionString: "-6e+1", invariantCoefficientString: "-6", exponent: 1, noOfCoefficientDecimals: 0 }],
37
+ [9.59, 1, { invariantPrecisionString: "1e+1", invariantCoefficientString: "1", exponent: 1, noOfCoefficientDecimals: 0 }],
38
+ [9.59, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
39
+ [9.95, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
40
+ [9.96, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
41
+ [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", invariantCoefficientString: "-6", exponent: 20, noOfCoefficientDecimals: 0 }],
42
+ [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", invariantCoefficientString: "-6", exponent: 21, noOfCoefficientDecimals: 0 }],
43
+ [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", invariantCoefficientString: "18014398509482012.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
44
+ [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", invariantCoefficientString: "180143985094820134912", exponent: 0, noOfCoefficientDecimals: 0 }],
45
+ [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", invariantCoefficientString: "0.100000000000000005551", exponent: 0, noOfCoefficientDecimals: 21 }],
46
+ [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", invariantCoefficientString: "2.2", exponent: -16, noOfCoefficientDecimals: 1 }],
47
+ [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", invariantCoefficientString: "2.22044604925031308085", exponent: -16, noOfCoefficientDecimals: 20 }],
48
+ [Number.NaN, 3, { invariantPrecisionString: "NaN", invariantCoefficientString: "NaN", exponent: 0, noOfCoefficientDecimals: 0 }],
49
+ [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", invariantCoefficientString: "Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
50
+ [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", invariantCoefficientString: "-Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
51
+ [164735280, 7, { invariantPrecisionString: "1.647353e+8", invariantCoefficientString: "1.647353", exponent: 8, noOfCoefficientDecimals: 6 }],
52
52
  ];
53
53
  for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
54
54
  var _a = data_1[_i], value = _a[0], precision = _a[1], expectedParts = _a[2];
@@ -57,12 +57,7 @@ describe("toParts and toPrecision", function () {
57
57
  (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocalePrecision(value, precision)).to.equal(localePrecisionString);
58
58
  var parts = number_formatter_1.NumberFormatter.getParts(value, precision);
59
59
  (0, chai_1.expect)(parts.invariantPrecisionString).to.equal(expectedParts.invariantPrecisionString);
60
- if (isNaN(expectedParts.coefficient)) {
61
- (0, chai_1.expect)(isNaN(parts.coefficient)).to.equal(true);
62
- }
63
- else {
64
- (0, chai_1.expect)(parts.coefficient).to.equal(expectedParts.coefficient);
65
- }
60
+ (0, chai_1.expect)(parts.invariantCoefficientString).to.equal(expectedParts.invariantCoefficientString);
66
61
  (0, chai_1.expect)(parts.exponent).to.equal(expectedParts.exponent);
67
62
  (0, chai_1.expect)(parts.noOfCoefficientDecimals).to.equal(expectedParts.noOfCoefficientDecimals);
68
63
  }
@@ -89,4 +84,9 @@ describe("toFixed", function () {
89
84
  }
90
85
  });
91
86
  });
87
+ describe("toLocaleFixed", function () {
88
+ it("should format correctly", function () {
89
+ (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocaleFixed(400, 2)).to.equal("400");
90
+ });
91
+ });
92
92
  //# sourceMappingURL=number-formatter.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatter.spec.js","sourceRoot":"","sources":["../../src/number-formatter.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number-formatter.spec.js","sourceRoot":"","sources":["../../src/number-formatter.spec.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ export declare const invariantDecimalSeparator: string;
2
2
  export declare const localeDecimalSeparator: string;
3
3
  export interface Parts {
4
4
  invariantPrecisionString: string;
5
+ invariantCoefficientString: string;
5
6
  exponent: number;
6
- coefficient: number;
7
7
  noOfCoefficientDecimals: number;
8
8
  }
9
9
  declare class Formatter {
@@ -20,7 +20,7 @@ var Formatter = /** @class */ (function () {
20
20
  Formatter.prototype.toFixed = function (value, precision) {
21
21
  var parts = this.getParts(value, precision);
22
22
  if (parts.noOfCoefficientDecimals < parts.exponent) {
23
- var number = parts.coefficient.toString().replace(invariantDecimalSeparator, "");
23
+ var number = parts.invariantCoefficientString.replace(invariantDecimalSeparator, "");
24
24
  var zeros = parts.exponent - parts.noOfCoefficientDecimals;
25
25
  return "" + number + "0".repeat(zeros);
26
26
  }
@@ -36,15 +36,15 @@ var Formatter = /** @class */ (function () {
36
36
  var precisionString = this.toPrecision(value, precision);
37
37
  if (precisionString.indexOf("e") >= 0) {
38
38
  var match = /(.*)e([\+-]\d+)$/.exec(precisionString);
39
- var coefficient = match[1];
39
+ var coefficientString = match[1];
40
40
  var exponent = parseInt(match[2]);
41
- var decimalSeparatorIndex = coefficient.indexOf(invariantDecimalSeparator);
41
+ var decimalSeparatorIndex = coefficientString.indexOf(invariantDecimalSeparator);
42
42
  var noOfCoefficientDecimals = decimalSeparatorIndex >= 0
43
- ? coefficient.length - decimalSeparatorIndex - 1
43
+ ? coefficientString.length - decimalSeparatorIndex - 1
44
44
  : 0;
45
45
  return {
46
46
  invariantPrecisionString: precisionString,
47
- coefficient: Number(coefficient),
47
+ invariantCoefficientString: coefficientString,
48
48
  exponent: exponent,
49
49
  noOfCoefficientDecimals: noOfCoefficientDecimals,
50
50
  };
@@ -56,7 +56,7 @@ var Formatter = /** @class */ (function () {
56
56
  : 0;
57
57
  return {
58
58
  invariantPrecisionString: precisionString,
59
- coefficient: Number(precisionString),
59
+ invariantCoefficientString: precisionString,
60
60
  exponent: 0,
61
61
  noOfCoefficientDecimals: noOfCoefficientDecimals,
62
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,yBAAyB,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAM,sBAAsB,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;AAShE;IAAA;IAiEA,CAAC;IAhEU,+BAAW,GAAlB,UAAmB,KAAa,EAAE,SAAiB;QAC/C,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,OAAO,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACvC;QAED,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QACjE,OAAO,SAAS,IAAI,iBAAiB;YACjC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;YAC9C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEM,qCAAiB,GAAxB,UAAyB,KAAa,EAAE,SAAiB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;aACpC,OAAO,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;IACpE,CAAC;IAEM,2BAAO,GAAd,UAAe,KAAa,EAAE,SAAiB;QAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE;YAChD,IAAM,MAAM,GAAG,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;YACvF,IAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,uBAAuB,CAAC;YAC7D,OAAO,KAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAG,CAAC;SAC1C;aACI;YACD,OAAO,KAAK,CAAC,wBAAwB,CAAC;SACzC;IACL,CAAC;IAEM,iCAAa,GAApB,UAAqB,KAAa,EAAE,SAAiB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;aAChC,OAAO,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;IACpE,CAAC;IAEM,4BAAQ,GAAf,UAAgB,KAAa,EAAE,SAAiB;QAC5C,IAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnC,IAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAE,CAAC;YACxD,IAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAM,qBAAqB,GAAG,iBAAiB,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACnF,IAAM,uBAAuB,GAAG,qBAAqB,IAAI,CAAC;gBACtD,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,qBAAqB,GAAG,CAAC;gBACtD,CAAC,CAAC,CAAC,CAAC;YACR,OAAO;gBACH,wBAAwB,EAAE,eAAe;gBACzC,0BAA0B,EAAE,iBAAiB;gBAC7C,QAAQ,UAAA;gBACR,uBAAuB,yBAAA;aAC1B,CAAC;SACL;aACI;YACD,IAAM,qBAAqB,GAAG,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACjF,IAAM,uBAAuB,GAAG,qBAAqB,IAAI,CAAC;gBACtD,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,qBAAqB,GAAG,CAAC;gBACpD,CAAC,CAAC,CAAC,CAAC;YACR,OAAO;gBACH,wBAAwB,EAAE,eAAe;gBACzC,0BAA0B,EAAE,eAAe;gBAC3C,QAAQ,EAAE,CAAC;gBACX,uBAAuB,yBAAA;aAC1B,CAAC;SACL;IACL,CAAC;IACL,gBAAC;AAAD,CAAC,AAjED,IAiEC;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,SAAS,EAAE,CAAC"}
@@ -3,50 +3,50 @@ import { NumberFormatter, localeDecimalSeparator, invariantDecimalSeparator } fr
3
3
  describe("toParts and toPrecision", function () {
4
4
  it("should format correctly", function () {
5
5
  var data = [
6
- [77.1274, 1, { invariantPrecisionString: "8e+1", coefficient: 8, exponent: 1, noOfCoefficientDecimals: 0 }],
7
- [77.1274, 2, { invariantPrecisionString: "77", coefficient: 77, exponent: 0, noOfCoefficientDecimals: 0 }],
8
- [77.1274, 4, { invariantPrecisionString: "77.13", coefficient: 77.13, exponent: 0, noOfCoefficientDecimals: 2 }],
9
- [77.1274, 5, { invariantPrecisionString: "77.127", coefficient: 77.127, exponent: 0, noOfCoefficientDecimals: 3 }],
10
- [77.1274, 6, { invariantPrecisionString: "77.1274", coefficient: 77.1274, exponent: 0, noOfCoefficientDecimals: 4 }],
11
- [77.1274, 7, { invariantPrecisionString: "77.12740", coefficient: 77.12740, exponent: 0, noOfCoefficientDecimals: 5 }],
12
- [77.1274, 15, { invariantPrecisionString: "77.1274000000000", coefficient: 77.1274000000000, exponent: 0, noOfCoefficientDecimals: 13 }],
13
- [77.1274, 16, { invariantPrecisionString: "77.12739999999999", coefficient: 77.12739999999999, exponent: 0, noOfCoefficientDecimals: 14 }],
14
- [77.1274, 17, { invariantPrecisionString: "77.127399999999994", coefficient: 77.127399999999994, exponent: 0, noOfCoefficientDecimals: 15 }],
15
- [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", coefficient: 77.1273999999999944, exponent: 0, noOfCoefficientDecimals: 16 }],
16
- [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", coefficient: 77.12739999999999441, exponent: 0, noOfCoefficientDecimals: 17 }],
17
- [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", coefficient: 77.127399999999994407, exponent: 0, noOfCoefficientDecimals: 18 }],
18
- [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", coefficient: 77.1273999999999944066, exponent: 0, noOfCoefficientDecimals: 19 }],
19
- [0.00000123, 2, { invariantPrecisionString: "0.0000012", coefficient: 0.0000012, exponent: 0, noOfCoefficientDecimals: 7 }],
20
- [0.000000123, 2, { invariantPrecisionString: "1.2e-7", coefficient: 1.2, exponent: -7, noOfCoefficientDecimals: 1 }],
21
- [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", coefficient: 0.00000123000000000000008198, exponent: 0, noOfCoefficientDecimals: 26 }],
22
- [123456, 3, { invariantPrecisionString: "1.23e+5", coefficient: 1.23, exponent: 5, noOfCoefficientDecimals: 2 }],
23
- [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", coefficient: 1.80, exponent: 308, noOfCoefficientDecimals: 2 }],
24
- [123456, 15, { invariantPrecisionString: "123456.000000000", coefficient: 123456.000000000, exponent: 0, noOfCoefficientDecimals: 9 }],
25
- [0, 5, { invariantPrecisionString: "0.0000", coefficient: 0.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
26
- [0.000001, 1, { invariantPrecisionString: "0.000001", coefficient: 0.000001, exponent: 0, noOfCoefficientDecimals: 6 }],
27
- [0.000001, 10, { invariantPrecisionString: "0.000001000000000", coefficient: 0.000001000000000, exponent: 0, noOfCoefficientDecimals: 15 }],
28
- [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", coefficient: 1.000000000, exponent: -7, noOfCoefficientDecimals: 9 }],
29
- [0.00000000001, 1, { invariantPrecisionString: "1e-11", coefficient: 1, exponent: -11, noOfCoefficientDecimals: 0 }],
30
- [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", coefficient: 1.0, exponent: -11, noOfCoefficientDecimals: 1 }],
31
- [55, 2, { invariantPrecisionString: "55", coefficient: 55, exponent: 0, noOfCoefficientDecimals: 0 }],
32
- [55, 1, { invariantPrecisionString: "6e+1", coefficient: 6, exponent: 1, noOfCoefficientDecimals: 0 }],
33
- [-55, 2, { invariantPrecisionString: "-55", coefficient: -55, exponent: 0, noOfCoefficientDecimals: 0 }],
34
- [-55, 1, { invariantPrecisionString: "-6e+1", coefficient: -6, exponent: 1, noOfCoefficientDecimals: 0 }],
35
- [9.59, 1, { invariantPrecisionString: "1e+1", coefficient: 1, exponent: 1, noOfCoefficientDecimals: 0 }],
36
- [9.59, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
37
- [9.95, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
38
- [9.96, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
39
- [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", coefficient: -6, exponent: 20, noOfCoefficientDecimals: 0 }],
40
- [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", coefficient: -6, exponent: 21, noOfCoefficientDecimals: 0 }],
41
- [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", coefficient: 18014398509482012.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
42
- [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", coefficient: 180143985094820134912, exponent: 0, noOfCoefficientDecimals: 0 }],
43
- [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", coefficient: 0.100000000000000005551, exponent: 0, noOfCoefficientDecimals: 21 }],
44
- [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", coefficient: 2.2, exponent: -16, noOfCoefficientDecimals: 1 }],
45
- [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", coefficient: 2.22044604925031308085, exponent: -16, noOfCoefficientDecimals: 20 }],
46
- [Number.NaN, 3, { invariantPrecisionString: "NaN", coefficient: NaN, exponent: 0, noOfCoefficientDecimals: 0 }],
47
- [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", coefficient: Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
48
- [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", coefficient: -Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
49
- [164735280, 7, { invariantPrecisionString: "1.647353e+8", coefficient: 1.647353, exponent: 8, noOfCoefficientDecimals: 6 }],
6
+ [77.1274, 1, { invariantPrecisionString: "8e+1", invariantCoefficientString: "8", exponent: 1, noOfCoefficientDecimals: 0 }],
7
+ [77.1274, 2, { invariantPrecisionString: "77", invariantCoefficientString: "77", exponent: 0, noOfCoefficientDecimals: 0 }],
8
+ [77.1274, 4, { invariantPrecisionString: "77.13", invariantCoefficientString: "77.13", exponent: 0, noOfCoefficientDecimals: 2 }],
9
+ [77.1274, 5, { invariantPrecisionString: "77.127", invariantCoefficientString: "77.127", exponent: 0, noOfCoefficientDecimals: 3 }],
10
+ [77.1274, 6, { invariantPrecisionString: "77.1274", invariantCoefficientString: "77.1274", exponent: 0, noOfCoefficientDecimals: 4 }],
11
+ [77.1274, 7, { invariantPrecisionString: "77.12740", invariantCoefficientString: "77.12740", exponent: 0, noOfCoefficientDecimals: 5 }],
12
+ [77.1274, 15, { invariantPrecisionString: "77.1274000000000", invariantCoefficientString: "77.1274000000000", exponent: 0, noOfCoefficientDecimals: 13 }],
13
+ [77.1274, 16, { invariantPrecisionString: "77.12739999999999", invariantCoefficientString: "77.12739999999999", exponent: 0, noOfCoefficientDecimals: 14 }],
14
+ [77.1274, 17, { invariantPrecisionString: "77.127399999999994", invariantCoefficientString: "77.127399999999994", exponent: 0, noOfCoefficientDecimals: 15 }],
15
+ [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", invariantCoefficientString: "77.1273999999999944", exponent: 0, noOfCoefficientDecimals: 16 }],
16
+ [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", invariantCoefficientString: "77.12739999999999441", exponent: 0, noOfCoefficientDecimals: 17 }],
17
+ [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", invariantCoefficientString: "77.127399999999994407", exponent: 0, noOfCoefficientDecimals: 18 }],
18
+ [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", invariantCoefficientString: "77.1273999999999944066", exponent: 0, noOfCoefficientDecimals: 19 }],
19
+ [0.00000123, 2, { invariantPrecisionString: "0.0000012", invariantCoefficientString: "0.0000012", exponent: 0, noOfCoefficientDecimals: 7 }],
20
+ [0.000000123, 2, { invariantPrecisionString: "1.2e-7", invariantCoefficientString: "1.2", exponent: -7, noOfCoefficientDecimals: 1 }],
21
+ [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", invariantCoefficientString: "0.00000123000000000000008198", exponent: 0, noOfCoefficientDecimals: 26 }],
22
+ [123456, 3, { invariantPrecisionString: "1.23e+5", invariantCoefficientString: "1.23", exponent: 5, noOfCoefficientDecimals: 2 }],
23
+ [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", invariantCoefficientString: "1.80", exponent: 308, noOfCoefficientDecimals: 2 }],
24
+ [123456, 15, { invariantPrecisionString: "123456.000000000", invariantCoefficientString: "123456.000000000", exponent: 0, noOfCoefficientDecimals: 9 }],
25
+ [0, 5, { invariantPrecisionString: "0.0000", invariantCoefficientString: "0.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
26
+ [0.000001, 1, { invariantPrecisionString: "0.000001", invariantCoefficientString: "0.000001", exponent: 0, noOfCoefficientDecimals: 6 }],
27
+ [0.000001, 10, { invariantPrecisionString: "0.000001000000000", invariantCoefficientString: "0.000001000000000", exponent: 0, noOfCoefficientDecimals: 15 }],
28
+ [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", invariantCoefficientString: "1.000000000", exponent: -7, noOfCoefficientDecimals: 9 }],
29
+ [0.00000000001, 1, { invariantPrecisionString: "1e-11", invariantCoefficientString: "1", exponent: -11, noOfCoefficientDecimals: 0 }],
30
+ [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", invariantCoefficientString: "1.0", exponent: -11, noOfCoefficientDecimals: 1 }],
31
+ [55, 2, { invariantPrecisionString: "55", invariantCoefficientString: "55", exponent: 0, noOfCoefficientDecimals: 0 }],
32
+ [55, 1, { invariantPrecisionString: "6e+1", invariantCoefficientString: "6", exponent: 1, noOfCoefficientDecimals: 0 }],
33
+ [-55, 2, { invariantPrecisionString: "-55", invariantCoefficientString: "-55", exponent: 0, noOfCoefficientDecimals: 0 }],
34
+ [-55, 1, { invariantPrecisionString: "-6e+1", invariantCoefficientString: "-6", exponent: 1, noOfCoefficientDecimals: 0 }],
35
+ [9.59, 1, { invariantPrecisionString: "1e+1", invariantCoefficientString: "1", exponent: 1, noOfCoefficientDecimals: 0 }],
36
+ [9.59, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
37
+ [9.95, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
38
+ [9.96, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
39
+ [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", invariantCoefficientString: "-6", exponent: 20, noOfCoefficientDecimals: 0 }],
40
+ [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", invariantCoefficientString: "-6", exponent: 21, noOfCoefficientDecimals: 0 }],
41
+ [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", invariantCoefficientString: "18014398509482012.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
42
+ [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", invariantCoefficientString: "180143985094820134912", exponent: 0, noOfCoefficientDecimals: 0 }],
43
+ [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", invariantCoefficientString: "0.100000000000000005551", exponent: 0, noOfCoefficientDecimals: 21 }],
44
+ [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", invariantCoefficientString: "2.2", exponent: -16, noOfCoefficientDecimals: 1 }],
45
+ [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", invariantCoefficientString: "2.22044604925031308085", exponent: -16, noOfCoefficientDecimals: 20 }],
46
+ [Number.NaN, 3, { invariantPrecisionString: "NaN", invariantCoefficientString: "NaN", exponent: 0, noOfCoefficientDecimals: 0 }],
47
+ [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", invariantCoefficientString: "Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
48
+ [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", invariantCoefficientString: "-Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
49
+ [164735280, 7, { invariantPrecisionString: "1.647353e+8", invariantCoefficientString: "1.647353", exponent: 8, noOfCoefficientDecimals: 6 }],
50
50
  ];
51
51
  for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
52
52
  var _a = data_1[_i], value = _a[0], precision = _a[1], expectedParts = _a[2];
@@ -55,12 +55,7 @@ describe("toParts and toPrecision", function () {
55
55
  expect(NumberFormatter.toLocalePrecision(value, precision)).to.equal(localePrecisionString);
56
56
  var parts = NumberFormatter.getParts(value, precision);
57
57
  expect(parts.invariantPrecisionString).to.equal(expectedParts.invariantPrecisionString);
58
- if (isNaN(expectedParts.coefficient)) {
59
- expect(isNaN(parts.coefficient)).to.equal(true);
60
- }
61
- else {
62
- expect(parts.coefficient).to.equal(expectedParts.coefficient);
63
- }
58
+ expect(parts.invariantCoefficientString).to.equal(expectedParts.invariantCoefficientString);
64
59
  expect(parts.exponent).to.equal(expectedParts.exponent);
65
60
  expect(parts.noOfCoefficientDecimals).to.equal(expectedParts.noOfCoefficientDecimals);
66
61
  }
@@ -87,4 +82,9 @@ describe("toFixed", function () {
87
82
  }
88
83
  });
89
84
  });
85
+ describe("toLocaleFixed", function () {
86
+ it("should format correctly", function () {
87
+ expect(NumberFormatter.toLocaleFixed(400, 2)).to.equal("400");
88
+ });
89
+ });
90
90
  //# sourceMappingURL=number-formatter.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-formatter.spec.js","sourceRoot":"","sources":["../../src/number-formatter.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number-formatter.spec.js","sourceRoot":"","sources":["../../src/number-formatter.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
- {
2
- "name": "@utiliread/primitives",
3
- "version": "1.0.0-45",
4
- "main": "dist/cjs/index.js",
5
- "module": "dist/esm/index.js",
6
- "types": "dist/esm/index.d.ts",
7
- "sideEffects": false,
8
- "scripts": {
9
- "build": "tsc && tsc -p tsconfig.cjs.json",
10
- "test": "karma start --single-run --browsers ChromeHeadless karma.config.js",
11
- "watch": "karma start --auto-watch --browsers ChromeDebugging karma.config.js",
12
- "chrome": "karma start --auto-watch --browsers Chrome karma.config.js",
13
- "clean": "rimraf dist"
14
- },
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "devDependencies": {
19
- "@types/chai": "^4.2.18",
20
- "@types/luxon": "^1.26.5",
21
- "@types/mocha": "^9.0.0",
22
- "chai": "^4.3.4",
23
- "karma": "^6.3.2",
24
- "karma-chai": "^0.1.0",
25
- "karma-chrome-launcher": "^3.1.0",
26
- "karma-mocha": "^2.0.1",
27
- "karma-typescript": "^5.5.1",
28
- "luxon": "^2.1.0",
29
- "mocha": "^9.1.3",
30
- "rimraf": "^3.0.2",
31
- "typescript": "^4.1.5"
32
- },
33
- "peerDependencies": {
34
- "luxon": "^2.1.0"
35
- }
36
- }
1
+ {
2
+ "name": "@utiliread/primitives",
3
+ "version": "1.0.0-46",
4
+ "main": "dist/cjs/index.js",
5
+ "module": "dist/esm/index.js",
6
+ "types": "dist/esm/index.d.ts",
7
+ "sideEffects": false,
8
+ "scripts": {
9
+ "build": "tsc && tsc -p tsconfig.cjs.json",
10
+ "test": "karma start --single-run --browsers ChromeHeadless karma.config.js",
11
+ "watch": "karma start --auto-watch --browsers ChromeDebugging karma.config.js",
12
+ "chrome": "karma start --auto-watch --browsers Chrome karma.config.js",
13
+ "clean": "rimraf dist"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "devDependencies": {
19
+ "@types/chai": "^4.2.18",
20
+ "@types/luxon": "^1.26.5",
21
+ "@types/mocha": "^9.0.0",
22
+ "chai": "^4.3.4",
23
+ "karma": "^6.3.2",
24
+ "karma-chai": "^0.1.0",
25
+ "karma-chrome-launcher": "^3.1.0",
26
+ "karma-mocha": "^2.0.1",
27
+ "karma-typescript": "^5.5.1",
28
+ "luxon": "^2.1.0",
29
+ "mocha": "^9.1.3",
30
+ "rimraf": "^3.0.2",
31
+ "typescript": "^4.1.5"
32
+ },
33
+ "peerDependencies": {
34
+ "luxon": "^2.1.0"
35
+ }
36
+ }
package/src/index.ts CHANGED
@@ -1,33 +1,33 @@
1
- import { ConsumptionTypeId } from "./consumption-type-id";
2
- import { RegisterId } from "./register-id";
3
- import { UnitId } from "./unit-id";
4
- import { RegisterLibrary } from "./register-library";
5
- import { RegisterDefinition } from "./register-definition";
6
- import { NumberFormatter, invariantDecimalSeparator, localeDecimalSeparator } from "./number-formatter";
7
- import { RegisterConvention } from "./register-convention";
8
- import { AggregateId } from "./aggregate-id";
9
- import { MeasureId } from "./measure-id";
10
- import { Step, DayOfWeek } from "./step";
11
- import { TimeOrRule } from "./time-or-rule";
12
- import { PrecisionNumber } from "./precision-number";
13
- import "./repository"; // We need this to get the Repository namespace exported
14
- import { Repository } from "./repository";
15
-
16
- export {
17
- AggregateId,
18
- ConsumptionTypeId,
19
- DayOfWeek,
20
- MeasureId,
21
- NumberFormatter,
22
- PrecisionNumber,
23
- RegisterConvention,
24
- RegisterDefinition,
25
- RegisterId,
26
- RegisterLibrary,
27
- Repository,
28
- Step,
29
- TimeOrRule,
30
- UnitId,
31
- invariantDecimalSeparator,
32
- localeDecimalSeparator,
33
- };
1
+ import { ConsumptionTypeId } from "./consumption-type-id";
2
+ import { RegisterId } from "./register-id";
3
+ import { UnitId } from "./unit-id";
4
+ import { RegisterLibrary } from "./register-library";
5
+ import { RegisterDefinition } from "./register-definition";
6
+ import { NumberFormatter, invariantDecimalSeparator, localeDecimalSeparator } from "./number-formatter";
7
+ import { RegisterConvention } from "./register-convention";
8
+ import { AggregateId } from "./aggregate-id";
9
+ import { MeasureId } from "./measure-id";
10
+ import { Step, DayOfWeek } from "./step";
11
+ import { TimeOrRule } from "./time-or-rule";
12
+ import { PrecisionNumber } from "./precision-number";
13
+ import "./repository"; // We need this to get the Repository namespace exported
14
+ import { Repository } from "./repository";
15
+
16
+ export {
17
+ AggregateId,
18
+ ConsumptionTypeId,
19
+ DayOfWeek,
20
+ MeasureId,
21
+ NumberFormatter,
22
+ PrecisionNumber,
23
+ RegisterConvention,
24
+ RegisterDefinition,
25
+ RegisterId,
26
+ RegisterLibrary,
27
+ Repository,
28
+ Step,
29
+ TimeOrRule,
30
+ UnitId,
31
+ invariantDecimalSeparator,
32
+ localeDecimalSeparator,
33
+ };
@@ -4,50 +4,50 @@ import { NumberFormatter, Parts, localeDecimalSeparator, invariantDecimalSeparat
4
4
  describe("toParts and toPrecision", () => {
5
5
  it("should format correctly", () => {
6
6
  const data: [number, number, Parts][] = [
7
- [77.1274, 1, { invariantPrecisionString: "8e+1", coefficient: 8, exponent: 1, noOfCoefficientDecimals: 0 }],
8
- [77.1274, 2, { invariantPrecisionString: "77", coefficient: 77, exponent: 0, noOfCoefficientDecimals: 0 }],
9
- [77.1274, 4, { invariantPrecisionString: "77.13", coefficient: 77.13, exponent: 0, noOfCoefficientDecimals: 2 }],
10
- [77.1274, 5, { invariantPrecisionString: "77.127", coefficient: 77.127, exponent: 0, noOfCoefficientDecimals: 3 }],
11
- [77.1274, 6, { invariantPrecisionString: "77.1274", coefficient: 77.1274, exponent: 0, noOfCoefficientDecimals: 4 }],
12
- [77.1274, 7, { invariantPrecisionString: "77.12740", coefficient: 77.12740, exponent: 0, noOfCoefficientDecimals: 5 }],
13
- [77.1274, 15, { invariantPrecisionString: "77.1274000000000", coefficient: 77.1274000000000, exponent: 0, noOfCoefficientDecimals: 13 }],
14
- [77.1274, 16, { invariantPrecisionString: "77.12739999999999", coefficient: 77.12739999999999, exponent: 0, noOfCoefficientDecimals: 14 }],
15
- [77.1274, 17, { invariantPrecisionString: "77.127399999999994", coefficient: 77.127399999999994, exponent: 0, noOfCoefficientDecimals: 15 }],
16
- [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", coefficient: 77.1273999999999944, exponent: 0, noOfCoefficientDecimals: 16 }],
17
- [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", coefficient: 77.12739999999999441, exponent: 0, noOfCoefficientDecimals: 17 }],
18
- [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", coefficient: 77.127399999999994407, exponent: 0, noOfCoefficientDecimals: 18 }],
19
- [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", coefficient: 77.1273999999999944066, exponent: 0, noOfCoefficientDecimals: 19 }],
20
- [0.00000123, 2, { invariantPrecisionString: "0.0000012", coefficient: 0.0000012, exponent: 0, noOfCoefficientDecimals: 7 }],
21
- [0.000000123, 2, { invariantPrecisionString: "1.2e-7", coefficient: 1.2, exponent: -7, noOfCoefficientDecimals: 1 }],
22
- [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", coefficient: 0.00000123000000000000008198, exponent: 0, noOfCoefficientDecimals: 26 }],
23
- [123456, 3, { invariantPrecisionString: "1.23e+5", coefficient: 1.23, exponent: 5, noOfCoefficientDecimals: 2 }],
24
- [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", coefficient: 1.80, exponent: 308, noOfCoefficientDecimals: 2 }],
25
- [123456, 15, { invariantPrecisionString: "123456.000000000", coefficient: 123456.000000000, exponent: 0, noOfCoefficientDecimals: 9 }],
26
- [0, 5, { invariantPrecisionString: "0.0000", coefficient: 0.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
27
- [0.000001, 1, { invariantPrecisionString: "0.000001", coefficient: 0.000001, exponent: 0, noOfCoefficientDecimals: 6 }],
28
- [0.000001, 10, { invariantPrecisionString: "0.000001000000000", coefficient: 0.000001000000000, exponent: 0, noOfCoefficientDecimals: 15 }],
29
- [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", coefficient: 1.000000000, exponent: -7, noOfCoefficientDecimals: 9 }],
30
- [0.00000000001, 1, { invariantPrecisionString: "1e-11", coefficient: 1, exponent: -11, noOfCoefficientDecimals: 0 }],
31
- [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", coefficient: 1.0, exponent: -11, noOfCoefficientDecimals: 1 }],
32
- [55, 2, { invariantPrecisionString: "55", coefficient: 55, exponent: 0, noOfCoefficientDecimals: 0 }],
33
- [55, 1, { invariantPrecisionString: "6e+1", coefficient: 6, exponent: 1, noOfCoefficientDecimals: 0 }],
34
- [-55, 2, { invariantPrecisionString: "-55", coefficient: -55, exponent: 0, noOfCoefficientDecimals: 0 }],
35
- [-55, 1, { invariantPrecisionString: "-6e+1", coefficient: -6, exponent: 1, noOfCoefficientDecimals: 0 }],
36
- [9.59, 1, { invariantPrecisionString: "1e+1", coefficient: 1, exponent: 1, noOfCoefficientDecimals: 0 }],
37
- [9.59, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
38
- [9.95, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
39
- [9.96, 2, { invariantPrecisionString: "10", coefficient: 10, exponent: 0, noOfCoefficientDecimals: 0 }],
40
- [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", coefficient: -6, exponent: 20, noOfCoefficientDecimals: 0 }],
41
- [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", coefficient: -6, exponent: 21, noOfCoefficientDecimals: 0 }],
42
- [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", coefficient: 18014398509482012.0000, exponent: 0, noOfCoefficientDecimals: 4 }],
43
- [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", coefficient: 180143985094820134912, exponent: 0, noOfCoefficientDecimals: 0 }],
44
- [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", coefficient: 0.100000000000000005551, exponent: 0, noOfCoefficientDecimals: 21 }],
45
- [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", coefficient: 2.2, exponent: -16, noOfCoefficientDecimals: 1 }],
46
- [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", coefficient: 2.22044604925031308085, exponent: -16, noOfCoefficientDecimals: 20 }],
47
- [Number.NaN, 3, { invariantPrecisionString: "NaN", coefficient: NaN, exponent: 0, noOfCoefficientDecimals: 0 }],
48
- [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", coefficient: Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
49
- [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", coefficient: -Infinity, exponent: 0, noOfCoefficientDecimals: 0 }],
50
- [164735280, 7, { invariantPrecisionString: "1.647353e+8", coefficient: 1.647353, exponent: 8, noOfCoefficientDecimals: 6 }],
7
+ [77.1274, 1, { invariantPrecisionString: "8e+1", invariantCoefficientString: "8", exponent: 1, noOfCoefficientDecimals: 0 }],
8
+ [77.1274, 2, { invariantPrecisionString: "77", invariantCoefficientString: "77", exponent: 0, noOfCoefficientDecimals: 0 }],
9
+ [77.1274, 4, { invariantPrecisionString: "77.13", invariantCoefficientString: "77.13", exponent: 0, noOfCoefficientDecimals: 2 }],
10
+ [77.1274, 5, { invariantPrecisionString: "77.127", invariantCoefficientString: "77.127", exponent: 0, noOfCoefficientDecimals: 3 }],
11
+ [77.1274, 6, { invariantPrecisionString: "77.1274", invariantCoefficientString: "77.1274", exponent: 0, noOfCoefficientDecimals: 4 }],
12
+ [77.1274, 7, { invariantPrecisionString: "77.12740", invariantCoefficientString: "77.12740", exponent: 0, noOfCoefficientDecimals: 5 }],
13
+ [77.1274, 15, { invariantPrecisionString: "77.1274000000000", invariantCoefficientString: "77.1274000000000", exponent: 0, noOfCoefficientDecimals: 13 }],
14
+ [77.1274, 16, { invariantPrecisionString: "77.12739999999999", invariantCoefficientString: "77.12739999999999", exponent: 0, noOfCoefficientDecimals: 14 }],
15
+ [77.1274, 17, { invariantPrecisionString: "77.127399999999994", invariantCoefficientString: "77.127399999999994", exponent: 0, noOfCoefficientDecimals: 15 }],
16
+ [77.1274, 18, { invariantPrecisionString: "77.1273999999999944", invariantCoefficientString: "77.1273999999999944", exponent: 0, noOfCoefficientDecimals: 16 }],
17
+ [77.1274, 19, { invariantPrecisionString: "77.12739999999999441", invariantCoefficientString: "77.12739999999999441", exponent: 0, noOfCoefficientDecimals: 17 }],
18
+ [77.1274, 20, { invariantPrecisionString: "77.127399999999994407", invariantCoefficientString: "77.127399999999994407", exponent: 0, noOfCoefficientDecimals: 18 }],
19
+ [77.1274, 21, { invariantPrecisionString: "77.1273999999999944066", invariantCoefficientString: "77.1273999999999944066", exponent: 0, noOfCoefficientDecimals: 19 }],
20
+ [0.00000123, 2, { invariantPrecisionString: "0.0000012", invariantCoefficientString: "0.0000012", exponent: 0, noOfCoefficientDecimals: 7 }],
21
+ [0.000000123, 2, { invariantPrecisionString: "1.2e-7", invariantCoefficientString: "1.2", exponent: -7, noOfCoefficientDecimals: 1 }],
22
+ [0.00000123, 21, { invariantPrecisionString: "0.00000123000000000000008198", invariantCoefficientString: "0.00000123000000000000008198", exponent: 0, noOfCoefficientDecimals: 26 }],
23
+ [123456, 3, { invariantPrecisionString: "1.23e+5", invariantCoefficientString: "1.23", exponent: 5, noOfCoefficientDecimals: 2 }],
24
+ [Number.MAX_VALUE, 3, { invariantPrecisionString: "1.80e+308", invariantCoefficientString: "1.80", exponent: 308, noOfCoefficientDecimals: 2 }],
25
+ [123456, 15, { invariantPrecisionString: "123456.000000000", invariantCoefficientString: "123456.000000000", exponent: 0, noOfCoefficientDecimals: 9 }],
26
+ [0, 5, { invariantPrecisionString: "0.0000", invariantCoefficientString: "0.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
27
+ [0.000001, 1, { invariantPrecisionString: "0.000001", invariantCoefficientString: "0.000001", exponent: 0, noOfCoefficientDecimals: 6 }],
28
+ [0.000001, 10, { invariantPrecisionString: "0.000001000000000", invariantCoefficientString: "0.000001000000000", exponent: 0, noOfCoefficientDecimals: 15 }],
29
+ [0.0000001, 10, { invariantPrecisionString: "1.000000000e-7", invariantCoefficientString: "1.000000000", exponent: -7, noOfCoefficientDecimals: 9 }],
30
+ [0.00000000001, 1, { invariantPrecisionString: "1e-11", invariantCoefficientString: "1", exponent: -11, noOfCoefficientDecimals: 0 }],
31
+ [0.00000000001, 2, { invariantPrecisionString: "1.0e-11", invariantCoefficientString: "1.0", exponent: -11, noOfCoefficientDecimals: 1 }],
32
+ [55, 2, { invariantPrecisionString: "55", invariantCoefficientString: "55", exponent: 0, noOfCoefficientDecimals: 0 }],
33
+ [55, 1, { invariantPrecisionString: "6e+1", invariantCoefficientString: "6", exponent: 1, noOfCoefficientDecimals: 0 }],
34
+ [-55, 2, { invariantPrecisionString: "-55", invariantCoefficientString: "-55", exponent: 0, noOfCoefficientDecimals: 0 }],
35
+ [-55, 1, { invariantPrecisionString: "-6e+1", invariantCoefficientString: "-6", exponent: 1, noOfCoefficientDecimals: 0 }],
36
+ [9.59, 1, { invariantPrecisionString: "1e+1", invariantCoefficientString: "1", exponent: 1, noOfCoefficientDecimals: 0 }],
37
+ [9.59, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
38
+ [9.95, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
39
+ [9.96, 2, { invariantPrecisionString: "10", invariantCoefficientString: "10", exponent: 0, noOfCoefficientDecimals: 0 }],
40
+ [-555555555555555555555, 1, { invariantPrecisionString: "-6e+20", invariantCoefficientString: "-6", exponent: 20, noOfCoefficientDecimals: 0 }],
41
+ [-5555555555555555555555, 1, { invariantPrecisionString: "-6e+21", invariantCoefficientString: "-6", exponent: 21, noOfCoefficientDecimals: 0 }],
42
+ [18014398509482012, 21, { invariantPrecisionString: "18014398509482012.0000", invariantCoefficientString: "18014398509482012.0000", exponent: 0, noOfCoefficientDecimals: 4 }],
43
+ [180143985094820121234, 21, { invariantPrecisionString: "180143985094820134912", invariantCoefficientString: "180143985094820134912", exponent: 0, noOfCoefficientDecimals: 0 }],
44
+ [0.1, 21, { invariantPrecisionString: "0.100000000000000005551", invariantCoefficientString: "0.100000000000000005551", exponent: 0, noOfCoefficientDecimals: 21 }],
45
+ [Number.EPSILON, 2, { invariantPrecisionString: "2.2e-16", invariantCoefficientString: "2.2", exponent: -16, noOfCoefficientDecimals: 1 }],
46
+ [Number.EPSILON, 21, { invariantPrecisionString: "2.22044604925031308085e-16", invariantCoefficientString: "2.22044604925031308085", exponent: -16, noOfCoefficientDecimals: 20 }],
47
+ [Number.NaN, 3, { invariantPrecisionString: "NaN", invariantCoefficientString: "NaN", exponent: 0, noOfCoefficientDecimals: 0 }],
48
+ [Number.POSITIVE_INFINITY, 3, { invariantPrecisionString: "Infinity", invariantCoefficientString: "Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
49
+ [Number.NEGATIVE_INFINITY, 3, { invariantPrecisionString: "-Infinity", invariantCoefficientString: "-Infinity", exponent: 0, noOfCoefficientDecimals: 0 }],
50
+ [164735280, 7, { invariantPrecisionString: "1.647353e+8", invariantCoefficientString: "1.647353", exponent: 8, noOfCoefficientDecimals: 6 }],
51
51
  ];
52
52
 
53
53
  for (const [value, precision, expectedParts] of data) {
@@ -58,12 +58,7 @@ describe("toParts and toPrecision", () => {
58
58
 
59
59
  const parts = NumberFormatter.getParts(value, precision);
60
60
  expect(parts.invariantPrecisionString).to.equal(expectedParts.invariantPrecisionString);
61
- if (isNaN(expectedParts.coefficient)) {
62
- expect(isNaN(parts.coefficient)).to.equal(true);
63
- }
64
- else {
65
- expect(parts.coefficient).to.equal(expectedParts.coefficient);
66
- }
61
+ expect(parts.invariantCoefficientString).to.equal(expectedParts.invariantCoefficientString);
67
62
  expect(parts.exponent).to.equal(expectedParts.exponent);
68
63
  expect(parts.noOfCoefficientDecimals).to.equal(expectedParts.noOfCoefficientDecimals);
69
64
  }
@@ -91,4 +86,10 @@ describe("toFixed", () => {
91
86
  expect(NumberFormatter.toLocaleFixed(value, precision)).to.equal(localeExpected);
92
87
  }
93
88
  })
94
- })
89
+ })
90
+
91
+ describe("toLocaleFixed", () => {
92
+ it("should format correctly", () => {
93
+ expect(NumberFormatter.toLocaleFixed(400, 2)).to.equal("400");
94
+ })
95
+ });
@@ -3,8 +3,8 @@ export const localeDecimalSeparator = (0.1).toLocaleString()[1];
3
3
 
4
4
  export interface Parts {
5
5
  invariantPrecisionString: string;
6
+ invariantCoefficientString: string;
6
7
  exponent: number;
7
- coefficient: number;
8
8
  noOfCoefficientDecimals: number;
9
9
  }
10
10
 
@@ -29,7 +29,7 @@ class Formatter {
29
29
  public toFixed(value: number, precision: number) {
30
30
  const parts = this.getParts(value, precision);
31
31
  if (parts.noOfCoefficientDecimals < parts.exponent) {
32
- const number = parts.coefficient.toString().replace(invariantDecimalSeparator, "");
32
+ const number = parts.invariantCoefficientString.replace(invariantDecimalSeparator, "");
33
33
  const zeros = parts.exponent - parts.noOfCoefficientDecimals;
34
34
  return `${number}${"0".repeat(zeros)}`;
35
35
  }
@@ -47,15 +47,15 @@ class Formatter {
47
47
  const precisionString = this.toPrecision(value, precision);
48
48
  if (precisionString.indexOf("e") >= 0) {
49
49
  const match = /(.*)e([\+-]\d+)$/.exec(precisionString)!;
50
- const coefficient = match[1];
50
+ const coefficientString = match[1];
51
51
  const exponent = parseInt(match[2]);
52
- const decimalSeparatorIndex = coefficient.indexOf(invariantDecimalSeparator);
52
+ const decimalSeparatorIndex = coefficientString.indexOf(invariantDecimalSeparator);
53
53
  const noOfCoefficientDecimals = decimalSeparatorIndex >= 0
54
- ? coefficient.length - decimalSeparatorIndex - 1
54
+ ? coefficientString.length - decimalSeparatorIndex - 1
55
55
  : 0;
56
56
  return {
57
57
  invariantPrecisionString: precisionString,
58
- coefficient: Number(coefficient),
58
+ invariantCoefficientString: coefficientString,
59
59
  exponent,
60
60
  noOfCoefficientDecimals,
61
61
  };
@@ -67,7 +67,7 @@ class Formatter {
67
67
  : 0;
68
68
  return {
69
69
  invariantPrecisionString: precisionString,
70
- coefficient: Number(precisionString),
70
+ invariantCoefficientString: precisionString,
71
71
  exponent: 0,
72
72
  noOfCoefficientDecimals,
73
73
  };
@@ -75,4 +75,4 @@ class Formatter {
75
75
  }
76
76
  }
77
77
 
78
- export const NumberFormatter = new Formatter();
78
+ export const NumberFormatter = new Formatter();
@@ -1,33 +1,33 @@
1
- import { invariantDecimalSeparator } from ".";
2
- import { localeDecimalSeparator, NumberFormatter } from "./number-formatter";
3
-
4
- export class PrecisionNumber {
5
- constructor(public value: number, public precision: number) {
6
- }
7
-
8
- static parse(input: string) {
9
- const normalized = input.trim().replace(",", ".").replace(localeDecimalSeparator, invariantDecimalSeparator);
10
- const precision = normalized.replace(".", "").replace("+", "").replace("-", "").length;
11
- return new PrecisionNumber(parseFloat(normalized), precision);
12
- }
13
-
14
- toString() {
15
- return this.value.toString();
16
- }
17
-
18
- toFixed() {
19
- return NumberFormatter.toFixed(this.value, this.precision);
20
- }
21
-
22
- toPrecision() {
23
- return NumberFormatter.toPrecision(this.value, this.precision);
24
- }
25
-
26
- toLocaleFixed() {
27
- return NumberFormatter.toLocaleFixed(this.value, this.precision);
28
- }
29
-
30
- toLocalePrecision() {
31
- return NumberFormatter.toLocalePrecision(this.value, this.precision);
32
- }
33
- }
1
+ import { invariantDecimalSeparator } from ".";
2
+ import { localeDecimalSeparator, NumberFormatter } from "./number-formatter";
3
+
4
+ export class PrecisionNumber {
5
+ constructor(public value: number, public precision: number) {
6
+ }
7
+
8
+ static parse(input: string) {
9
+ const normalized = input.trim().replace(",", ".").replace(localeDecimalSeparator, invariantDecimalSeparator);
10
+ const precision = normalized.replace(".", "").replace("+", "").replace("-", "").length;
11
+ return new PrecisionNumber(parseFloat(normalized), precision);
12
+ }
13
+
14
+ toString() {
15
+ return this.value.toString();
16
+ }
17
+
18
+ toFixed() {
19
+ return NumberFormatter.toFixed(this.value, this.precision);
20
+ }
21
+
22
+ toPrecision() {
23
+ return NumberFormatter.toPrecision(this.value, this.precision);
24
+ }
25
+
26
+ toLocaleFixed() {
27
+ return NumberFormatter.toLocaleFixed(this.value, this.precision);
28
+ }
29
+
30
+ toLocalePrecision() {
31
+ return NumberFormatter.toLocalePrecision(this.value, this.precision);
32
+ }
33
+ }
@@ -1,23 +1,23 @@
1
- import { UnitId } from ".";
2
- import { AggregateId } from "./aggregate-id";
3
- import { MeasureId } from "./measure-id";
4
- import { RegisterId } from "./register-id";
5
-
6
- export interface RegisterDefinition {
7
- /// The id of the register
8
- id: RegisterId;
9
- /// The register measure
10
- measure: MeasureId;
11
- /// The aggregate of the register
12
- aggregate: AggregateId;
13
- /// The possible register units
14
- units: ReadonlyArray<UnitId>;
15
- /// Whether the register can only be resolved by "present value".
16
- immediate?: true;
17
- /// An optional concise register name.
18
- /// Only used for custom registers as locales exist for standard registers.
19
- name?: string;
20
- /// An optional register description.
21
- /// Only used for custom registers as locales exist for standard registers.
22
- description?: string;
23
- }
1
+ import { UnitId } from ".";
2
+ import { AggregateId } from "./aggregate-id";
3
+ import { MeasureId } from "./measure-id";
4
+ import { RegisterId } from "./register-id";
5
+
6
+ export interface RegisterDefinition {
7
+ /// The id of the register
8
+ id: RegisterId;
9
+ /// The register measure
10
+ measure: MeasureId;
11
+ /// The aggregate of the register
12
+ aggregate: AggregateId;
13
+ /// The possible register units
14
+ units: ReadonlyArray<UnitId>;
15
+ /// Whether the register can only be resolved by "present value".
16
+ immediate?: true;
17
+ /// An optional concise register name.
18
+ /// Only used for custom registers as locales exist for standard registers.
19
+ name?: string;
20
+ /// An optional register description.
21
+ /// Only used for custom registers as locales exist for standard registers.
22
+ description?: string;
23
+ }
@@ -1,20 +1,20 @@
1
- import { expect } from "chai";
2
- import { Repository } from "./repository";
3
-
4
- describe("ctor", () => {
5
- it("creates", () => {
6
- expect(Repository("gpkv", "gjoel")).to.equal("gpkv/gjoel");
7
- expect(Repository("gpkv/gjoel")).to.equal("gpkv/gjoel");
8
- });
9
- it("throws if wrong format", () => {
10
- expect(() => Repository("invalid")).to.throw();
11
- })
12
- });
13
-
14
- describe("split", () => {
15
- it("splits into correct parts", () => {
16
- const { team, name } = Repository.split(Repository("gpkv", "gjoel"));
17
- expect(team).to.equal("gpkv");
18
- expect(name).to.equal("gjoel");
19
- });
20
- });
1
+ import { expect } from "chai";
2
+ import { Repository } from "./repository";
3
+
4
+ describe("ctor", () => {
5
+ it("creates", () => {
6
+ expect(Repository("gpkv", "gjoel")).to.equal("gpkv/gjoel");
7
+ expect(Repository("gpkv/gjoel")).to.equal("gpkv/gjoel");
8
+ });
9
+ it("throws if wrong format", () => {
10
+ expect(() => Repository("invalid")).to.throw();
11
+ })
12
+ });
13
+
14
+ describe("split", () => {
15
+ it("splits into correct parts", () => {
16
+ const { team, name } = Repository.split(Repository("gpkv", "gjoel"));
17
+ expect(team).to.equal("gpkv");
18
+ expect(name).to.equal("gjoel");
19
+ });
20
+ });