@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.
Files changed (162) hide show
  1. package/dist/cjs/aggregate-id.js +2 -2
  2. package/dist/cjs/consumption-type-id.js +2 -2
  3. package/dist/cjs/index.js +21 -9
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/measure-id.js +3 -0
  6. package/dist/cjs/measure-id.js.map +1 -0
  7. package/dist/cjs/number-formatter.js +79 -50
  8. package/dist/cjs/number-formatter.js.map +1 -1
  9. package/dist/cjs/number-formatter.spec.js +512 -0
  10. package/dist/cjs/number-formatter.spec.js.map +1 -0
  11. package/dist/cjs/optional.js +3 -0
  12. package/dist/cjs/optional.js.map +1 -0
  13. package/dist/cjs/precision-number.js +42 -0
  14. package/dist/cjs/precision-number.js.map +1 -0
  15. package/dist/cjs/precision-number.spec.js +27 -0
  16. package/dist/cjs/precision-number.spec.js.map +1 -0
  17. package/dist/cjs/register-convention.js +58 -0
  18. package/dist/cjs/register-convention.js.map +1 -0
  19. package/dist/cjs/register-convention.spec.js +39 -0
  20. package/dist/cjs/register-convention.spec.js.map +1 -0
  21. package/dist/cjs/register-definition.js +2 -2
  22. package/dist/cjs/register-id.js +2 -2
  23. package/dist/cjs/register-library.js +52 -41
  24. package/dist/cjs/register-library.js.map +1 -1
  25. package/dist/cjs/register-library.spec.js +36 -29
  26. package/dist/cjs/register-library.spec.js.map +1 -1
  27. package/dist/cjs/register-pack.js +2 -2
  28. package/dist/cjs/register-utils.js +8 -0
  29. package/dist/cjs/register-utils.js.map +1 -0
  30. package/dist/cjs/repository.js +26 -0
  31. package/dist/cjs/repository.js.map +1 -0
  32. package/dist/cjs/repository.spec.js +21 -0
  33. package/dist/cjs/repository.spec.js.map +1 -0
  34. package/dist/cjs/step.js +45 -0
  35. package/dist/cjs/step.js.map +1 -0
  36. package/dist/cjs/step.spec.js +29 -0
  37. package/dist/cjs/step.spec.js.map +1 -0
  38. package/dist/cjs/time-or-rule.js +19 -0
  39. package/dist/cjs/time-or-rule.js.map +1 -0
  40. package/dist/cjs/unit-id.js +13 -13
  41. package/dist/cjs/unit-id.js.map +1 -1
  42. package/dist/esm/aggregate-id.d.ts +1 -1
  43. package/dist/esm/aggregate-id.js +1 -1
  44. package/dist/esm/consumption-type-id.d.ts +1 -1
  45. package/dist/esm/consumption-type-id.js +1 -1
  46. package/dist/esm/index.d.ts +16 -8
  47. package/dist/esm/index.js +9 -4
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/measure-id.d.ts +1 -0
  50. package/dist/esm/measure-id.js +2 -0
  51. package/dist/esm/measure-id.js.map +1 -0
  52. package/dist/esm/number-formatter.d.ts +17 -8
  53. package/dist/esm/number-formatter.js +76 -47
  54. package/dist/esm/number-formatter.js.map +1 -1
  55. package/dist/esm/{register-converter.spec.d.ts → number-formatter.spec.d.ts} +1 -1
  56. package/dist/esm/number-formatter.spec.js +510 -0
  57. package/dist/esm/number-formatter.spec.js.map +1 -0
  58. package/dist/esm/optional.d.ts +1 -0
  59. package/dist/esm/optional.js +2 -0
  60. package/dist/esm/optional.js.map +1 -0
  61. package/dist/esm/precision-number.d.ts +11 -0
  62. package/dist/esm/precision-number.js +38 -0
  63. package/dist/esm/precision-number.js.map +1 -0
  64. package/dist/esm/precision-number.spec.d.ts +1 -0
  65. package/dist/esm/precision-number.spec.js +25 -0
  66. package/dist/esm/precision-number.spec.js.map +1 -0
  67. package/dist/esm/register-convention.d.ts +14 -0
  68. package/dist/esm/register-convention.js +54 -0
  69. package/dist/esm/register-convention.js.map +1 -0
  70. package/dist/esm/register-convention.spec.d.ts +1 -0
  71. package/dist/esm/register-convention.spec.js +37 -0
  72. package/dist/esm/register-convention.spec.js.map +1 -0
  73. package/dist/esm/register-definition.d.ts +13 -9
  74. package/dist/esm/register-definition.js +1 -1
  75. package/dist/esm/register-id.d.ts +1 -1
  76. package/dist/esm/register-id.js +1 -1
  77. package/dist/esm/register-library.d.ts +15 -11
  78. package/dist/esm/register-library.js +49 -38
  79. package/dist/esm/register-library.js.map +1 -1
  80. package/dist/esm/register-library.spec.d.ts +1 -1
  81. package/dist/esm/register-library.spec.js +34 -27
  82. package/dist/esm/register-library.spec.js.map +1 -1
  83. package/dist/esm/register-pack.d.ts +4 -4
  84. package/dist/esm/register-pack.js +1 -1
  85. package/dist/esm/register-utils.d.ts +3 -0
  86. package/dist/esm/register-utils.js +4 -0
  87. package/dist/esm/register-utils.js.map +1 -0
  88. package/dist/esm/repository.d.ts +9 -0
  89. package/dist/esm/repository.js +22 -0
  90. package/dist/esm/repository.js.map +1 -0
  91. package/dist/esm/repository.spec.d.ts +1 -0
  92. package/dist/esm/repository.spec.js +19 -0
  93. package/dist/esm/repository.spec.js.map +1 -0
  94. package/dist/esm/step.d.ts +15 -0
  95. package/dist/esm/step.js +42 -0
  96. package/dist/esm/step.js.map +1 -0
  97. package/dist/esm/step.spec.d.ts +1 -0
  98. package/dist/esm/step.spec.js +27 -0
  99. package/dist/esm/step.spec.js.map +1 -0
  100. package/dist/esm/time-or-rule.d.ts +7 -0
  101. package/dist/esm/time-or-rule.js +16 -0
  102. package/dist/esm/time-or-rule.js.map +1 -0
  103. package/dist/esm/unit-id.d.ts +2 -2
  104. package/dist/esm/unit-id.js +10 -10
  105. package/dist/esm/unit-id.js.map +1 -1
  106. package/locales/da/aggregates.json +8 -0
  107. package/locales/da/consumption-types.json +7 -0
  108. package/locales/da/measures.json +16 -0
  109. package/locales/da/registers.json +371 -0
  110. package/locales/da/units.json +93 -0
  111. package/locales/en/aggregates.json +8 -0
  112. package/locales/en/consumption-types.json +7 -0
  113. package/locales/en/measures.json +16 -0
  114. package/locales/en/registers.json +380 -0
  115. package/locales/en/units.json +93 -0
  116. package/package.json +17 -14
  117. package/src/aggregate-id.ts +9 -9
  118. package/src/consumption-type-id.ts +8 -8
  119. package/src/index.ts +39 -17
  120. package/src/measure-id.ts +15 -0
  121. package/src/number-formatter.spec.ts +549 -77
  122. package/src/number-formatter.ts +118 -50
  123. package/src/optional.ts +1 -0
  124. package/src/precision-number.spec.ts +28 -0
  125. package/src/precision-number.ts +44 -0
  126. package/src/register-convention.spec.ts +52 -29
  127. package/src/register-convention.ts +70 -45
  128. package/src/register-definition.ts +23 -14
  129. package/src/register-id.ts +270 -191
  130. package/src/register-library.spec.ts +41 -33
  131. package/src/register-library.ts +63 -37
  132. package/src/register-pack.ts +5 -5
  133. package/src/register-utils.ts +6 -6
  134. package/src/repository.spec.ts +20 -0
  135. package/src/repository.ts +24 -0
  136. package/src/step.spec.ts +37 -0
  137. package/src/step.ts +45 -0
  138. package/src/time-or-rule.ts +17 -0
  139. package/src/unit-id.ts +110 -100
  140. package/tsconfig.cjs.json +7 -8
  141. package/tsconfig.json +16 -14
  142. package/web-test-runner.config.mjs +7 -0
  143. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/base.css +0 -224
  144. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/block-navigation.js +0 -79
  145. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/favicon.png +0 -0
  146. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/index.html +0 -96
  147. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/prettify.css +0 -1
  148. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/prettify.js +0 -2
  149. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/sort-arrow-sprite.png +0 -0
  150. package/coverage/Chrome Headless 90.0.4430.85 (Windows 10)/html/sorter.js +0 -170
  151. package/dist/cjs/register-converter.js +0 -47
  152. package/dist/cjs/register-converter.js.map +0 -1
  153. package/dist/cjs/register-converter.spec.js +0 -29
  154. package/dist/cjs/register-converter.spec.js.map +0 -1
  155. package/dist/esm/register-converter.d.ts +0 -9
  156. package/dist/esm/register-converter.js +0 -44
  157. package/dist/esm/register-converter.js.map +0 -1
  158. package/dist/esm/register-converter.spec.js +0 -27
  159. package/dist/esm/register-converter.spec.js.map +0 -1
  160. package/karma.config.js +0 -32
  161. package/src/register-converter.spec.ts +0 -31
  162. package/src/register-converter.ts +0 -29
@@ -1,29 +0,0 @@
1
- import { AggregateId } from "./aggregate-id";
2
- import { aggregatePrefixes, isPrefix } from "./register-convention";
3
- import { RegisterDefinition } from "./register-definition";
4
- import { RegisterId } from "./register-id";
5
- import { getRegisterId } from "./register-utils";
6
-
7
- class Converter {
8
- toInstant(register: RegisterId | RegisterDefinition) {
9
- const registerId = getRegisterId(register);
10
- for (const prefix of Object.values(aggregatePrefixes)) {
11
- if (prefix.length && isPrefix(registerId, prefix)) {
12
- const tail = registerId.substr(prefix.length);
13
- return <RegisterId>(tail[0].toLowerCase() + tail.substr(1));
14
- }
15
- }
16
- return registerId;
17
- }
18
-
19
- toAggregate(register: RegisterId | RegisterDefinition, aggregate: AggregateId) {
20
- const instantRegisterId = this.toInstant(register);
21
- if (aggregate === "instant") {
22
- return instantRegisterId;
23
- }
24
- const prefix = aggregatePrefixes[aggregate];
25
- return <RegisterId>(prefix + instantRegisterId[0].toUpperCase() + instantRegisterId.substr(1));
26
- }
27
- }
28
-
29
- export const RegisterConverter = new Converter();