@utiliread/primitives 1.0.0-115 → 1.0.0-117

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 (589) hide show
  1. package/dist/index.d.ts +877 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +3074 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +3062 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +14 -15
  8. package/tsconfig.json +4 -6
  9. package/dist/cjs/aggregate-id.js +0 -3
  10. package/dist/cjs/aggregate-id.js.map +0 -1
  11. package/dist/cjs/breakdown-rule.js +0 -45
  12. package/dist/cjs/breakdown-rule.js.map +0 -1
  13. package/dist/cjs/breakdown-rule.spec.js +0 -46
  14. package/dist/cjs/breakdown-rule.spec.js.map +0 -1
  15. package/dist/cjs/index.js +0 -26
  16. package/dist/cjs/index.js.map +0 -1
  17. package/dist/cjs/measure-id.js +0 -3
  18. package/dist/cjs/measure-id.js.map +0 -1
  19. package/dist/cjs/measures/duration.js +0 -13
  20. package/dist/cjs/measures/duration.js.map +0 -1
  21. package/dist/cjs/measures/energy.js +0 -15
  22. package/dist/cjs/measures/energy.js.map +0 -1
  23. package/dist/cjs/measures/humidity.js +0 -5
  24. package/dist/cjs/measures/humidity.js.map +0 -1
  25. package/dist/cjs/measures/infocode.js +0 -5
  26. package/dist/cjs/measures/infocode.js.map +0 -1
  27. package/dist/cjs/measures/mass-flow.js +0 -20
  28. package/dist/cjs/measures/mass-flow.js.map +0 -1
  29. package/dist/cjs/measures/mass.js +0 -12
  30. package/dist/cjs/measures/mass.js.map +0 -1
  31. package/dist/cjs/measures/noise.js +0 -6
  32. package/dist/cjs/measures/noise.js.map +0 -1
  33. package/dist/cjs/measures/power.js +0 -24
  34. package/dist/cjs/measures/power.js.map +0 -1
  35. package/dist/cjs/measures/pressure.js +0 -10
  36. package/dist/cjs/measures/pressure.js.map +0 -1
  37. package/dist/cjs/measures/reactive-energy.js +0 -9
  38. package/dist/cjs/measures/reactive-energy.js.map +0 -1
  39. package/dist/cjs/measures/reactive-power.js +0 -5
  40. package/dist/cjs/measures/reactive-power.js.map +0 -1
  41. package/dist/cjs/measures/temperature.js +0 -10
  42. package/dist/cjs/measures/temperature.js.map +0 -1
  43. package/dist/cjs/measures/time.js +0 -5
  44. package/dist/cjs/measures/time.js.map +0 -1
  45. package/dist/cjs/measures/volume-flow.js +0 -26
  46. package/dist/cjs/measures/volume-flow.js.map +0 -1
  47. package/dist/cjs/measures/volume.js +0 -5
  48. package/dist/cjs/measures/volume.js.map +0 -1
  49. package/dist/cjs/medium.js +0 -3
  50. package/dist/cjs/medium.js.map +0 -1
  51. package/dist/cjs/number-formatter.js +0 -80
  52. package/dist/cjs/number-formatter.js.map +0 -1
  53. package/dist/cjs/number-formatter.spec.js +0 -512
  54. package/dist/cjs/number-formatter.spec.js.map +0 -1
  55. package/dist/cjs/optional.js +0 -3
  56. package/dist/cjs/optional.js.map +0 -1
  57. package/dist/cjs/precision-number.js +0 -111
  58. package/dist/cjs/precision-number.js.map +0 -1
  59. package/dist/cjs/precision-number.spec.js +0 -156
  60. package/dist/cjs/precision-number.spec.js.map +0 -1
  61. package/dist/cjs/register-convention.js +0 -58
  62. package/dist/cjs/register-convention.js.map +0 -1
  63. package/dist/cjs/register-convention.spec.js +0 -39
  64. package/dist/cjs/register-convention.spec.js.map +0 -1
  65. package/dist/cjs/register-definition.js +0 -3
  66. package/dist/cjs/register-definition.js.map +0 -1
  67. package/dist/cjs/register-id.js +0 -3
  68. package/dist/cjs/register-id.js.map +0 -1
  69. package/dist/cjs/register-library.js +0 -53
  70. package/dist/cjs/register-library.js.map +0 -1
  71. package/dist/cjs/register-library.spec.js +0 -37
  72. package/dist/cjs/register-library.spec.js.map +0 -1
  73. package/dist/cjs/register-pack.js +0 -3
  74. package/dist/cjs/register-pack.js.map +0 -1
  75. package/dist/cjs/register-utils.js +0 -7
  76. package/dist/cjs/register-utils.js.map +0 -1
  77. package/dist/cjs/registers/acoustic-noise.js +0 -47
  78. package/dist/cjs/registers/acoustic-noise.js.map +0 -1
  79. package/dist/cjs/registers/ambient-temperature.js +0 -47
  80. package/dist/cjs/registers/ambient-temperature.js.map +0 -1
  81. package/dist/cjs/registers/consumer.js +0 -11
  82. package/dist/cjs/registers/consumer.js.map +0 -1
  83. package/dist/cjs/registers/cooling-energy-inlet.js +0 -23
  84. package/dist/cjs/registers/cooling-energy-inlet.js.map +0 -1
  85. package/dist/cjs/registers/cooling-energy-outlet.js +0 -23
  86. package/dist/cjs/registers/cooling-energy-outlet.js.map +0 -1
  87. package/dist/cjs/registers/cooling-energy.js +0 -23
  88. package/dist/cjs/registers/cooling-energy.js.map +0 -1
  89. package/dist/cjs/registers/cooling.js +0 -47
  90. package/dist/cjs/registers/cooling.js.map +0 -1
  91. package/dist/cjs/registers/device-addresses-kamdraft.js +0 -11
  92. package/dist/cjs/registers/device-addresses-kamdraft.js.map +0 -1
  93. package/dist/cjs/registers/device-addresses-msisdn.js +0 -11
  94. package/dist/cjs/registers/device-addresses-msisdn.js.map +0 -1
  95. package/dist/cjs/registers/device-addresses-tchlr.js +0 -11
  96. package/dist/cjs/registers/device-addresses-tchlr.js.map +0 -1
  97. package/dist/cjs/registers/device-addresses-wmbus.js +0 -11
  98. package/dist/cjs/registers/device-addresses-wmbus.js.map +0 -1
  99. package/dist/cjs/registers/device-date-time.js +0 -11
  100. package/dist/cjs/registers/device-date-time.js.map +0 -1
  101. package/dist/cjs/registers/device-date.js +0 -11
  102. package/dist/cjs/registers/device-date.js.map +0 -1
  103. package/dist/cjs/registers/device-nominal-diameter.js +0 -11
  104. package/dist/cjs/registers/device-nominal-diameter.js.map +0 -1
  105. package/dist/cjs/registers/device-permanent-volume-flow.js +0 -11
  106. package/dist/cjs/registers/device-permanent-volume-flow.js.map +0 -1
  107. package/dist/cjs/registers/device-registers.js +0 -11
  108. package/dist/cjs/registers/device-registers.js.map +0 -1
  109. package/dist/cjs/registers/device-samples-on-last-mount.js +0 -11
  110. package/dist/cjs/registers/device-samples-on-last-mount.js.map +0 -1
  111. package/dist/cjs/registers/device-samples-on-last-unmount.js +0 -11
  112. package/dist/cjs/registers/device-samples-on-last-unmount.js.map +0 -1
  113. package/dist/cjs/registers/device-samples.js +0 -25
  114. package/dist/cjs/registers/device-samples.js.map +0 -1
  115. package/dist/cjs/registers/device-software-version.js +0 -10
  116. package/dist/cjs/registers/device-software-version.js.map +0 -1
  117. package/dist/cjs/registers/device-time.js +0 -11
  118. package/dist/cjs/registers/device-time.js.map +0 -1
  119. package/dist/cjs/registers/device.js +0 -11
  120. package/dist/cjs/registers/device.js.map +0 -1
  121. package/dist/cjs/registers/diehl-infocode.js +0 -35
  122. package/dist/cjs/registers/diehl-infocode.js.map +0 -1
  123. package/dist/cjs/registers/electrical-energy.js +0 -23
  124. package/dist/cjs/registers/electrical-energy.js.map +0 -1
  125. package/dist/cjs/registers/energy-inlet.js +0 -23
  126. package/dist/cjs/registers/energy-inlet.js.map +0 -1
  127. package/dist/cjs/registers/energy-outlet.js +0 -23
  128. package/dist/cjs/registers/energy-outlet.js.map +0 -1
  129. package/dist/cjs/registers/error-operating-time.js +0 -23
  130. package/dist/cjs/registers/error-operating-time.js.map +0 -1
  131. package/dist/cjs/registers/flow-temperature-aux.js +0 -47
  132. package/dist/cjs/registers/flow-temperature-aux.js.map +0 -1
  133. package/dist/cjs/registers/flow-temperature-inlet.js +0 -47
  134. package/dist/cjs/registers/flow-temperature-inlet.js.map +0 -1
  135. package/dist/cjs/registers/flow-temperature-outlet.js +0 -47
  136. package/dist/cjs/registers/flow-temperature-outlet.js.map +0 -1
  137. package/dist/cjs/registers/flow-temperature.js +0 -47
  138. package/dist/cjs/registers/flow-temperature.js.map +0 -1
  139. package/dist/cjs/registers/heat-energy-inlet.js +0 -59
  140. package/dist/cjs/registers/heat-energy-inlet.js.map +0 -1
  141. package/dist/cjs/registers/heat-energy-outlet.js +0 -59
  142. package/dist/cjs/registers/heat-energy-outlet.js.map +0 -1
  143. package/dist/cjs/registers/heat-energy.js +0 -59
  144. package/dist/cjs/registers/heat-energy.js.map +0 -1
  145. package/dist/cjs/registers/index.js +0 -87
  146. package/dist/cjs/registers/index.js.map +0 -1
  147. package/dist/cjs/registers/infocode.js +0 -11
  148. package/dist/cjs/registers/infocode.js.map +0 -1
  149. package/dist/cjs/registers/kamstrup-module-type.js +0 -10
  150. package/dist/cjs/registers/kamstrup-module-type.js.map +0 -1
  151. package/dist/cjs/registers/kamstrup-multical-infocode.js +0 -53
  152. package/dist/cjs/registers/kamstrup-multical-infocode.js.map +0 -1
  153. package/dist/cjs/registers/landis-gyr-infocode.js +0 -23
  154. package/dist/cjs/registers/landis-gyr-infocode.js.map +0 -1
  155. package/dist/cjs/registers/landis-gyr-mbus-status.js +0 -23
  156. package/dist/cjs/registers/landis-gyr-mbus-status.js.map +0 -1
  157. package/dist/cjs/registers/legacy-device-samples.js +0 -11
  158. package/dist/cjs/registers/legacy-device-samples.js.map +0 -1
  159. package/dist/cjs/registers/mass-flow-inlet.js +0 -47
  160. package/dist/cjs/registers/mass-flow-inlet.js.map +0 -1
  161. package/dist/cjs/registers/mass-flow-outlet.js +0 -47
  162. package/dist/cjs/registers/mass-flow-outlet.js.map +0 -1
  163. package/dist/cjs/registers/mass-flow.js +0 -47
  164. package/dist/cjs/registers/mass-flow.js.map +0 -1
  165. package/dist/cjs/registers/mass-inlet.js +0 -23
  166. package/dist/cjs/registers/mass-inlet.js.map +0 -1
  167. package/dist/cjs/registers/mass-outlet.js +0 -23
  168. package/dist/cjs/registers/mass-outlet.js.map +0 -1
  169. package/dist/cjs/registers/mass.js +0 -23
  170. package/dist/cjs/registers/mass.js.map +0 -1
  171. package/dist/cjs/registers/mbus-format-string-signature.js +0 -10
  172. package/dist/cjs/registers/mbus-format-string-signature.js.map +0 -1
  173. package/dist/cjs/registers/nominalDiameter.js +0 -11
  174. package/dist/cjs/registers/nominalDiameter.js.map +0 -1
  175. package/dist/cjs/registers/none.js +0 -10
  176. package/dist/cjs/registers/none.js.map +0 -1
  177. package/dist/cjs/registers/operating-time.js +0 -23
  178. package/dist/cjs/registers/operating-time.js.map +0 -1
  179. package/dist/cjs/registers/permanentVolumeFlow.js +0 -11
  180. package/dist/cjs/registers/permanentVolumeFlow.js.map +0 -1
  181. package/dist/cjs/registers/place.js +0 -18
  182. package/dist/cjs/registers/place.js.map +0 -1
  183. package/dist/cjs/registers/power-inlet.js +0 -47
  184. package/dist/cjs/registers/power-inlet.js.map +0 -1
  185. package/dist/cjs/registers/power-outlet.js +0 -47
  186. package/dist/cjs/registers/power-outlet.js.map +0 -1
  187. package/dist/cjs/registers/power.js +0 -47
  188. package/dist/cjs/registers/power.js.map +0 -1
  189. package/dist/cjs/registers/pressure-inlet.js +0 -47
  190. package/dist/cjs/registers/pressure-inlet.js.map +0 -1
  191. package/dist/cjs/registers/pressure-outlet.js +0 -47
  192. package/dist/cjs/registers/pressure-outlet.js.map +0 -1
  193. package/dist/cjs/registers/pressure.js +0 -47
  194. package/dist/cjs/registers/pressure.js.map +0 -1
  195. package/dist/cjs/registers/radiator-temperature.js +0 -47
  196. package/dist/cjs/registers/radiator-temperature.js.map +0 -1
  197. package/dist/cjs/registers/reactive-energy.js +0 -23
  198. package/dist/cjs/registers/reactive-energy.js.map +0 -1
  199. package/dist/cjs/registers/relative-humidity.js +0 -10
  200. package/dist/cjs/registers/relative-humidity.js.map +0 -1
  201. package/dist/cjs/registers/remaining-battery-time.js +0 -23
  202. package/dist/cjs/registers/remaining-battery-time.js.map +0 -1
  203. package/dist/cjs/registers/time-last-exact-overhearing-arrived.js +0 -20
  204. package/dist/cjs/registers/time-last-exact-overhearing-arrived.js.map +0 -1
  205. package/dist/cjs/registers/time-last-installation-mounted.js +0 -20
  206. package/dist/cjs/registers/time-last-installation-mounted.js.map +0 -1
  207. package/dist/cjs/registers/time-last-possible-candidate-overhearing-arrived.js +0 -20
  208. package/dist/cjs/registers/time-last-possible-candidate-overhearing-arrived.js.map +0 -1
  209. package/dist/cjs/registers/time-last-sampled.js +0 -20
  210. package/dist/cjs/registers/time-last-sampled.js.map +0 -1
  211. package/dist/cjs/registers/time.js +0 -42
  212. package/dist/cjs/registers/time.js.map +0 -1
  213. package/dist/cjs/registers/volume-flow-inlet.js +0 -47
  214. package/dist/cjs/registers/volume-flow-inlet.js.map +0 -1
  215. package/dist/cjs/registers/volume-flow-outlet.js +0 -47
  216. package/dist/cjs/registers/volume-flow-outlet.js.map +0 -1
  217. package/dist/cjs/registers/volume-flow.js +0 -47
  218. package/dist/cjs/registers/volume-flow.js.map +0 -1
  219. package/dist/cjs/registers/volume-inlet.js +0 -23
  220. package/dist/cjs/registers/volume-inlet.js.map +0 -1
  221. package/dist/cjs/registers/volume-outlet.js +0 -23
  222. package/dist/cjs/registers/volume-outlet.js.map +0 -1
  223. package/dist/cjs/registers/volume-pulse-input-a.js +0 -23
  224. package/dist/cjs/registers/volume-pulse-input-a.js.map +0 -1
  225. package/dist/cjs/registers/volume-pulse-input-b.js +0 -23
  226. package/dist/cjs/registers/volume-pulse-input-b.js.map +0 -1
  227. package/dist/cjs/registers/volume.js +0 -23
  228. package/dist/cjs/registers/volume.js.map +0 -1
  229. package/dist/cjs/repository.js +0 -25
  230. package/dist/cjs/repository.js.map +0 -1
  231. package/dist/cjs/repository.spec.js +0 -21
  232. package/dist/cjs/repository.spec.js.map +0 -1
  233. package/dist/cjs/step.js +0 -45
  234. package/dist/cjs/step.js.map +0 -1
  235. package/dist/cjs/step.spec.js +0 -29
  236. package/dist/cjs/step.spec.js.map +0 -1
  237. package/dist/cjs/time-or-rule.js +0 -43
  238. package/dist/cjs/time-or-rule.js.map +0 -1
  239. package/dist/cjs/unit-id.js +0 -3
  240. package/dist/cjs/unit-id.js.map +0 -1
  241. package/dist/esm/aggregate-id.js +0 -2
  242. package/dist/esm/aggregate-id.js.map +0 -1
  243. package/dist/esm/breakdown-rule.js +0 -42
  244. package/dist/esm/breakdown-rule.js.map +0 -1
  245. package/dist/esm/breakdown-rule.spec.js +0 -44
  246. package/dist/esm/breakdown-rule.spec.js.map +0 -1
  247. package/dist/esm/index.js +0 -12
  248. package/dist/esm/index.js.map +0 -1
  249. package/dist/esm/measure-id.js +0 -2
  250. package/dist/esm/measure-id.js.map +0 -1
  251. package/dist/esm/measures/duration.js +0 -10
  252. package/dist/esm/measures/duration.js.map +0 -1
  253. package/dist/esm/measures/energy.js +0 -12
  254. package/dist/esm/measures/energy.js.map +0 -1
  255. package/dist/esm/measures/humidity.js +0 -2
  256. package/dist/esm/measures/humidity.js.map +0 -1
  257. package/dist/esm/measures/infocode.js +0 -2
  258. package/dist/esm/measures/infocode.js.map +0 -1
  259. package/dist/esm/measures/mass-flow.js +0 -17
  260. package/dist/esm/measures/mass-flow.js.map +0 -1
  261. package/dist/esm/measures/mass.js +0 -9
  262. package/dist/esm/measures/mass.js.map +0 -1
  263. package/dist/esm/measures/noise.js +0 -3
  264. package/dist/esm/measures/noise.js.map +0 -1
  265. package/dist/esm/measures/power.js +0 -21
  266. package/dist/esm/measures/power.js.map +0 -1
  267. package/dist/esm/measures/pressure.js +0 -7
  268. package/dist/esm/measures/pressure.js.map +0 -1
  269. package/dist/esm/measures/reactive-energy.js +0 -6
  270. package/dist/esm/measures/reactive-energy.js.map +0 -1
  271. package/dist/esm/measures/reactive-power.js +0 -2
  272. package/dist/esm/measures/reactive-power.js.map +0 -1
  273. package/dist/esm/measures/temperature.js +0 -7
  274. package/dist/esm/measures/temperature.js.map +0 -1
  275. package/dist/esm/measures/time.js +0 -2
  276. package/dist/esm/measures/time.js.map +0 -1
  277. package/dist/esm/measures/volume-flow.js +0 -23
  278. package/dist/esm/measures/volume-flow.js.map +0 -1
  279. package/dist/esm/measures/volume.js +0 -2
  280. package/dist/esm/measures/volume.js.map +0 -1
  281. package/dist/esm/medium.js +0 -2
  282. package/dist/esm/medium.js.map +0 -1
  283. package/dist/esm/number-formatter.js +0 -77
  284. package/dist/esm/number-formatter.js.map +0 -1
  285. package/dist/esm/number-formatter.spec.js +0 -510
  286. package/dist/esm/number-formatter.spec.js.map +0 -1
  287. package/dist/esm/optional.js +0 -2
  288. package/dist/esm/optional.js.map +0 -1
  289. package/dist/esm/precision-number.js +0 -107
  290. package/dist/esm/precision-number.js.map +0 -1
  291. package/dist/esm/precision-number.spec.js +0 -154
  292. package/dist/esm/precision-number.spec.js.map +0 -1
  293. package/dist/esm/register-convention.js +0 -54
  294. package/dist/esm/register-convention.js.map +0 -1
  295. package/dist/esm/register-convention.spec.js +0 -37
  296. package/dist/esm/register-convention.spec.js.map +0 -1
  297. package/dist/esm/register-definition.js +0 -2
  298. package/dist/esm/register-definition.js.map +0 -1
  299. package/dist/esm/register-id.js +0 -2
  300. package/dist/esm/register-id.js.map +0 -1
  301. package/dist/esm/register-library.js +0 -50
  302. package/dist/esm/register-library.js.map +0 -1
  303. package/dist/esm/register-library.spec.js +0 -35
  304. package/dist/esm/register-library.spec.js.map +0 -1
  305. package/dist/esm/register-pack.js +0 -2
  306. package/dist/esm/register-pack.js.map +0 -1
  307. package/dist/esm/register-utils.js +0 -4
  308. package/dist/esm/register-utils.js.map +0 -1
  309. package/dist/esm/registers/acoustic-noise.js +0 -44
  310. package/dist/esm/registers/acoustic-noise.js.map +0 -1
  311. package/dist/esm/registers/ambient-temperature.js +0 -44
  312. package/dist/esm/registers/ambient-temperature.js.map +0 -1
  313. package/dist/esm/registers/consumer.js +0 -8
  314. package/dist/esm/registers/consumer.js.map +0 -1
  315. package/dist/esm/registers/cooling-energy-inlet.js +0 -20
  316. package/dist/esm/registers/cooling-energy-inlet.js.map +0 -1
  317. package/dist/esm/registers/cooling-energy-outlet.js +0 -20
  318. package/dist/esm/registers/cooling-energy-outlet.js.map +0 -1
  319. package/dist/esm/registers/cooling-energy.js +0 -20
  320. package/dist/esm/registers/cooling-energy.js.map +0 -1
  321. package/dist/esm/registers/cooling.js +0 -44
  322. package/dist/esm/registers/cooling.js.map +0 -1
  323. package/dist/esm/registers/device-addresses-kamdraft.js +0 -8
  324. package/dist/esm/registers/device-addresses-kamdraft.js.map +0 -1
  325. package/dist/esm/registers/device-addresses-msisdn.js +0 -8
  326. package/dist/esm/registers/device-addresses-msisdn.js.map +0 -1
  327. package/dist/esm/registers/device-addresses-tchlr.js +0 -8
  328. package/dist/esm/registers/device-addresses-tchlr.js.map +0 -1
  329. package/dist/esm/registers/device-addresses-wmbus.js +0 -8
  330. package/dist/esm/registers/device-addresses-wmbus.js.map +0 -1
  331. package/dist/esm/registers/device-date-time.js +0 -8
  332. package/dist/esm/registers/device-date-time.js.map +0 -1
  333. package/dist/esm/registers/device-date.js +0 -8
  334. package/dist/esm/registers/device-date.js.map +0 -1
  335. package/dist/esm/registers/device-nominal-diameter.js +0 -8
  336. package/dist/esm/registers/device-nominal-diameter.js.map +0 -1
  337. package/dist/esm/registers/device-permanent-volume-flow.js +0 -8
  338. package/dist/esm/registers/device-permanent-volume-flow.js.map +0 -1
  339. package/dist/esm/registers/device-registers.js +0 -8
  340. package/dist/esm/registers/device-registers.js.map +0 -1
  341. package/dist/esm/registers/device-samples-on-last-mount.d.ts +0 -12
  342. package/dist/esm/registers/device-samples-on-last-mount.js +0 -8
  343. package/dist/esm/registers/device-samples-on-last-mount.js.map +0 -1
  344. package/dist/esm/registers/device-samples-on-last-unmount.d.ts +0 -12
  345. package/dist/esm/registers/device-samples-on-last-unmount.js +0 -8
  346. package/dist/esm/registers/device-samples-on-last-unmount.js.map +0 -1
  347. package/dist/esm/registers/device-samples.js +0 -22
  348. package/dist/esm/registers/device-samples.js.map +0 -1
  349. package/dist/esm/registers/device-software-version.js +0 -7
  350. package/dist/esm/registers/device-software-version.js.map +0 -1
  351. package/dist/esm/registers/device-time.js +0 -8
  352. package/dist/esm/registers/device-time.js.map +0 -1
  353. package/dist/esm/registers/device.js +0 -8
  354. package/dist/esm/registers/device.js.map +0 -1
  355. package/dist/esm/registers/diehl-infocode.js +0 -32
  356. package/dist/esm/registers/diehl-infocode.js.map +0 -1
  357. package/dist/esm/registers/electrical-energy.js +0 -20
  358. package/dist/esm/registers/electrical-energy.js.map +0 -1
  359. package/dist/esm/registers/energy-inlet.js +0 -20
  360. package/dist/esm/registers/energy-inlet.js.map +0 -1
  361. package/dist/esm/registers/energy-outlet.js +0 -20
  362. package/dist/esm/registers/energy-outlet.js.map +0 -1
  363. package/dist/esm/registers/error-operating-time.js +0 -20
  364. package/dist/esm/registers/error-operating-time.js.map +0 -1
  365. package/dist/esm/registers/flow-temperature-aux.js +0 -44
  366. package/dist/esm/registers/flow-temperature-aux.js.map +0 -1
  367. package/dist/esm/registers/flow-temperature-inlet.js +0 -44
  368. package/dist/esm/registers/flow-temperature-inlet.js.map +0 -1
  369. package/dist/esm/registers/flow-temperature-outlet.js +0 -44
  370. package/dist/esm/registers/flow-temperature-outlet.js.map +0 -1
  371. package/dist/esm/registers/flow-temperature.js +0 -44
  372. package/dist/esm/registers/flow-temperature.js.map +0 -1
  373. package/dist/esm/registers/heat-energy-inlet.js +0 -56
  374. package/dist/esm/registers/heat-energy-inlet.js.map +0 -1
  375. package/dist/esm/registers/heat-energy-outlet.js +0 -56
  376. package/dist/esm/registers/heat-energy-outlet.js.map +0 -1
  377. package/dist/esm/registers/heat-energy.js +0 -56
  378. package/dist/esm/registers/heat-energy.js.map +0 -1
  379. package/dist/esm/registers/index.js +0 -71
  380. package/dist/esm/registers/index.js.map +0 -1
  381. package/dist/esm/registers/infocode.js +0 -8
  382. package/dist/esm/registers/infocode.js.map +0 -1
  383. package/dist/esm/registers/kamstrup-module-type.js +0 -7
  384. package/dist/esm/registers/kamstrup-module-type.js.map +0 -1
  385. package/dist/esm/registers/kamstrup-multical-infocode.js +0 -50
  386. package/dist/esm/registers/kamstrup-multical-infocode.js.map +0 -1
  387. package/dist/esm/registers/landis-gyr-infocode.js +0 -20
  388. package/dist/esm/registers/landis-gyr-infocode.js.map +0 -1
  389. package/dist/esm/registers/landis-gyr-mbus-status.js +0 -20
  390. package/dist/esm/registers/landis-gyr-mbus-status.js.map +0 -1
  391. package/dist/esm/registers/legacy-device-samples.d.ts +0 -12
  392. package/dist/esm/registers/legacy-device-samples.js +0 -8
  393. package/dist/esm/registers/legacy-device-samples.js.map +0 -1
  394. package/dist/esm/registers/mass-flow-inlet.js +0 -44
  395. package/dist/esm/registers/mass-flow-inlet.js.map +0 -1
  396. package/dist/esm/registers/mass-flow-outlet.js +0 -44
  397. package/dist/esm/registers/mass-flow-outlet.js.map +0 -1
  398. package/dist/esm/registers/mass-flow.js +0 -44
  399. package/dist/esm/registers/mass-flow.js.map +0 -1
  400. package/dist/esm/registers/mass-inlet.js +0 -20
  401. package/dist/esm/registers/mass-inlet.js.map +0 -1
  402. package/dist/esm/registers/mass-outlet.js +0 -20
  403. package/dist/esm/registers/mass-outlet.js.map +0 -1
  404. package/dist/esm/registers/mass.js +0 -20
  405. package/dist/esm/registers/mass.js.map +0 -1
  406. package/dist/esm/registers/mbus-format-string-signature.js +0 -7
  407. package/dist/esm/registers/mbus-format-string-signature.js.map +0 -1
  408. package/dist/esm/registers/nominalDiameter.d.ts +0 -2
  409. package/dist/esm/registers/nominalDiameter.js +0 -8
  410. package/dist/esm/registers/nominalDiameter.js.map +0 -1
  411. package/dist/esm/registers/none.js +0 -7
  412. package/dist/esm/registers/none.js.map +0 -1
  413. package/dist/esm/registers/operating-time.js +0 -20
  414. package/dist/esm/registers/operating-time.js.map +0 -1
  415. package/dist/esm/registers/permanentVolumeFlow.d.ts +0 -2
  416. package/dist/esm/registers/permanentVolumeFlow.js +0 -8
  417. package/dist/esm/registers/permanentVolumeFlow.js.map +0 -1
  418. package/dist/esm/registers/place.js +0 -15
  419. package/dist/esm/registers/place.js.map +0 -1
  420. package/dist/esm/registers/power-inlet.js +0 -44
  421. package/dist/esm/registers/power-inlet.js.map +0 -1
  422. package/dist/esm/registers/power-outlet.js +0 -44
  423. package/dist/esm/registers/power-outlet.js.map +0 -1
  424. package/dist/esm/registers/power.js +0 -44
  425. package/dist/esm/registers/power.js.map +0 -1
  426. package/dist/esm/registers/pressure-inlet.js +0 -44
  427. package/dist/esm/registers/pressure-inlet.js.map +0 -1
  428. package/dist/esm/registers/pressure-outlet.js +0 -44
  429. package/dist/esm/registers/pressure-outlet.js.map +0 -1
  430. package/dist/esm/registers/pressure.js +0 -44
  431. package/dist/esm/registers/pressure.js.map +0 -1
  432. package/dist/esm/registers/radiator-temperature.js +0 -44
  433. package/dist/esm/registers/radiator-temperature.js.map +0 -1
  434. package/dist/esm/registers/reactive-energy.js +0 -20
  435. package/dist/esm/registers/reactive-energy.js.map +0 -1
  436. package/dist/esm/registers/relative-humidity.js +0 -7
  437. package/dist/esm/registers/relative-humidity.js.map +0 -1
  438. package/dist/esm/registers/remaining-battery-time.js +0 -20
  439. package/dist/esm/registers/remaining-battery-time.js.map +0 -1
  440. package/dist/esm/registers/time-last-exact-overhearing-arrived.js +0 -17
  441. package/dist/esm/registers/time-last-exact-overhearing-arrived.js.map +0 -1
  442. package/dist/esm/registers/time-last-installation-mounted.js +0 -17
  443. package/dist/esm/registers/time-last-installation-mounted.js.map +0 -1
  444. package/dist/esm/registers/time-last-possible-candidate-overhearing-arrived.js +0 -17
  445. package/dist/esm/registers/time-last-possible-candidate-overhearing-arrived.js.map +0 -1
  446. package/dist/esm/registers/time-last-sampled.js +0 -17
  447. package/dist/esm/registers/time-last-sampled.js.map +0 -1
  448. package/dist/esm/registers/time.js +0 -39
  449. package/dist/esm/registers/time.js.map +0 -1
  450. package/dist/esm/registers/volume-flow-inlet.js +0 -44
  451. package/dist/esm/registers/volume-flow-inlet.js.map +0 -1
  452. package/dist/esm/registers/volume-flow-outlet.js +0 -44
  453. package/dist/esm/registers/volume-flow-outlet.js.map +0 -1
  454. package/dist/esm/registers/volume-flow.js +0 -44
  455. package/dist/esm/registers/volume-flow.js.map +0 -1
  456. package/dist/esm/registers/volume-inlet.js +0 -20
  457. package/dist/esm/registers/volume-inlet.js.map +0 -1
  458. package/dist/esm/registers/volume-outlet.js +0 -20
  459. package/dist/esm/registers/volume-outlet.js.map +0 -1
  460. package/dist/esm/registers/volume-pulse-input-a.js +0 -20
  461. package/dist/esm/registers/volume-pulse-input-a.js.map +0 -1
  462. package/dist/esm/registers/volume-pulse-input-b.js +0 -20
  463. package/dist/esm/registers/volume-pulse-input-b.js.map +0 -1
  464. package/dist/esm/registers/volume.js +0 -20
  465. package/dist/esm/registers/volume.js.map +0 -1
  466. package/dist/esm/repository.js +0 -22
  467. package/dist/esm/repository.js.map +0 -1
  468. package/dist/esm/repository.spec.js +0 -19
  469. package/dist/esm/repository.spec.js.map +0 -1
  470. package/dist/esm/step.js +0 -42
  471. package/dist/esm/step.js.map +0 -1
  472. package/dist/esm/step.spec.js +0 -27
  473. package/dist/esm/step.spec.js.map +0 -1
  474. package/dist/esm/time-or-rule.js +0 -40
  475. package/dist/esm/time-or-rule.js.map +0 -1
  476. package/dist/esm/unit-id.js +0 -2
  477. package/dist/esm/unit-id.js.map +0 -1
  478. package/tsconfig.cjs.json +0 -9
  479. /package/dist/{esm → types}/aggregate-id.d.ts +0 -0
  480. /package/dist/{esm → types}/breakdown-rule.d.ts +0 -0
  481. /package/dist/{esm → types}/breakdown-rule.spec.d.ts +0 -0
  482. /package/dist/{esm → types}/index.d.ts +0 -0
  483. /package/dist/{esm → types}/measure-id.d.ts +0 -0
  484. /package/dist/{esm → types}/measures/duration.d.ts +0 -0
  485. /package/dist/{esm → types}/measures/energy.d.ts +0 -0
  486. /package/dist/{esm → types}/measures/humidity.d.ts +0 -0
  487. /package/dist/{esm → types}/measures/infocode.d.ts +0 -0
  488. /package/dist/{esm → types}/measures/mass-flow.d.ts +0 -0
  489. /package/dist/{esm → types}/measures/mass.d.ts +0 -0
  490. /package/dist/{esm → types}/measures/noise.d.ts +0 -0
  491. /package/dist/{esm → types}/measures/power.d.ts +0 -0
  492. /package/dist/{esm → types}/measures/pressure.d.ts +0 -0
  493. /package/dist/{esm → types}/measures/reactive-energy.d.ts +0 -0
  494. /package/dist/{esm → types}/measures/reactive-power.d.ts +0 -0
  495. /package/dist/{esm → types}/measures/temperature.d.ts +0 -0
  496. /package/dist/{esm → types}/measures/time.d.ts +0 -0
  497. /package/dist/{esm → types}/measures/volume-flow.d.ts +0 -0
  498. /package/dist/{esm → types}/measures/volume.d.ts +0 -0
  499. /package/dist/{esm → types}/medium.d.ts +0 -0
  500. /package/dist/{esm → types}/number-formatter.d.ts +0 -0
  501. /package/dist/{esm → types}/number-formatter.spec.d.ts +0 -0
  502. /package/dist/{esm → types}/optional.d.ts +0 -0
  503. /package/dist/{esm → types}/precision-number.d.ts +0 -0
  504. /package/dist/{esm → types}/precision-number.spec.d.ts +0 -0
  505. /package/dist/{esm → types}/register-convention.d.ts +0 -0
  506. /package/dist/{esm → types}/register-convention.spec.d.ts +0 -0
  507. /package/dist/{esm → types}/register-definition.d.ts +0 -0
  508. /package/dist/{esm → types}/register-id.d.ts +0 -0
  509. /package/dist/{esm → types}/register-library.d.ts +0 -0
  510. /package/dist/{esm → types}/register-library.spec.d.ts +0 -0
  511. /package/dist/{esm → types}/register-pack.d.ts +0 -0
  512. /package/dist/{esm → types}/register-utils.d.ts +0 -0
  513. /package/dist/{esm → types}/registers/acoustic-noise.d.ts +0 -0
  514. /package/dist/{esm → types}/registers/ambient-temperature.d.ts +0 -0
  515. /package/dist/{esm → types}/registers/consumer.d.ts +0 -0
  516. /package/dist/{esm → types}/registers/cooling-energy-inlet.d.ts +0 -0
  517. /package/dist/{esm → types}/registers/cooling-energy-outlet.d.ts +0 -0
  518. /package/dist/{esm → types}/registers/cooling-energy.d.ts +0 -0
  519. /package/dist/{esm → types}/registers/cooling.d.ts +0 -0
  520. /package/dist/{esm → types}/registers/device-addresses-kamdraft.d.ts +0 -0
  521. /package/dist/{esm → types}/registers/device-addresses-msisdn.d.ts +0 -0
  522. /package/dist/{esm → types}/registers/device-addresses-tchlr.d.ts +0 -0
  523. /package/dist/{esm → types}/registers/device-addresses-wmbus.d.ts +0 -0
  524. /package/dist/{esm → types}/registers/device-date-time.d.ts +0 -0
  525. /package/dist/{esm → types}/registers/device-date.d.ts +0 -0
  526. /package/dist/{esm → types}/registers/device-nominal-diameter.d.ts +0 -0
  527. /package/dist/{esm → types}/registers/device-permanent-volume-flow.d.ts +0 -0
  528. /package/dist/{esm → types}/registers/device-registers.d.ts +0 -0
  529. /package/dist/{esm → types}/registers/device-samples.d.ts +0 -0
  530. /package/dist/{esm → types}/registers/device-software-version.d.ts +0 -0
  531. /package/dist/{esm → types}/registers/device-time.d.ts +0 -0
  532. /package/dist/{esm → types}/registers/device.d.ts +0 -0
  533. /package/dist/{esm → types}/registers/diehl-infocode.d.ts +0 -0
  534. /package/dist/{esm → types}/registers/electrical-energy.d.ts +0 -0
  535. /package/dist/{esm → types}/registers/energy-inlet.d.ts +0 -0
  536. /package/dist/{esm → types}/registers/energy-outlet.d.ts +0 -0
  537. /package/dist/{esm → types}/registers/error-operating-time.d.ts +0 -0
  538. /package/dist/{esm → types}/registers/flow-temperature-aux.d.ts +0 -0
  539. /package/dist/{esm → types}/registers/flow-temperature-inlet.d.ts +0 -0
  540. /package/dist/{esm → types}/registers/flow-temperature-outlet.d.ts +0 -0
  541. /package/dist/{esm → types}/registers/flow-temperature.d.ts +0 -0
  542. /package/dist/{esm → types}/registers/heat-energy-inlet.d.ts +0 -0
  543. /package/dist/{esm → types}/registers/heat-energy-outlet.d.ts +0 -0
  544. /package/dist/{esm → types}/registers/heat-energy.d.ts +0 -0
  545. /package/dist/{esm → types}/registers/index.d.ts +0 -0
  546. /package/dist/{esm → types}/registers/infocode.d.ts +0 -0
  547. /package/dist/{esm → types}/registers/kamstrup-module-type.d.ts +0 -0
  548. /package/dist/{esm → types}/registers/kamstrup-multical-infocode.d.ts +0 -0
  549. /package/dist/{esm → types}/registers/landis-gyr-infocode.d.ts +0 -0
  550. /package/dist/{esm → types}/registers/landis-gyr-mbus-status.d.ts +0 -0
  551. /package/dist/{esm → types}/registers/mass-flow-inlet.d.ts +0 -0
  552. /package/dist/{esm → types}/registers/mass-flow-outlet.d.ts +0 -0
  553. /package/dist/{esm → types}/registers/mass-flow.d.ts +0 -0
  554. /package/dist/{esm → types}/registers/mass-inlet.d.ts +0 -0
  555. /package/dist/{esm → types}/registers/mass-outlet.d.ts +0 -0
  556. /package/dist/{esm → types}/registers/mass.d.ts +0 -0
  557. /package/dist/{esm → types}/registers/mbus-format-string-signature.d.ts +0 -0
  558. /package/dist/{esm → types}/registers/none.d.ts +0 -0
  559. /package/dist/{esm → types}/registers/operating-time.d.ts +0 -0
  560. /package/dist/{esm → types}/registers/place.d.ts +0 -0
  561. /package/dist/{esm → types}/registers/power-inlet.d.ts +0 -0
  562. /package/dist/{esm → types}/registers/power-outlet.d.ts +0 -0
  563. /package/dist/{esm → types}/registers/power.d.ts +0 -0
  564. /package/dist/{esm → types}/registers/pressure-inlet.d.ts +0 -0
  565. /package/dist/{esm → types}/registers/pressure-outlet.d.ts +0 -0
  566. /package/dist/{esm → types}/registers/pressure.d.ts +0 -0
  567. /package/dist/{esm → types}/registers/radiator-temperature.d.ts +0 -0
  568. /package/dist/{esm → types}/registers/reactive-energy.d.ts +0 -0
  569. /package/dist/{esm → types}/registers/relative-humidity.d.ts +0 -0
  570. /package/dist/{esm → types}/registers/remaining-battery-time.d.ts +0 -0
  571. /package/dist/{esm → types}/registers/time-last-exact-overhearing-arrived.d.ts +0 -0
  572. /package/dist/{esm → types}/registers/time-last-installation-mounted.d.ts +0 -0
  573. /package/dist/{esm → types}/registers/time-last-possible-candidate-overhearing-arrived.d.ts +0 -0
  574. /package/dist/{esm → types}/registers/time-last-sampled.d.ts +0 -0
  575. /package/dist/{esm → types}/registers/time.d.ts +0 -0
  576. /package/dist/{esm → types}/registers/volume-flow-inlet.d.ts +0 -0
  577. /package/dist/{esm → types}/registers/volume-flow-outlet.d.ts +0 -0
  578. /package/dist/{esm → types}/registers/volume-flow.d.ts +0 -0
  579. /package/dist/{esm → types}/registers/volume-inlet.d.ts +0 -0
  580. /package/dist/{esm → types}/registers/volume-outlet.d.ts +0 -0
  581. /package/dist/{esm → types}/registers/volume-pulse-input-a.d.ts +0 -0
  582. /package/dist/{esm → types}/registers/volume-pulse-input-b.d.ts +0 -0
  583. /package/dist/{esm → types}/registers/volume.d.ts +0 -0
  584. /package/dist/{esm → types}/repository.d.ts +0 -0
  585. /package/dist/{esm → types}/repository.spec.d.ts +0 -0
  586. /package/dist/{esm → types}/step.d.ts +0 -0
  587. /package/dist/{esm → types}/step.spec.d.ts +0 -0
  588. /package/dist/{esm → types}/time-or-rule.d.ts +0 -0
  589. /package/dist/{esm → types}/unit-id.d.ts +0 -0
@@ -1,512 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const number_formatter_1 = require("./number-formatter");
4
- const chai_1 = require("chai");
5
- describe("toParts and toPrecision", () => {
6
- it("should format correctly", () => {
7
- const data = [
8
- [
9
- 0,
10
- 0,
11
- {
12
- invariantPrecisionString: "0",
13
- invariantCoefficientString: "0",
14
- exponent: 0,
15
- noOfCoefficientDecimals: 0,
16
- },
17
- ],
18
- [
19
- 0.0,
20
- 1,
21
- {
22
- invariantPrecisionString: "0.0",
23
- invariantCoefficientString: "0.0",
24
- exponent: 0,
25
- noOfCoefficientDecimals: 1,
26
- },
27
- ],
28
- [
29
- 77.1274,
30
- 1,
31
- {
32
- invariantPrecisionString: "8e+1",
33
- invariantCoefficientString: "8",
34
- exponent: 1,
35
- noOfCoefficientDecimals: 0,
36
- },
37
- ],
38
- [
39
- 77.1274,
40
- 2,
41
- {
42
- invariantPrecisionString: "77",
43
- invariantCoefficientString: "77",
44
- exponent: 0,
45
- noOfCoefficientDecimals: 0,
46
- },
47
- ],
48
- [
49
- 77.1274,
50
- 4,
51
- {
52
- invariantPrecisionString: "77.13",
53
- invariantCoefficientString: "77.13",
54
- exponent: 0,
55
- noOfCoefficientDecimals: 2,
56
- },
57
- ],
58
- [
59
- 77.1274,
60
- 5,
61
- {
62
- invariantPrecisionString: "77.127",
63
- invariantCoefficientString: "77.127",
64
- exponent: 0,
65
- noOfCoefficientDecimals: 3,
66
- },
67
- ],
68
- [
69
- 77.1274,
70
- 6,
71
- {
72
- invariantPrecisionString: "77.1274",
73
- invariantCoefficientString: "77.1274",
74
- exponent: 0,
75
- noOfCoefficientDecimals: 4,
76
- },
77
- ],
78
- [
79
- 77.1274,
80
- 7,
81
- {
82
- invariantPrecisionString: "77.12740",
83
- invariantCoefficientString: "77.12740",
84
- exponent: 0,
85
- noOfCoefficientDecimals: 5,
86
- },
87
- ],
88
- [
89
- 77.1274,
90
- 15,
91
- {
92
- invariantPrecisionString: "77.1274000000000",
93
- invariantCoefficientString: "77.1274000000000",
94
- exponent: 0,
95
- noOfCoefficientDecimals: 13,
96
- },
97
- ],
98
- [
99
- 77.1274,
100
- 16,
101
- {
102
- invariantPrecisionString: "77.12739999999999",
103
- invariantCoefficientString: "77.12739999999999",
104
- exponent: 0,
105
- noOfCoefficientDecimals: 14,
106
- },
107
- ],
108
- [
109
- 77.1274,
110
- 17,
111
- {
112
- invariantPrecisionString: "77.127399999999994",
113
- invariantCoefficientString: "77.127399999999994",
114
- exponent: 0,
115
- noOfCoefficientDecimals: 15,
116
- },
117
- ],
118
- [
119
- 77.1274,
120
- 18,
121
- {
122
- invariantPrecisionString: "77.1273999999999944",
123
- invariantCoefficientString: "77.1273999999999944",
124
- exponent: 0,
125
- noOfCoefficientDecimals: 16,
126
- },
127
- ],
128
- [
129
- 77.1274,
130
- 19,
131
- {
132
- invariantPrecisionString: "77.12739999999999441",
133
- invariantCoefficientString: "77.12739999999999441",
134
- exponent: 0,
135
- noOfCoefficientDecimals: 17,
136
- },
137
- ],
138
- [
139
- 77.1274,
140
- 20,
141
- {
142
- invariantPrecisionString: "77.127399999999994407",
143
- invariantCoefficientString: "77.127399999999994407",
144
- exponent: 0,
145
- noOfCoefficientDecimals: 18,
146
- },
147
- ],
148
- [
149
- 77.1274,
150
- 21,
151
- {
152
- invariantPrecisionString: "77.1273999999999944066",
153
- invariantCoefficientString: "77.1273999999999944066",
154
- exponent: 0,
155
- noOfCoefficientDecimals: 19,
156
- },
157
- ],
158
- [
159
- 0.00000123,
160
- 2,
161
- {
162
- invariantPrecisionString: "0.0000012",
163
- invariantCoefficientString: "0.0000012",
164
- exponent: 0,
165
- noOfCoefficientDecimals: 7,
166
- },
167
- ],
168
- [
169
- 0.000000123,
170
- 2,
171
- {
172
- invariantPrecisionString: "1.2e-7",
173
- invariantCoefficientString: "1.2",
174
- exponent: -7,
175
- noOfCoefficientDecimals: 1,
176
- },
177
- ],
178
- [
179
- 0.00000123,
180
- 21,
181
- {
182
- invariantPrecisionString: "0.00000123000000000000008198",
183
- invariantCoefficientString: "0.00000123000000000000008198",
184
- exponent: 0,
185
- noOfCoefficientDecimals: 26,
186
- },
187
- ],
188
- [
189
- 123456,
190
- 3,
191
- {
192
- invariantPrecisionString: "1.23e+5",
193
- invariantCoefficientString: "1.23",
194
- exponent: 5,
195
- noOfCoefficientDecimals: 2,
196
- },
197
- ],
198
- [
199
- Number.MAX_VALUE,
200
- 3,
201
- {
202
- invariantPrecisionString: "1.80e+308",
203
- invariantCoefficientString: "1.80",
204
- exponent: 308,
205
- noOfCoefficientDecimals: 2,
206
- },
207
- ],
208
- [
209
- 123456,
210
- 15,
211
- {
212
- invariantPrecisionString: "123456.000000000",
213
- invariantCoefficientString: "123456.000000000",
214
- exponent: 0,
215
- noOfCoefficientDecimals: 9,
216
- },
217
- ],
218
- [
219
- 0,
220
- 5,
221
- {
222
- invariantPrecisionString: "0.00000",
223
- invariantCoefficientString: "0.00000",
224
- exponent: 0,
225
- noOfCoefficientDecimals: 5,
226
- },
227
- ],
228
- [
229
- 0.000001,
230
- 1,
231
- {
232
- invariantPrecisionString: "0.000001",
233
- invariantCoefficientString: "0.000001",
234
- exponent: 0,
235
- noOfCoefficientDecimals: 6,
236
- },
237
- ],
238
- [
239
- 0.000001,
240
- 10,
241
- {
242
- invariantPrecisionString: "0.000001000000000",
243
- invariantCoefficientString: "0.000001000000000",
244
- exponent: 0,
245
- noOfCoefficientDecimals: 15,
246
- },
247
- ],
248
- [
249
- 0.0000001,
250
- 10,
251
- {
252
- invariantPrecisionString: "1.000000000e-7",
253
- invariantCoefficientString: "1.000000000",
254
- exponent: -7,
255
- noOfCoefficientDecimals: 9,
256
- },
257
- ],
258
- [
259
- 0.00000000001,
260
- 1,
261
- {
262
- invariantPrecisionString: "1e-11",
263
- invariantCoefficientString: "1",
264
- exponent: -11,
265
- noOfCoefficientDecimals: 0,
266
- },
267
- ],
268
- [
269
- 0.00000000001,
270
- 2,
271
- {
272
- invariantPrecisionString: "1.0e-11",
273
- invariantCoefficientString: "1.0",
274
- exponent: -11,
275
- noOfCoefficientDecimals: 1,
276
- },
277
- ],
278
- [
279
- 55,
280
- 2,
281
- {
282
- invariantPrecisionString: "55",
283
- invariantCoefficientString: "55",
284
- exponent: 0,
285
- noOfCoefficientDecimals: 0,
286
- },
287
- ],
288
- [
289
- 55,
290
- 1,
291
- {
292
- invariantPrecisionString: "6e+1",
293
- invariantCoefficientString: "6",
294
- exponent: 1,
295
- noOfCoefficientDecimals: 0,
296
- },
297
- ],
298
- [
299
- -55,
300
- 2,
301
- {
302
- invariantPrecisionString: "-55",
303
- invariantCoefficientString: "-55",
304
- exponent: 0,
305
- noOfCoefficientDecimals: 0,
306
- },
307
- ],
308
- [
309
- -55,
310
- 1,
311
- {
312
- invariantPrecisionString: "-6e+1",
313
- invariantCoefficientString: "-6",
314
- exponent: 1,
315
- noOfCoefficientDecimals: 0,
316
- },
317
- ],
318
- [
319
- 9.59,
320
- 1,
321
- {
322
- invariantPrecisionString: "1e+1",
323
- invariantCoefficientString: "1",
324
- exponent: 1,
325
- noOfCoefficientDecimals: 0,
326
- },
327
- ],
328
- [
329
- 9.59,
330
- 2,
331
- {
332
- invariantPrecisionString: "10",
333
- invariantCoefficientString: "10",
334
- exponent: 0,
335
- noOfCoefficientDecimals: 0,
336
- },
337
- ],
338
- [
339
- 9.95,
340
- 2,
341
- {
342
- invariantPrecisionString: "10",
343
- invariantCoefficientString: "10",
344
- exponent: 0,
345
- noOfCoefficientDecimals: 0,
346
- },
347
- ],
348
- [
349
- 9.96,
350
- 2,
351
- {
352
- invariantPrecisionString: "10",
353
- invariantCoefficientString: "10",
354
- exponent: 0,
355
- noOfCoefficientDecimals: 0,
356
- },
357
- ],
358
- [
359
- -555555555555555555555,
360
- 1,
361
- {
362
- invariantPrecisionString: "-6e+20",
363
- invariantCoefficientString: "-6",
364
- exponent: 20,
365
- noOfCoefficientDecimals: 0,
366
- },
367
- ],
368
- [
369
- -5555555555555555555555,
370
- 1,
371
- {
372
- invariantPrecisionString: "-6e+21",
373
- invariantCoefficientString: "-6",
374
- exponent: 21,
375
- noOfCoefficientDecimals: 0,
376
- },
377
- ],
378
- [
379
- 18014398509482012,
380
- 21,
381
- {
382
- invariantPrecisionString: "18014398509482012.0000",
383
- invariantCoefficientString: "18014398509482012.0000",
384
- exponent: 0,
385
- noOfCoefficientDecimals: 4,
386
- },
387
- ],
388
- [
389
- 180143985094820121234,
390
- 21,
391
- {
392
- invariantPrecisionString: "180143985094820134912",
393
- invariantCoefficientString: "180143985094820134912",
394
- exponent: 0,
395
- noOfCoefficientDecimals: 0,
396
- },
397
- ],
398
- [
399
- 0.1,
400
- 21,
401
- {
402
- invariantPrecisionString: "0.100000000000000005551",
403
- invariantCoefficientString: "0.100000000000000005551",
404
- exponent: 0,
405
- noOfCoefficientDecimals: 21,
406
- },
407
- ],
408
- [
409
- Number.EPSILON,
410
- 2,
411
- {
412
- invariantPrecisionString: "2.2e-16",
413
- invariantCoefficientString: "2.2",
414
- exponent: -16,
415
- noOfCoefficientDecimals: 1,
416
- },
417
- ],
418
- [
419
- Number.EPSILON,
420
- 21,
421
- {
422
- invariantPrecisionString: "2.22044604925031308085e-16",
423
- invariantCoefficientString: "2.22044604925031308085",
424
- exponent: -16,
425
- noOfCoefficientDecimals: 20,
426
- },
427
- ],
428
- [
429
- Number.NaN,
430
- 3,
431
- {
432
- invariantPrecisionString: "NaN",
433
- invariantCoefficientString: "NaN",
434
- exponent: 0,
435
- noOfCoefficientDecimals: 0,
436
- },
437
- ],
438
- [
439
- Number.POSITIVE_INFINITY,
440
- 3,
441
- {
442
- invariantPrecisionString: "Infinity",
443
- invariantCoefficientString: "Infinity",
444
- exponent: 0,
445
- noOfCoefficientDecimals: 0,
446
- },
447
- ],
448
- [
449
- Number.NEGATIVE_INFINITY,
450
- 3,
451
- {
452
- invariantPrecisionString: "-Infinity",
453
- invariantCoefficientString: "-Infinity",
454
- exponent: 0,
455
- noOfCoefficientDecimals: 0,
456
- },
457
- ],
458
- [
459
- 164735280,
460
- 7,
461
- {
462
- invariantPrecisionString: "1.647353e+8",
463
- invariantCoefficientString: "1.647353",
464
- exponent: 8,
465
- noOfCoefficientDecimals: 6,
466
- },
467
- ],
468
- ];
469
- for (const [value, precision, expectedParts] of data) {
470
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toPrecision(value, precision)).to.equal(expectedParts.invariantPrecisionString);
471
- const localePrecisionString = expectedParts.invariantPrecisionString.replace(number_formatter_1.invariantDecimalSeparator, number_formatter_1.localeDecimalSeparator);
472
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocalePrecision(value, precision)).to.equal(localePrecisionString);
473
- const parts = number_formatter_1.NumberFormatter.getParts(value, precision);
474
- (0, chai_1.expect)(parts.invariantPrecisionString).to.equal(expectedParts.invariantPrecisionString);
475
- (0, chai_1.expect)(parts.invariantCoefficientString).to.equal(expectedParts.invariantCoefficientString);
476
- (0, chai_1.expect)(parts.exponent).to.equal(expectedParts.exponent);
477
- (0, chai_1.expect)(parts.noOfCoefficientDecimals).to.equal(expectedParts.noOfCoefficientDecimals);
478
- }
479
- });
480
- });
481
- describe("toFixed", () => {
482
- it("should format correctly", () => {
483
- const data = [
484
- [0, 0, "0"],
485
- [0.0, 1, "0.0"],
486
- [10, 1, "10"],
487
- [10, 2, "10"],
488
- [10, 3, "10.0"],
489
- [10, 4, "10.00"],
490
- [10.2, 1, "10"],
491
- [10.2, 2, "10"],
492
- [10.2, 3, "10.2"],
493
- [10.2, 4, "10.20"],
494
- [217887000000, 6, "217887000000"],
495
- ];
496
- for (const [value, precision, invariantExpected] of data) {
497
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toFixed(value, precision)).to.equal(invariantExpected);
498
- const localeExpected = invariantExpected.replace(number_formatter_1.invariantDecimalSeparator, number_formatter_1.localeDecimalSeparator);
499
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocaleFixed(value, precision)).to.equal(localeExpected);
500
- }
501
- });
502
- });
503
- describe("toLocaleFixed", () => {
504
- it("should format correctly", () => {
505
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocaleFixed(400, 2)).to.equal("400");
506
- });
507
- it("should format correctly with max decimals", () => {
508
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocaleFixed(35.123456, 8, 2)).to.equal("35.12");
509
- (0, chai_1.expect)(number_formatter_1.NumberFormatter.toLocaleFixed(35.129999, 8, 2)).to.equal("35.13");
510
- });
511
- });
512
- //# sourceMappingURL=number-formatter.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-formatter.spec.js","sourceRoot":"","sources":["../../src/number-formatter.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=optional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/optional.ts"],"names":[],"mappings":""}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrecisionNumber = void 0;
4
- const number_formatter_1 = require("./number-formatter");
5
- const _1 = require(".");
6
- class PrecisionNumber {
7
- constructor(value, precision) {
8
- this.value = value;
9
- this.precision = precision !== null && precision !== void 0 ? precision : getPrecision(value);
10
- }
11
- static parse(input) {
12
- let normalized = input
13
- .trim()
14
- .replace(",", ".")
15
- .replace(number_formatter_1.localeDecimalSeparator, _1.invariantDecimalSeparator);
16
- if (normalized.endsWith(_1.invariantDecimalSeparator)) {
17
- normalized += "0";
18
- }
19
- const value = parseFloat(normalized);
20
- let precision = normalized
21
- .replace(".", "")
22
- .replace("+", "")
23
- .replace("-", "").length;
24
- if (value > -1 && value < 1 && value !== 0 && precision > 1) {
25
- precision--;
26
- }
27
- return new PrecisionNumber(value, precision);
28
- }
29
- abs() {
30
- return new PrecisionNumber(Math.abs(this.value), this.precision);
31
- }
32
- plus(rhs) {
33
- // The result should have the same number of decimal places as the minimum of the two inputs
34
- const lhs = this;
35
- const value = lhs.value + rhs.value;
36
- const decimals = Math.min(getNumberOfDecimalDigits(lhs.value, lhs.precision), getNumberOfDecimalDigits(rhs.value, rhs.precision));
37
- const precision = getPrecision(value, decimals);
38
- return new PrecisionNumber(value, precision);
39
- }
40
- minus(rhs) {
41
- // The result should have the same number of decimal places as the minimum of the two inputs
42
- const lhs = this;
43
- const value = lhs.value - rhs.value;
44
- const decimals = Math.min(getNumberOfDecimalDigits(lhs.value, lhs.precision), getNumberOfDecimalDigits(rhs.value, rhs.precision));
45
- const precision = getPrecision(value, decimals);
46
- return new PrecisionNumber(value, precision);
47
- }
48
- valueOf() {
49
- return this.value;
50
- }
51
- toString() {
52
- return this.value.toString();
53
- }
54
- toFixed() {
55
- return number_formatter_1.NumberFormatter.toFixed(this.value, this.precision);
56
- }
57
- toPrecision() {
58
- return number_formatter_1.NumberFormatter.toPrecision(this.value, this.precision);
59
- }
60
- toLocaleFixed() {
61
- return number_formatter_1.NumberFormatter.toLocaleFixed(this.value, this.precision);
62
- }
63
- toLocalePrecision() {
64
- return number_formatter_1.NumberFormatter.toLocalePrecision(this.value, this.precision);
65
- }
66
- }
67
- exports.PrecisionNumber = PrecisionNumber;
68
- function getPrecision(number, decimals) {
69
- var _a, _b;
70
- decimals !== null && decimals !== void 0 ? decimals : (decimals = (_b = (_a = number.toString().split(".", 2)[1]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
71
- if (number == 0) {
72
- return 1;
73
- }
74
- else if (number > -1 && number < 1) {
75
- return decimals;
76
- }
77
- else {
78
- return Math.max(getNumberOfIntegralDigits(number) + decimals, 1);
79
- }
80
- }
81
- function getNumberOfDecimalDigits(number, precision) {
82
- if (number > -1 && number < 1) {
83
- return precision;
84
- }
85
- else {
86
- return precision - getNumberOfIntegralDigits(number);
87
- }
88
- }
89
- function getNumberOfIntegralDigits(number) {
90
- const abs = Math.abs(number);
91
- if (abs < 10)
92
- return 1;
93
- if (abs < 100)
94
- return 2;
95
- if (abs < 1000)
96
- return 3;
97
- if (abs < 10000)
98
- return 4;
99
- if (abs < 100000)
100
- return 5;
101
- if (abs < 1000000)
102
- return 6;
103
- if (abs < 10000000)
104
- return 7;
105
- if (abs < 100000000)
106
- return 8;
107
- if (abs < 1000000000)
108
- return 9;
109
- return Math.floor(Math.log10(abs) + 1);
110
- }
111
- //# sourceMappingURL=precision-number.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAE7E,wBAA8C;AAE9C,MAAa,eAAe;IAGxB,YAAY,KAAa,EAAE,SAAkB;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAa;QACtB,IAAI,UAAU,GAAG,KAAK;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,yCAAsB,EAAE,4BAAyB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAAyB,CAAC,EAAE,CAAC;YACjD,UAAU,IAAI,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,SAAS,GAAG,UAAU;aACrB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,GAAG;QACC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,GAAoB;QACrB,4FAA4F;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACrB,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAClD,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CACrD,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAoB;QACtB,4FAA4F;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACrB,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAClD,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CACrD,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,kCAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,OAAO,kCAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,kCAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACb,OAAO,kCAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ;AA9ED,0CA8EC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,QAAiB;;IACnD,QAAQ,aAAR,QAAQ,cAAR,QAAQ,IAAR,QAAQ,GAAK,MAAA,MAAA,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,CAAC,EAAC;IAE7D,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,SAAiB;IAC/D,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,GAAG,GAAG,IAAI;QAAE,OAAO,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,GAAG,GAAG,MAAM;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,GAAG,GAAG,OAAO;QAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,GAAG,GAAG,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAG,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,UAAU;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC"}