@utiliread/primitives 1.0.0-8 → 1.0.0-80
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.
- package/dist/cjs/aggregate-id.js +2 -2
- package/dist/cjs/consumption-type-id.js +2 -2
- package/dist/cjs/index.js +21 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/measure-id.js +3 -0
- package/dist/cjs/measure-id.js.map +1 -0
- package/dist/cjs/number-formatter.js +79 -50
- package/dist/cjs/number-formatter.js.map +1 -1
- package/dist/cjs/number-formatter.spec.js +512 -0
- package/dist/cjs/number-formatter.spec.js.map +1 -0
- package/dist/cjs/optional.js +3 -0
- package/dist/cjs/optional.js.map +1 -0
- package/dist/cjs/precision-number.js +42 -0
- package/dist/cjs/precision-number.js.map +1 -0
- package/dist/cjs/precision-number.spec.js +27 -0
- package/dist/cjs/precision-number.spec.js.map +1 -0
- package/dist/cjs/register-convention.js +58 -0
- package/dist/cjs/register-convention.js.map +1 -0
- package/dist/cjs/register-convention.spec.js +39 -0
- package/dist/cjs/register-convention.spec.js.map +1 -0
- package/dist/cjs/register-definition.js +2 -2
- package/dist/cjs/register-id.js +2 -2
- package/dist/cjs/register-library.js +52 -41
- package/dist/cjs/register-library.js.map +1 -1
- package/dist/cjs/register-library.spec.js +36 -29
- package/dist/cjs/register-library.spec.js.map +1 -1
- package/dist/cjs/register-pack.js +2 -2
- package/dist/cjs/register-utils.js +8 -0
- package/dist/cjs/register-utils.js.map +1 -0
- package/dist/cjs/repository.js +26 -0
- package/dist/cjs/repository.js.map +1 -0
- package/dist/cjs/repository.spec.js +21 -0
- package/dist/cjs/repository.spec.js.map +1 -0
- package/dist/cjs/step.js +45 -0
- package/dist/cjs/step.js.map +1 -0
- package/dist/cjs/step.spec.js +29 -0
- package/dist/cjs/step.spec.js.map +1 -0
- package/dist/cjs/time-or-rule.js +19 -0
- package/dist/cjs/time-or-rule.js.map +1 -0
- package/dist/cjs/unit-id.js +13 -13
- package/dist/cjs/unit-id.js.map +1 -1
- package/dist/esm/aggregate-id.d.ts +1 -1
- package/dist/esm/aggregate-id.js +1 -1
- package/dist/esm/consumption-type-id.d.ts +1 -1
- package/dist/esm/consumption-type-id.js +1 -1
- package/dist/esm/index.d.ts +16 -8
- package/dist/esm/index.js +9 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/measure-id.d.ts +1 -0
- package/dist/esm/measure-id.js +2 -0
- package/dist/esm/measure-id.js.map +1 -0
- package/dist/esm/number-formatter.d.ts +17 -8
- package/dist/esm/number-formatter.js +76 -47
- package/dist/esm/number-formatter.js.map +1 -1
- package/dist/esm/{register-converter.spec.d.ts → number-formatter.spec.d.ts} +1 -1
- package/dist/esm/number-formatter.spec.js +510 -0
- package/dist/esm/number-formatter.spec.js.map +1 -0
- package/dist/esm/optional.d.ts +1 -0
- package/dist/esm/optional.js +2 -0
- package/dist/esm/optional.js.map +1 -0
- package/dist/esm/precision-number.d.ts +11 -0
- package/dist/esm/precision-number.js +38 -0
- package/dist/esm/precision-number.js.map +1 -0
- package/dist/esm/precision-number.spec.d.ts +1 -0
- package/dist/esm/precision-number.spec.js +25 -0
- package/dist/esm/precision-number.spec.js.map +1 -0
- package/dist/esm/register-convention.d.ts +14 -0
- package/dist/esm/register-convention.js +54 -0
- package/dist/esm/register-convention.js.map +1 -0
- package/dist/esm/register-convention.spec.d.ts +1 -0
- package/dist/esm/register-convention.spec.js +37 -0
- package/dist/esm/register-convention.spec.js.map +1 -0
- package/dist/esm/register-definition.d.ts +13 -9
- package/dist/esm/register-definition.js +1 -1
- package/dist/esm/register-id.d.ts +1 -1
- package/dist/esm/register-id.js +1 -1
- package/dist/esm/register-library.d.ts +15 -11
- package/dist/esm/register-library.js +49 -38
- package/dist/esm/register-library.js.map +1 -1
- package/dist/esm/register-library.spec.d.ts +1 -1
- package/dist/esm/register-library.spec.js +34 -27
- package/dist/esm/register-library.spec.js.map +1 -1
- package/dist/esm/register-pack.d.ts +4 -4
- package/dist/esm/register-pack.js +1 -1
- package/dist/esm/register-utils.d.ts +3 -0
- package/dist/esm/register-utils.js +4 -0
- package/dist/esm/register-utils.js.map +1 -0
- package/dist/esm/repository.d.ts +9 -0
- package/dist/esm/repository.js +22 -0
- package/dist/esm/repository.js.map +1 -0
- package/dist/esm/repository.spec.d.ts +1 -0
- package/dist/esm/repository.spec.js +19 -0
- package/dist/esm/repository.spec.js.map +1 -0
- package/dist/esm/step.d.ts +15 -0
- package/dist/esm/step.js +42 -0
- package/dist/esm/step.js.map +1 -0
- package/dist/esm/step.spec.d.ts +1 -0
- package/dist/esm/step.spec.js +27 -0
- package/dist/esm/step.spec.js.map +1 -0
- package/dist/esm/time-or-rule.d.ts +7 -0
- package/dist/esm/time-or-rule.js +16 -0
- package/dist/esm/time-or-rule.js.map +1 -0
- package/dist/esm/unit-id.d.ts +2 -2
- package/dist/esm/unit-id.js +10 -10
- package/dist/esm/unit-id.js.map +1 -1
- package/locales/da/aggregates.json +8 -0
- package/locales/da/consumption-types.json +7 -0
- package/locales/da/measures.json +16 -0
- package/locales/da/registers.json +371 -0
- package/locales/da/units.json +93 -0
- package/locales/en/aggregates.json +8 -0
- package/locales/en/consumption-types.json +7 -0
- package/locales/en/measures.json +16 -0
- package/locales/en/registers.json +380 -0
- package/locales/en/units.json +93 -0
- package/package.json +17 -14
- package/src/aggregate-id.ts +9 -9
- package/src/consumption-type-id.ts +8 -8
- package/src/index.ts +39 -17
- package/src/measure-id.ts +15 -0
- package/src/number-formatter.spec.ts +549 -77
- package/src/number-formatter.ts +118 -50
- package/src/optional.ts +1 -0
- package/src/precision-number.spec.ts +28 -0
- package/src/precision-number.ts +44 -0
- package/src/register-convention.spec.ts +52 -29
- package/src/register-convention.ts +70 -45
- package/src/register-definition.ts +23 -14
- package/src/register-id.ts +270 -191
- package/src/register-library.spec.ts +41 -33
- package/src/register-library.ts +63 -37
- package/src/register-pack.ts +5 -5
- package/src/register-utils.ts +6 -6
- package/src/repository.spec.ts +20 -0
- package/src/repository.ts +24 -0
- package/src/step.spec.ts +37 -0
- package/src/step.ts +45 -0
- package/src/time-or-rule.ts +17 -0
- package/src/unit-id.ts +110 -100
- package/tsconfig.cjs.json +7 -8
- package/tsconfig.json +16 -14
- package/web-test-runner.config.mjs +7 -0
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/base.css +0 -224
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/block-navigation.js +0 -79
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/favicon.png +0 -0
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/index.html +0 -96
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/prettify.css +0 -1
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/prettify.js +0 -2
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/sort-arrow-sprite.png +0 -0
- package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/sorter.js +0 -170
- package/dist/cjs/register-converter.js +0 -47
- package/dist/cjs/register-converter.js.map +0 -1
- package/dist/cjs/register-converter.spec.js +0 -29
- package/dist/cjs/register-converter.spec.js.map +0 -1
- package/dist/esm/register-converter.d.ts +0 -9
- package/dist/esm/register-converter.js +0 -44
- package/dist/esm/register-converter.js.map +0 -1
- package/dist/esm/register-converter.spec.js +0 -27
- package/dist/esm/register-converter.spec.js.map +0 -1
- package/karma.config.js +0 -32
- package/src/register-converter.spec.ts +0 -31
- package/src/register-converter.ts +0 -29
package/dist/cjs/aggregate-id.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=aggregate-id.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=consumption-type-id.js.map
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "RegisterLibrary", { enumerable: true, get: function () { return register_library_1.RegisterLibrary; } });
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.localeDecimalSeparator = exports.invariantDecimalSeparator = exports.TimeOrRule = exports.Step = exports.Repository = exports.RegisterLibrary = exports.RegisterConvention = exports.PrecisionNumber = exports.NumberFormatter = exports.DayOfWeek = void 0;
|
|
4
|
+
const register_library_1 = require("./register-library");
|
|
5
|
+
Object.defineProperty(exports, "RegisterLibrary", { enumerable: true, get: function () { return register_library_1.RegisterLibrary; } });
|
|
6
|
+
const number_formatter_1 = require("./number-formatter");
|
|
7
|
+
Object.defineProperty(exports, "NumberFormatter", { enumerable: true, get: function () { return number_formatter_1.NumberFormatter; } });
|
|
8
|
+
Object.defineProperty(exports, "invariantDecimalSeparator", { enumerable: true, get: function () { return number_formatter_1.invariantDecimalSeparator; } });
|
|
9
|
+
Object.defineProperty(exports, "localeDecimalSeparator", { enumerable: true, get: function () { return number_formatter_1.localeDecimalSeparator; } });
|
|
10
|
+
const register_convention_1 = require("./register-convention");
|
|
11
|
+
Object.defineProperty(exports, "RegisterConvention", { enumerable: true, get: function () { return register_convention_1.RegisterConvention; } });
|
|
12
|
+
const step_1 = require("./step");
|
|
13
|
+
Object.defineProperty(exports, "Step", { enumerable: true, get: function () { return step_1.Step; } });
|
|
14
|
+
Object.defineProperty(exports, "DayOfWeek", { enumerable: true, get: function () { return step_1.DayOfWeek; } });
|
|
15
|
+
const time_or_rule_1 = require("./time-or-rule");
|
|
16
|
+
Object.defineProperty(exports, "TimeOrRule", { enumerable: true, get: function () { return time_or_rule_1.TimeOrRule; } });
|
|
17
|
+
const precision_number_1 = require("./precision-number");
|
|
18
|
+
Object.defineProperty(exports, "PrecisionNumber", { enumerable: true, get: function () { return precision_number_1.PrecisionNumber; } });
|
|
19
|
+
require("./repository"); // We need this to get the Repository namespace exported
|
|
20
|
+
const repository_1 = require("./repository");
|
|
21
|
+
Object.defineProperty(exports, "Repository", { enumerable: true, get: function () { return repository_1.Repository; } });
|
|
10
22
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAGA,yDAAqD;AA2BjD,gGA3BK,kCAAe,OA2BL;AAzBnB,yDAI4B;AAgBxB,gGAnBA,kCAAe,OAmBA;AAUf,0GA5BA,4CAAyB,OA4BA;AACzB,uGA5BA,yCAAsB,OA4BA;AA1B1B,+DAA2D;AAiBvD,mGAjBK,wCAAkB,OAiBL;AAdtB,iCAAyC;AAmBrC,qFAnBK,WAAI,OAmBL;AATJ,0FAVW,gBAAS,OAUX;AATb,iDAA4C;AAmBxC,2FAnBK,yBAAU,OAmBL;AAlBd,yDAAqD;AAWjD,gGAXK,kCAAe,OAWL;AAVnB,wBAAsB,CAAC,wDAAwD;AAC/E,6CAA0C;AActC,2FAdK,uBAAU,OAcL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure-id.js","sourceRoot":"","sources":["../../src/measure-id.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +1,80 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NumberFormatter = exports.localeDecimalSeparator = exports.invariantDecimalSeparator = void 0;
|
|
4
|
-
exports.invariantDecimalSeparator = (0.1).toString()[1];
|
|
5
|
-
exports.localeDecimalSeparator = (0.1).toLocaleString()[1];
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberFormatter = exports.localeDecimalSeparator = exports.invariantDecimalSeparator = void 0;
|
|
4
|
+
exports.invariantDecimalSeparator = (0.1).toString()[1];
|
|
5
|
+
exports.localeDecimalSeparator = (0.1).toLocaleString()[1];
|
|
6
|
+
class Formatter {
|
|
7
|
+
toPrecision(value, precision, maxDecimals) {
|
|
8
|
+
const absValue = Math.abs(value);
|
|
9
|
+
const noOfIntegerDigits = Math.round(absValue).toString().length;
|
|
10
|
+
// Adjust precision to maxDecimals
|
|
11
|
+
if (maxDecimals !== undefined) {
|
|
12
|
+
precision = Math.min(precision, noOfIntegerDigits + maxDecimals);
|
|
13
|
+
}
|
|
14
|
+
if (value === 0) {
|
|
15
|
+
// (0).toPrecision(1) == "0"
|
|
16
|
+
// (0).toPrecision(2) == "0.0"
|
|
17
|
+
// (0).toPrecision(3) == "0.00"
|
|
18
|
+
// However, we want:
|
|
19
|
+
// Formatter.toPrecision(0, 0) == "0"
|
|
20
|
+
// Formatter.toPrecision(0, 1) == "0.0"
|
|
21
|
+
// Formatter.toPrecision(0, 2) == "0.00"
|
|
22
|
+
return value.toPrecision(precision + 1);
|
|
23
|
+
}
|
|
24
|
+
if (absValue < 1) {
|
|
25
|
+
return value.toPrecision(precision);
|
|
26
|
+
}
|
|
27
|
+
return precision >= noOfIntegerDigits
|
|
28
|
+
? value.toFixed(precision - noOfIntegerDigits)
|
|
29
|
+
: value.toPrecision(precision);
|
|
30
|
+
}
|
|
31
|
+
toLocalePrecision(value, precision, maxDecimals) {
|
|
32
|
+
return this.toPrecision(value, precision, maxDecimals).replace(exports.invariantDecimalSeparator, exports.localeDecimalSeparator);
|
|
33
|
+
}
|
|
34
|
+
toFixed(value, precision, maxDecimals) {
|
|
35
|
+
const parts = this.getParts(value, precision, maxDecimals);
|
|
36
|
+
if (parts.noOfCoefficientDecimals < parts.exponent) {
|
|
37
|
+
const number = parts.invariantCoefficientString.replace(exports.invariantDecimalSeparator, "");
|
|
38
|
+
const zeros = parts.exponent - parts.noOfCoefficientDecimals;
|
|
39
|
+
return `${number}${"0".repeat(zeros)}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return parts.invariantPrecisionString;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
toLocaleFixed(value, precision, maxDecimals) {
|
|
46
|
+
return this.toFixed(value, precision, maxDecimals).replace(exports.invariantDecimalSeparator, exports.localeDecimalSeparator);
|
|
47
|
+
}
|
|
48
|
+
getParts(value, precision, maxDecimals) {
|
|
49
|
+
const precisionString = this.toPrecision(value, precision, maxDecimals);
|
|
50
|
+
if (precisionString.indexOf("e") >= 0) {
|
|
51
|
+
const match = /(.*)e([\+-]\d+)$/.exec(precisionString);
|
|
52
|
+
const coefficientString = match[1];
|
|
53
|
+
const exponent = parseInt(match[2]);
|
|
54
|
+
const decimalSeparatorIndex = coefficientString.indexOf(exports.invariantDecimalSeparator);
|
|
55
|
+
const noOfCoefficientDecimals = decimalSeparatorIndex >= 0
|
|
56
|
+
? coefficientString.length - decimalSeparatorIndex - 1
|
|
57
|
+
: 0;
|
|
58
|
+
return {
|
|
59
|
+
invariantPrecisionString: precisionString,
|
|
60
|
+
invariantCoefficientString: coefficientString,
|
|
61
|
+
exponent,
|
|
62
|
+
noOfCoefficientDecimals,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const decimalSeparatorIndex = precisionString.indexOf(exports.invariantDecimalSeparator);
|
|
67
|
+
const noOfCoefficientDecimals = decimalSeparatorIndex >= 0
|
|
68
|
+
? precisionString.length - decimalSeparatorIndex - 1
|
|
69
|
+
: 0;
|
|
70
|
+
return {
|
|
71
|
+
invariantPrecisionString: precisionString,
|
|
72
|
+
invariantCoefficientString: precisionString,
|
|
73
|
+
exponent: 0,
|
|
74
|
+
noOfCoefficientDecimals,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.NumberFormatter = new Formatter();
|
|
51
80
|
//# sourceMappingURL=number-formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,QAAA,sBAAsB,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/number-formatter.ts"],"names":[],"mappings":"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"}
|