@utiliread/primitives 1.0.0-7 → 1.0.0-70
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/index.js +17 -5
- 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 +70 -39
- package/dist/cjs/number-formatter.js.map +1 -1
- package/dist/cjs/number-formatter.spec.js +98 -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 +36 -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 +56 -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-library.js +31 -22
- package/dist/cjs/register-library.js.map +1 -1
- package/dist/cjs/register-library.spec.js +20 -13
- package/dist/cjs/register-library.spec.js.map +1 -1
- 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 +41 -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.map +1 -1
- package/dist/esm/aggregate-id.d.ts +1 -1
- package/dist/esm/consumption-type-id.d.ts +1 -1
- package/dist/esm/index.d.ts +15 -7
- package/dist/esm/index.js +8 -3
- 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 +11 -2
- package/dist/esm/number-formatter.js +73 -42
- package/dist/esm/number-formatter.js.map +1 -1
- package/dist/esm/{register-converter.spec.d.ts → number-formatter.spec.d.ts} +0 -0
- package/dist/esm/number-formatter.spec.js +96 -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 +32 -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 +52 -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 +4 -0
- package/dist/esm/register-id.d.ts +1 -1
- package/dist/esm/register-library.d.ts +4 -0
- package/dist/esm/register-library.js +32 -23
- package/dist/esm/register-library.js.map +1 -1
- package/dist/esm/register-library.spec.js +16 -9
- package/dist/esm/register-library.spec.js.map +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 +38 -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 +1 -1
- package/dist/esm/unit-id.js +1 -1
- package/dist/esm/unit-id.js.map +1 -1
- package/karma.config.js +14 -14
- 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 +221 -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 +221 -0
- package/locales/en/units.json +93 -0
- package/package.json +12 -5
- package/src/aggregate-id.ts +9 -9
- package/src/consumption-type-id.ts +8 -8
- package/src/index.ts +29 -11
- package/src/measure-id.ts +15 -0
- package/src/number-formatter.spec.ts +105 -77
- package/src/number-formatter.ts +95 -50
- package/src/optional.ts +1 -0
- package/src/precision-number.spec.ts +28 -0
- package/src/precision-number.ts +36 -0
- package/src/register-convention.spec.ts +43 -0
- package/src/register-convention.ts +61 -0
- package/src/register-definition.ts +14 -1
- package/src/register-id.ts +303 -191
- package/src/register-library.spec.ts +41 -33
- package/src/register-library.ts +57 -37
- package/src/register-pack.ts +5 -5
- package/src/register-utils.ts +6 -0
- package/src/repository.spec.ts +20 -0
- package/src/repository.ts +24 -0
- package/src/step.spec.ts +30 -0
- package/src/step.ts +37 -0
- package/src/time-or-rule.ts +17 -0
- package/src/unit-id.ts +131 -100
- package/tsconfig.cjs.json +7 -8
- package/tsconfig.json +15 -14
- 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/src/register-converter.spec.ts +0 -31
- package/src/register-converter.ts +0 -48
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { AggregateId } from "./aggregate-id";
|
|
2
|
-
import { RegisterDefinition } from "./register-definition";
|
|
3
|
-
import { RegisterId } from "./register-id";
|
|
4
|
-
|
|
5
|
-
const aggregatePrefixes: {[aggregateId in AggregateId]: string} = {
|
|
6
|
-
instant: "",
|
|
7
|
-
diff: "diff",
|
|
8
|
-
min: "min",
|
|
9
|
-
max: "max",
|
|
10
|
-
avg: "avg",
|
|
11
|
-
sum: "sum",
|
|
12
|
-
cnt: "cnt",
|
|
13
|
-
ssq: "ssq",
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
class Converter {
|
|
17
|
-
toInstant(register: RegisterId | RegisterDefinition) {
|
|
18
|
-
const registerId = getRegisterId(register);
|
|
19
|
-
for (const prefix of Object.values(aggregatePrefixes)) {
|
|
20
|
-
if (prefix.length && registerId.startsWith(prefix) && isUppercase(registerId[prefix.length])) {
|
|
21
|
-
const tail = registerId.substr(prefix.length);
|
|
22
|
-
return tail[0].toLowerCase() + tail.substr(1);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return registerId;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
toAggregate(register: RegisterId | RegisterDefinition, aggregate: AggregateId) {
|
|
29
|
-
const instantRegisterId = this.toInstant(register);
|
|
30
|
-
if (aggregate === "instant") {
|
|
31
|
-
return instantRegisterId;
|
|
32
|
-
}
|
|
33
|
-
const prefix = aggregatePrefixes[aggregate];
|
|
34
|
-
return prefix + instantRegisterId[0].toUpperCase() + instantRegisterId.substr(1);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function getRegisterId(register: RegisterId | RegisterDefinition) {
|
|
39
|
-
return typeof register === "string"
|
|
40
|
-
? register
|
|
41
|
-
: register.id;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function isUppercase(input: string) {
|
|
45
|
-
return input.toUpperCase() === input;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export const RegisterConverter = new Converter();
|