@utiliread/primitives 1.0.0-115 → 1.0.0-116

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 +115 -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,510 +0,0 @@
1
- import { NumberFormatter, invariantDecimalSeparator, localeDecimalSeparator, } from "./number-formatter";
2
- import { expect } from "chai";
3
- describe("toParts and toPrecision", () => {
4
- it("should format correctly", () => {
5
- const data = [
6
- [
7
- 0,
8
- 0,
9
- {
10
- invariantPrecisionString: "0",
11
- invariantCoefficientString: "0",
12
- exponent: 0,
13
- noOfCoefficientDecimals: 0,
14
- },
15
- ],
16
- [
17
- 0.0,
18
- 1,
19
- {
20
- invariantPrecisionString: "0.0",
21
- invariantCoefficientString: "0.0",
22
- exponent: 0,
23
- noOfCoefficientDecimals: 1,
24
- },
25
- ],
26
- [
27
- 77.1274,
28
- 1,
29
- {
30
- invariantPrecisionString: "8e+1",
31
- invariantCoefficientString: "8",
32
- exponent: 1,
33
- noOfCoefficientDecimals: 0,
34
- },
35
- ],
36
- [
37
- 77.1274,
38
- 2,
39
- {
40
- invariantPrecisionString: "77",
41
- invariantCoefficientString: "77",
42
- exponent: 0,
43
- noOfCoefficientDecimals: 0,
44
- },
45
- ],
46
- [
47
- 77.1274,
48
- 4,
49
- {
50
- invariantPrecisionString: "77.13",
51
- invariantCoefficientString: "77.13",
52
- exponent: 0,
53
- noOfCoefficientDecimals: 2,
54
- },
55
- ],
56
- [
57
- 77.1274,
58
- 5,
59
- {
60
- invariantPrecisionString: "77.127",
61
- invariantCoefficientString: "77.127",
62
- exponent: 0,
63
- noOfCoefficientDecimals: 3,
64
- },
65
- ],
66
- [
67
- 77.1274,
68
- 6,
69
- {
70
- invariantPrecisionString: "77.1274",
71
- invariantCoefficientString: "77.1274",
72
- exponent: 0,
73
- noOfCoefficientDecimals: 4,
74
- },
75
- ],
76
- [
77
- 77.1274,
78
- 7,
79
- {
80
- invariantPrecisionString: "77.12740",
81
- invariantCoefficientString: "77.12740",
82
- exponent: 0,
83
- noOfCoefficientDecimals: 5,
84
- },
85
- ],
86
- [
87
- 77.1274,
88
- 15,
89
- {
90
- invariantPrecisionString: "77.1274000000000",
91
- invariantCoefficientString: "77.1274000000000",
92
- exponent: 0,
93
- noOfCoefficientDecimals: 13,
94
- },
95
- ],
96
- [
97
- 77.1274,
98
- 16,
99
- {
100
- invariantPrecisionString: "77.12739999999999",
101
- invariantCoefficientString: "77.12739999999999",
102
- exponent: 0,
103
- noOfCoefficientDecimals: 14,
104
- },
105
- ],
106
- [
107
- 77.1274,
108
- 17,
109
- {
110
- invariantPrecisionString: "77.127399999999994",
111
- invariantCoefficientString: "77.127399999999994",
112
- exponent: 0,
113
- noOfCoefficientDecimals: 15,
114
- },
115
- ],
116
- [
117
- 77.1274,
118
- 18,
119
- {
120
- invariantPrecisionString: "77.1273999999999944",
121
- invariantCoefficientString: "77.1273999999999944",
122
- exponent: 0,
123
- noOfCoefficientDecimals: 16,
124
- },
125
- ],
126
- [
127
- 77.1274,
128
- 19,
129
- {
130
- invariantPrecisionString: "77.12739999999999441",
131
- invariantCoefficientString: "77.12739999999999441",
132
- exponent: 0,
133
- noOfCoefficientDecimals: 17,
134
- },
135
- ],
136
- [
137
- 77.1274,
138
- 20,
139
- {
140
- invariantPrecisionString: "77.127399999999994407",
141
- invariantCoefficientString: "77.127399999999994407",
142
- exponent: 0,
143
- noOfCoefficientDecimals: 18,
144
- },
145
- ],
146
- [
147
- 77.1274,
148
- 21,
149
- {
150
- invariantPrecisionString: "77.1273999999999944066",
151
- invariantCoefficientString: "77.1273999999999944066",
152
- exponent: 0,
153
- noOfCoefficientDecimals: 19,
154
- },
155
- ],
156
- [
157
- 0.00000123,
158
- 2,
159
- {
160
- invariantPrecisionString: "0.0000012",
161
- invariantCoefficientString: "0.0000012",
162
- exponent: 0,
163
- noOfCoefficientDecimals: 7,
164
- },
165
- ],
166
- [
167
- 0.000000123,
168
- 2,
169
- {
170
- invariantPrecisionString: "1.2e-7",
171
- invariantCoefficientString: "1.2",
172
- exponent: -7,
173
- noOfCoefficientDecimals: 1,
174
- },
175
- ],
176
- [
177
- 0.00000123,
178
- 21,
179
- {
180
- invariantPrecisionString: "0.00000123000000000000008198",
181
- invariantCoefficientString: "0.00000123000000000000008198",
182
- exponent: 0,
183
- noOfCoefficientDecimals: 26,
184
- },
185
- ],
186
- [
187
- 123456,
188
- 3,
189
- {
190
- invariantPrecisionString: "1.23e+5",
191
- invariantCoefficientString: "1.23",
192
- exponent: 5,
193
- noOfCoefficientDecimals: 2,
194
- },
195
- ],
196
- [
197
- Number.MAX_VALUE,
198
- 3,
199
- {
200
- invariantPrecisionString: "1.80e+308",
201
- invariantCoefficientString: "1.80",
202
- exponent: 308,
203
- noOfCoefficientDecimals: 2,
204
- },
205
- ],
206
- [
207
- 123456,
208
- 15,
209
- {
210
- invariantPrecisionString: "123456.000000000",
211
- invariantCoefficientString: "123456.000000000",
212
- exponent: 0,
213
- noOfCoefficientDecimals: 9,
214
- },
215
- ],
216
- [
217
- 0,
218
- 5,
219
- {
220
- invariantPrecisionString: "0.00000",
221
- invariantCoefficientString: "0.00000",
222
- exponent: 0,
223
- noOfCoefficientDecimals: 5,
224
- },
225
- ],
226
- [
227
- 0.000001,
228
- 1,
229
- {
230
- invariantPrecisionString: "0.000001",
231
- invariantCoefficientString: "0.000001",
232
- exponent: 0,
233
- noOfCoefficientDecimals: 6,
234
- },
235
- ],
236
- [
237
- 0.000001,
238
- 10,
239
- {
240
- invariantPrecisionString: "0.000001000000000",
241
- invariantCoefficientString: "0.000001000000000",
242
- exponent: 0,
243
- noOfCoefficientDecimals: 15,
244
- },
245
- ],
246
- [
247
- 0.0000001,
248
- 10,
249
- {
250
- invariantPrecisionString: "1.000000000e-7",
251
- invariantCoefficientString: "1.000000000",
252
- exponent: -7,
253
- noOfCoefficientDecimals: 9,
254
- },
255
- ],
256
- [
257
- 0.00000000001,
258
- 1,
259
- {
260
- invariantPrecisionString: "1e-11",
261
- invariantCoefficientString: "1",
262
- exponent: -11,
263
- noOfCoefficientDecimals: 0,
264
- },
265
- ],
266
- [
267
- 0.00000000001,
268
- 2,
269
- {
270
- invariantPrecisionString: "1.0e-11",
271
- invariantCoefficientString: "1.0",
272
- exponent: -11,
273
- noOfCoefficientDecimals: 1,
274
- },
275
- ],
276
- [
277
- 55,
278
- 2,
279
- {
280
- invariantPrecisionString: "55",
281
- invariantCoefficientString: "55",
282
- exponent: 0,
283
- noOfCoefficientDecimals: 0,
284
- },
285
- ],
286
- [
287
- 55,
288
- 1,
289
- {
290
- invariantPrecisionString: "6e+1",
291
- invariantCoefficientString: "6",
292
- exponent: 1,
293
- noOfCoefficientDecimals: 0,
294
- },
295
- ],
296
- [
297
- -55,
298
- 2,
299
- {
300
- invariantPrecisionString: "-55",
301
- invariantCoefficientString: "-55",
302
- exponent: 0,
303
- noOfCoefficientDecimals: 0,
304
- },
305
- ],
306
- [
307
- -55,
308
- 1,
309
- {
310
- invariantPrecisionString: "-6e+1",
311
- invariantCoefficientString: "-6",
312
- exponent: 1,
313
- noOfCoefficientDecimals: 0,
314
- },
315
- ],
316
- [
317
- 9.59,
318
- 1,
319
- {
320
- invariantPrecisionString: "1e+1",
321
- invariantCoefficientString: "1",
322
- exponent: 1,
323
- noOfCoefficientDecimals: 0,
324
- },
325
- ],
326
- [
327
- 9.59,
328
- 2,
329
- {
330
- invariantPrecisionString: "10",
331
- invariantCoefficientString: "10",
332
- exponent: 0,
333
- noOfCoefficientDecimals: 0,
334
- },
335
- ],
336
- [
337
- 9.95,
338
- 2,
339
- {
340
- invariantPrecisionString: "10",
341
- invariantCoefficientString: "10",
342
- exponent: 0,
343
- noOfCoefficientDecimals: 0,
344
- },
345
- ],
346
- [
347
- 9.96,
348
- 2,
349
- {
350
- invariantPrecisionString: "10",
351
- invariantCoefficientString: "10",
352
- exponent: 0,
353
- noOfCoefficientDecimals: 0,
354
- },
355
- ],
356
- [
357
- -555555555555555555555,
358
- 1,
359
- {
360
- invariantPrecisionString: "-6e+20",
361
- invariantCoefficientString: "-6",
362
- exponent: 20,
363
- noOfCoefficientDecimals: 0,
364
- },
365
- ],
366
- [
367
- -5555555555555555555555,
368
- 1,
369
- {
370
- invariantPrecisionString: "-6e+21",
371
- invariantCoefficientString: "-6",
372
- exponent: 21,
373
- noOfCoefficientDecimals: 0,
374
- },
375
- ],
376
- [
377
- 18014398509482012,
378
- 21,
379
- {
380
- invariantPrecisionString: "18014398509482012.0000",
381
- invariantCoefficientString: "18014398509482012.0000",
382
- exponent: 0,
383
- noOfCoefficientDecimals: 4,
384
- },
385
- ],
386
- [
387
- 180143985094820121234,
388
- 21,
389
- {
390
- invariantPrecisionString: "180143985094820134912",
391
- invariantCoefficientString: "180143985094820134912",
392
- exponent: 0,
393
- noOfCoefficientDecimals: 0,
394
- },
395
- ],
396
- [
397
- 0.1,
398
- 21,
399
- {
400
- invariantPrecisionString: "0.100000000000000005551",
401
- invariantCoefficientString: "0.100000000000000005551",
402
- exponent: 0,
403
- noOfCoefficientDecimals: 21,
404
- },
405
- ],
406
- [
407
- Number.EPSILON,
408
- 2,
409
- {
410
- invariantPrecisionString: "2.2e-16",
411
- invariantCoefficientString: "2.2",
412
- exponent: -16,
413
- noOfCoefficientDecimals: 1,
414
- },
415
- ],
416
- [
417
- Number.EPSILON,
418
- 21,
419
- {
420
- invariantPrecisionString: "2.22044604925031308085e-16",
421
- invariantCoefficientString: "2.22044604925031308085",
422
- exponent: -16,
423
- noOfCoefficientDecimals: 20,
424
- },
425
- ],
426
- [
427
- Number.NaN,
428
- 3,
429
- {
430
- invariantPrecisionString: "NaN",
431
- invariantCoefficientString: "NaN",
432
- exponent: 0,
433
- noOfCoefficientDecimals: 0,
434
- },
435
- ],
436
- [
437
- Number.POSITIVE_INFINITY,
438
- 3,
439
- {
440
- invariantPrecisionString: "Infinity",
441
- invariantCoefficientString: "Infinity",
442
- exponent: 0,
443
- noOfCoefficientDecimals: 0,
444
- },
445
- ],
446
- [
447
- Number.NEGATIVE_INFINITY,
448
- 3,
449
- {
450
- invariantPrecisionString: "-Infinity",
451
- invariantCoefficientString: "-Infinity",
452
- exponent: 0,
453
- noOfCoefficientDecimals: 0,
454
- },
455
- ],
456
- [
457
- 164735280,
458
- 7,
459
- {
460
- invariantPrecisionString: "1.647353e+8",
461
- invariantCoefficientString: "1.647353",
462
- exponent: 8,
463
- noOfCoefficientDecimals: 6,
464
- },
465
- ],
466
- ];
467
- for (const [value, precision, expectedParts] of data) {
468
- expect(NumberFormatter.toPrecision(value, precision)).to.equal(expectedParts.invariantPrecisionString);
469
- const localePrecisionString = expectedParts.invariantPrecisionString.replace(invariantDecimalSeparator, localeDecimalSeparator);
470
- expect(NumberFormatter.toLocalePrecision(value, precision)).to.equal(localePrecisionString);
471
- const parts = NumberFormatter.getParts(value, precision);
472
- expect(parts.invariantPrecisionString).to.equal(expectedParts.invariantPrecisionString);
473
- expect(parts.invariantCoefficientString).to.equal(expectedParts.invariantCoefficientString);
474
- expect(parts.exponent).to.equal(expectedParts.exponent);
475
- expect(parts.noOfCoefficientDecimals).to.equal(expectedParts.noOfCoefficientDecimals);
476
- }
477
- });
478
- });
479
- describe("toFixed", () => {
480
- it("should format correctly", () => {
481
- const data = [
482
- [0, 0, "0"],
483
- [0.0, 1, "0.0"],
484
- [10, 1, "10"],
485
- [10, 2, "10"],
486
- [10, 3, "10.0"],
487
- [10, 4, "10.00"],
488
- [10.2, 1, "10"],
489
- [10.2, 2, "10"],
490
- [10.2, 3, "10.2"],
491
- [10.2, 4, "10.20"],
492
- [217887000000, 6, "217887000000"],
493
- ];
494
- for (const [value, precision, invariantExpected] of data) {
495
- expect(NumberFormatter.toFixed(value, precision)).to.equal(invariantExpected);
496
- const localeExpected = invariantExpected.replace(invariantDecimalSeparator, localeDecimalSeparator);
497
- expect(NumberFormatter.toLocaleFixed(value, precision)).to.equal(localeExpected);
498
- }
499
- });
500
- });
501
- describe("toLocaleFixed", () => {
502
- it("should format correctly", () => {
503
- expect(NumberFormatter.toLocaleFixed(400, 2)).to.equal("400");
504
- });
505
- it("should format correctly with max decimals", () => {
506
- expect(NumberFormatter.toLocaleFixed(35.123456, 8, 2)).to.equal("35.12");
507
- expect(NumberFormatter.toLocaleFixed(35.129999, 8, 2)).to.equal("35.13");
508
- });
509
- });
510
- //# 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=optional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/optional.ts"],"names":[],"mappings":""}
@@ -1,107 +0,0 @@
1
- import { NumberFormatter, localeDecimalSeparator } from "./number-formatter";
2
- import { invariantDecimalSeparator } from ".";
3
- export class PrecisionNumber {
4
- constructor(value, precision) {
5
- this.value = value;
6
- this.precision = precision !== null && precision !== void 0 ? precision : getPrecision(value);
7
- }
8
- static parse(input) {
9
- let normalized = input
10
- .trim()
11
- .replace(",", ".")
12
- .replace(localeDecimalSeparator, invariantDecimalSeparator);
13
- if (normalized.endsWith(invariantDecimalSeparator)) {
14
- normalized += "0";
15
- }
16
- const value = parseFloat(normalized);
17
- let precision = normalized
18
- .replace(".", "")
19
- .replace("+", "")
20
- .replace("-", "").length;
21
- if (value > -1 && value < 1 && value !== 0 && precision > 1) {
22
- precision--;
23
- }
24
- return new PrecisionNumber(value, precision);
25
- }
26
- abs() {
27
- return new PrecisionNumber(Math.abs(this.value), this.precision);
28
- }
29
- plus(rhs) {
30
- // The result should have the same number of decimal places as the minimum of the two inputs
31
- const lhs = this;
32
- const value = lhs.value + rhs.value;
33
- const decimals = Math.min(getNumberOfDecimalDigits(lhs.value, lhs.precision), getNumberOfDecimalDigits(rhs.value, rhs.precision));
34
- const precision = getPrecision(value, decimals);
35
- return new PrecisionNumber(value, precision);
36
- }
37
- minus(rhs) {
38
- // The result should have the same number of decimal places as the minimum of the two inputs
39
- const lhs = this;
40
- const value = lhs.value - rhs.value;
41
- const decimals = Math.min(getNumberOfDecimalDigits(lhs.value, lhs.precision), getNumberOfDecimalDigits(rhs.value, rhs.precision));
42
- const precision = getPrecision(value, decimals);
43
- return new PrecisionNumber(value, precision);
44
- }
45
- valueOf() {
46
- return this.value;
47
- }
48
- toString() {
49
- return this.value.toString();
50
- }
51
- toFixed() {
52
- return NumberFormatter.toFixed(this.value, this.precision);
53
- }
54
- toPrecision() {
55
- return NumberFormatter.toPrecision(this.value, this.precision);
56
- }
57
- toLocaleFixed() {
58
- return NumberFormatter.toLocaleFixed(this.value, this.precision);
59
- }
60
- toLocalePrecision() {
61
- return NumberFormatter.toLocalePrecision(this.value, this.precision);
62
- }
63
- }
64
- function getPrecision(number, decimals) {
65
- var _a, _b;
66
- 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);
67
- if (number == 0) {
68
- return 1;
69
- }
70
- else if (number > -1 && number < 1) {
71
- return decimals;
72
- }
73
- else {
74
- return Math.max(getNumberOfIntegralDigits(number) + decimals, 1);
75
- }
76
- }
77
- function getNumberOfDecimalDigits(number, precision) {
78
- if (number > -1 && number < 1) {
79
- return precision;
80
- }
81
- else {
82
- return precision - getNumberOfIntegralDigits(number);
83
- }
84
- }
85
- function getNumberOfIntegralDigits(number) {
86
- const abs = Math.abs(number);
87
- if (abs < 10)
88
- return 1;
89
- if (abs < 100)
90
- return 2;
91
- if (abs < 1000)
92
- return 3;
93
- if (abs < 10000)
94
- return 4;
95
- if (abs < 100000)
96
- return 5;
97
- if (abs < 1000000)
98
- return 6;
99
- if (abs < 10000000)
100
- return 7;
101
- if (abs < 100000000)
102
- return 8;
103
- if (abs < 1000000000)
104
- return 9;
105
- return Math.floor(Math.log10(abs) + 1);
106
- }
107
- //# sourceMappingURL=precision-number.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"precision-number.js","sourceRoot":"","sources":["../../src/precision-number.ts"],"names":[],"mappings":"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"}