@budiauktioner/buildi-primitives 0.1.1 → 0.2.1

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 (1086) hide show
  1. package/BREAKING_CHANGES.md +81 -0
  2. package/CHANGELOG.md +70 -1
  3. package/PARITY.md +202 -0
  4. package/README.md +58 -9
  5. package/dist/cjs/banking/bank-resolver.js +378 -0
  6. package/dist/cjs/banking/bank-resolver.js.map +7 -0
  7. package/dist/cjs/banking/bic.js +189 -0
  8. package/dist/cjs/banking/bic.js.map +7 -0
  9. package/dist/cjs/banking/iban.js +314 -0
  10. package/dist/cjs/banking/iban.js.map +7 -0
  11. package/dist/cjs/banking/index.js +60 -0
  12. package/dist/cjs/banking/index.js.map +7 -0
  13. package/dist/cjs/banking/swedish-bank-account-holder-name.js +124 -0
  14. package/dist/cjs/banking/swedish-bank-account-holder-name.js.map +7 -0
  15. package/dist/cjs/banking/swedish-bank-account.js +211 -0
  16. package/dist/cjs/banking/swedish-bank-account.js.map +7 -0
  17. package/dist/cjs/banking/swedish-bank-clearing-number.js +156 -0
  18. package/dist/cjs/banking/swedish-bank-clearing-number.js.map +7 -0
  19. package/dist/cjs/banking/swedish-bank.js +89 -0
  20. package/dist/cjs/banking/swedish-bank.js.map +7 -0
  21. package/dist/cjs/banking/swedish-bankgiro-number.js +176 -0
  22. package/dist/cjs/banking/swedish-bankgiro-number.js.map +7 -0
  23. package/dist/cjs/banking/swedish-banking-number.js +201 -0
  24. package/dist/cjs/banking/swedish-banking-number.js.map +7 -0
  25. package/dist/cjs/banking/swedish-ocr-reference-number.js +215 -0
  26. package/dist/cjs/banking/swedish-ocr-reference-number.js.map +7 -0
  27. package/dist/cjs/banking/swedish-postgiro-number.js +173 -0
  28. package/dist/cjs/banking/swedish-postgiro-number.js.map +7 -0
  29. package/dist/cjs/banking/swedish-swish-number.js +165 -0
  30. package/dist/cjs/banking/swedish-swish-number.js.map +7 -0
  31. package/dist/cjs/contact/address-city.js +104 -0
  32. package/dist/cjs/contact/address-city.js.map +7 -0
  33. package/dist/cjs/contact/address-street.js +220 -0
  34. package/dist/cjs/contact/address-street.js.map +7 -0
  35. package/dist/cjs/contact/address-zip-code.js +195 -0
  36. package/dist/cjs/contact/address-zip-code.js.map +7 -0
  37. package/dist/cjs/contact/address.js +405 -0
  38. package/dist/cjs/contact/address.js.map +7 -0
  39. package/dist/cjs/contact/contact-address.js +142 -0
  40. package/dist/cjs/contact/contact-address.js.map +7 -0
  41. package/dist/cjs/contact/contact-external-links.js +39 -0
  42. package/dist/cjs/contact/contact-external-links.js.map +7 -0
  43. package/dist/cjs/contact/contact-lookup.js +31 -0
  44. package/dist/cjs/contact/contact-lookup.js.map +7 -0
  45. package/dist/cjs/contact/contact-masking.js +117 -0
  46. package/dist/cjs/contact/contact-masking.js.map +7 -0
  47. package/dist/cjs/contact/country-address-factory.js +97 -0
  48. package/dist/cjs/contact/country-address-factory.js.map +7 -0
  49. package/dist/cjs/contact/country-address-registry.js +36 -0
  50. package/dist/cjs/contact/country-address-registry.js.map +7 -0
  51. package/dist/cjs/contact/country-address.js +98 -0
  52. package/dist/cjs/contact/country-address.js.map +7 -0
  53. package/dist/cjs/contact/country-addresses.js +346 -0
  54. package/dist/cjs/contact/country-addresses.js.map +7 -0
  55. package/dist/cjs/contact/country-zip-code-factory.js +117 -0
  56. package/dist/cjs/contact/country-zip-code-factory.js.map +7 -0
  57. package/dist/cjs/contact/country-zip-codes.js +376 -0
  58. package/dist/cjs/contact/country-zip-codes.js.map +7 -0
  59. package/dist/cjs/contact/index.js +72 -0
  60. package/dist/cjs/contact/index.js.map +7 -0
  61. package/dist/cjs/contact/phone-calling-code.js +439 -0
  62. package/dist/cjs/contact/phone-calling-code.js.map +7 -0
  63. package/dist/cjs/contact/phone-number-test-data.js +63 -0
  64. package/dist/cjs/contact/phone-number-test-data.js.map +7 -0
  65. package/dist/cjs/contact/phone-number.js +325 -0
  66. package/dist/cjs/contact/phone-number.js.map +7 -0
  67. package/dist/cjs/contact/register-default-country-addresses.js +88 -0
  68. package/dist/cjs/contact/register-default-country-addresses.js.map +7 -0
  69. package/dist/cjs/contact/swedish-address-zip-code.js +92 -0
  70. package/dist/cjs/contact/swedish-address-zip-code.js.map +7 -0
  71. package/dist/cjs/contact/swedish-address.js +169 -0
  72. package/dist/cjs/contact/swedish-address.js.map +7 -0
  73. package/dist/cjs/finance/currency.js +251 -0
  74. package/dist/cjs/finance/currency.js.map +7 -0
  75. package/dist/cjs/finance/exchange-rates.js +51 -0
  76. package/dist/cjs/finance/exchange-rates.js.map +7 -0
  77. package/dist/cjs/finance/index.js +34 -0
  78. package/dist/cjs/finance/index.js.map +7 -0
  79. package/dist/cjs/finance/isin.js +161 -0
  80. package/dist/cjs/finance/isin.js.map +7 -0
  81. package/dist/cjs/finance/money-amount.js +307 -0
  82. package/dist/cjs/finance/money-amount.js.map +7 -0
  83. package/dist/cjs/geography/adjacency-data.js +335 -0
  84. package/dist/cjs/geography/adjacency-data.js.map +7 -0
  85. package/dist/cjs/geography/continent.js +125 -0
  86. package/dist/cjs/geography/continent.js.map +7 -0
  87. package/dist/cjs/geography/country-capital.js +45 -0
  88. package/dist/cjs/geography/country-capital.js.map +7 -0
  89. package/dist/cjs/geography/country-capitals.js +288 -0
  90. package/dist/cjs/geography/country-capitals.js.map +7 -0
  91. package/dist/cjs/geography/country-coordinates.js +238 -0
  92. package/dist/cjs/geography/country-coordinates.js.map +7 -0
  93. package/dist/cjs/geography/country-data.js +530 -0
  94. package/dist/cjs/geography/country-data.js.map +7 -0
  95. package/dist/cjs/geography/country-metadata.js +627 -0
  96. package/dist/cjs/geography/country-metadata.js.map +7 -0
  97. package/dist/cjs/geography/country.js +427 -0
  98. package/dist/cjs/geography/country.js.map +7 -0
  99. package/dist/cjs/geography/geo-coordinate.js +244 -0
  100. package/dist/cjs/geography/geo-coordinate.js.map +7 -0
  101. package/dist/cjs/geography/geography-extensions.js +82 -0
  102. package/dist/cjs/geography/geography-extensions.js.map +7 -0
  103. package/dist/cjs/geography/geography-external-links.js +52 -0
  104. package/dist/cjs/geography/geography-external-links.js.map +7 -0
  105. package/dist/cjs/geography/geography-lookup.js +31 -0
  106. package/dist/cjs/geography/geography-lookup.js.map +7 -0
  107. package/dist/cjs/geography/geography-masking.js +54 -0
  108. package/dist/cjs/geography/geography-masking.js.map +7 -0
  109. package/dist/cjs/geography/index.js +57 -0
  110. package/dist/cjs/geography/index.js.map +7 -0
  111. package/dist/cjs/geography/language.js +462 -0
  112. package/dist/cjs/geography/language.js.map +7 -0
  113. package/dist/cjs/geography/swedish-county.js +232 -0
  114. package/dist/cjs/geography/swedish-county.js.map +7 -0
  115. package/dist/cjs/geography/swedish-municipality-data.js +316 -0
  116. package/dist/cjs/geography/swedish-municipality-data.js.map +7 -0
  117. package/dist/cjs/geography/swedish-municipality.js +218 -0
  118. package/dist/cjs/geography/swedish-municipality.js.map +7 -0
  119. package/dist/cjs/index.js +33 -0
  120. package/dist/cjs/index.js.map +7 -0
  121. package/dist/cjs/internal/case-folding.js +32 -0
  122. package/dist/cjs/internal/case-folding.js.map +7 -0
  123. package/dist/cjs/internal/clock.js +32 -0
  124. package/dist/cjs/internal/clock.js.map +7 -0
  125. package/dist/cjs/internal/decimal.js +262 -0
  126. package/dist/cjs/internal/decimal.js.map +7 -0
  127. package/dist/cjs/internal/gs1-prefix.js +164 -0
  128. package/dist/cjs/internal/gs1-prefix.js.map +7 -0
  129. package/dist/cjs/internal/gtin-check-digit.js +46 -0
  130. package/dist/cjs/internal/gtin-check-digit.js.map +7 -0
  131. package/dist/cjs/internal/input-sanitization.js +79 -0
  132. package/dist/cjs/internal/input-sanitization.js.map +7 -0
  133. package/dist/cjs/internal/luhn.js +40 -0
  134. package/dist/cjs/internal/luhn.js.map +7 -0
  135. package/dist/cjs/internal/measurement-unit-parser.js +86 -0
  136. package/dist/cjs/internal/measurement-unit-parser.js.map +7 -0
  137. package/dist/cjs/internal/measurement-unit.js +130 -0
  138. package/dist/cjs/internal/measurement-unit.js.map +7 -0
  139. package/dist/cjs/internal/quantity.js +122 -0
  140. package/dist/cjs/internal/quantity.js.map +7 -0
  141. package/dist/cjs/internal/scan-boundaries.js +26 -0
  142. package/dist/cjs/internal/scan-boundaries.js.map +7 -0
  143. package/dist/cjs/internal/shoe-size-format.js +31 -0
  144. package/dist/cjs/internal/shoe-size-format.js.map +7 -0
  145. package/dist/cjs/measurement/area-unit.js +158 -0
  146. package/dist/cjs/measurement/area-unit.js.map +7 -0
  147. package/dist/cjs/measurement/area.js +184 -0
  148. package/dist/cjs/measurement/area.js.map +7 -0
  149. package/dist/cjs/measurement/count.js +132 -0
  150. package/dist/cjs/measurement/count.js.map +7 -0
  151. package/dist/cjs/measurement/data-size-unit.js +208 -0
  152. package/dist/cjs/measurement/data-size-unit.js.map +7 -0
  153. package/dist/cjs/measurement/data-size.js +207 -0
  154. package/dist/cjs/measurement/data-size.js.map +7 -0
  155. package/dist/cjs/measurement/electric-charge-unit.js +109 -0
  156. package/dist/cjs/measurement/electric-charge-unit.js.map +7 -0
  157. package/dist/cjs/measurement/electric-charge.js +148 -0
  158. package/dist/cjs/measurement/electric-charge.js.map +7 -0
  159. package/dist/cjs/measurement/electric-current-unit.js +108 -0
  160. package/dist/cjs/measurement/electric-current-unit.js.map +7 -0
  161. package/dist/cjs/measurement/electric-current.js +154 -0
  162. package/dist/cjs/measurement/electric-current.js.map +7 -0
  163. package/dist/cjs/measurement/energy-unit.js +201 -0
  164. package/dist/cjs/measurement/energy-unit.js.map +7 -0
  165. package/dist/cjs/measurement/energy.js +207 -0
  166. package/dist/cjs/measurement/energy.js.map +7 -0
  167. package/dist/cjs/measurement/flow-rate-unit.js +132 -0
  168. package/dist/cjs/measurement/flow-rate-unit.js.map +7 -0
  169. package/dist/cjs/measurement/flow-rate.js +162 -0
  170. package/dist/cjs/measurement/flow-rate.js.map +7 -0
  171. package/dist/cjs/measurement/frequency-unit.js +132 -0
  172. package/dist/cjs/measurement/frequency-unit.js.map +7 -0
  173. package/dist/cjs/measurement/frequency.js +165 -0
  174. package/dist/cjs/measurement/frequency.js.map +7 -0
  175. package/dist/cjs/measurement/index.js +136 -0
  176. package/dist/cjs/measurement/index.js.map +7 -0
  177. package/dist/cjs/measurement/length-unit.js +210 -0
  178. package/dist/cjs/measurement/length-unit.js.map +7 -0
  179. package/dist/cjs/measurement/length.js +208 -0
  180. package/dist/cjs/measurement/length.js.map +7 -0
  181. package/dist/cjs/measurement/luminance-unit.js +110 -0
  182. package/dist/cjs/measurement/luminance-unit.js.map +7 -0
  183. package/dist/cjs/measurement/luminance.js +158 -0
  184. package/dist/cjs/measurement/luminance.js.map +7 -0
  185. package/dist/cjs/measurement/luminous-flux-unit.js +86 -0
  186. package/dist/cjs/measurement/luminous-flux-unit.js.map +7 -0
  187. package/dist/cjs/measurement/luminous-flux.js +142 -0
  188. package/dist/cjs/measurement/luminous-flux.js.map +7 -0
  189. package/dist/cjs/measurement/percentage.js +212 -0
  190. package/dist/cjs/measurement/percentage.js.map +7 -0
  191. package/dist/cjs/measurement/power-unit.js +155 -0
  192. package/dist/cjs/measurement/power-unit.js.map +7 -0
  193. package/dist/cjs/measurement/power.js +188 -0
  194. package/dist/cjs/measurement/power.js.map +7 -0
  195. package/dist/cjs/measurement/pressure-unit.js +168 -0
  196. package/dist/cjs/measurement/pressure-unit.js.map +7 -0
  197. package/dist/cjs/measurement/pressure.js +189 -0
  198. package/dist/cjs/measurement/pressure.js.map +7 -0
  199. package/dist/cjs/measurement/rotational-speed-unit.js +96 -0
  200. package/dist/cjs/measurement/rotational-speed-unit.js.map +7 -0
  201. package/dist/cjs/measurement/rotational-speed.js +152 -0
  202. package/dist/cjs/measurement/rotational-speed.js.map +7 -0
  203. package/dist/cjs/measurement/sound-level.js +189 -0
  204. package/dist/cjs/measurement/sound-level.js.map +7 -0
  205. package/dist/cjs/measurement/speed-unit.js +119 -0
  206. package/dist/cjs/measurement/speed-unit.js.map +7 -0
  207. package/dist/cjs/measurement/speed.js +159 -0
  208. package/dist/cjs/measurement/speed.js.map +7 -0
  209. package/dist/cjs/measurement/temperature-delta.js +101 -0
  210. package/dist/cjs/measurement/temperature-delta.js.map +7 -0
  211. package/dist/cjs/measurement/temperature-unit.js +130 -0
  212. package/dist/cjs/measurement/temperature-unit.js.map +7 -0
  213. package/dist/cjs/measurement/temperature.js +216 -0
  214. package/dist/cjs/measurement/temperature.js.map +7 -0
  215. package/dist/cjs/measurement/torque-unit.js +138 -0
  216. package/dist/cjs/measurement/torque-unit.js.map +7 -0
  217. package/dist/cjs/measurement/torque.js +165 -0
  218. package/dist/cjs/measurement/torque.js.map +7 -0
  219. package/dist/cjs/measurement/voltage-unit.js +127 -0
  220. package/dist/cjs/measurement/voltage-unit.js.map +7 -0
  221. package/dist/cjs/measurement/voltage.js +159 -0
  222. package/dist/cjs/measurement/voltage.js.map +7 -0
  223. package/dist/cjs/measurement/volume-unit.js +178 -0
  224. package/dist/cjs/measurement/volume-unit.js.map +7 -0
  225. package/dist/cjs/measurement/volume.js +195 -0
  226. package/dist/cjs/measurement/volume.js.map +7 -0
  227. package/dist/cjs/measurement/weight-unit.js +158 -0
  228. package/dist/cjs/measurement/weight-unit.js.map +7 -0
  229. package/dist/cjs/measurement/weight.js +183 -0
  230. package/dist/cjs/measurement/weight.js.map +7 -0
  231. package/dist/cjs/measurement/year-month.js +204 -0
  232. package/dist/cjs/measurement/year-month.js.map +7 -0
  233. package/dist/cjs/measurement/year.js +109 -0
  234. package/dist/cjs/measurement/year.js.map +7 -0
  235. package/dist/cjs/organization/duns-number.js +114 -0
  236. package/dist/cjs/organization/duns-number.js.map +7 -0
  237. package/dist/cjs/organization/elf-code.js +132 -0
  238. package/dist/cjs/organization/elf-code.js.map +7 -0
  239. package/dist/cjs/organization/eu-organization-name.js +119 -0
  240. package/dist/cjs/organization/eu-organization-name.js.map +7 -0
  241. package/dist/cjs/organization/eu-vat-number.js +444 -0
  242. package/dist/cjs/organization/eu-vat-number.js.map +7 -0
  243. package/dist/cjs/organization/index.js +65 -0
  244. package/dist/cjs/organization/index.js.map +7 -0
  245. package/dist/cjs/organization/lei-code.js +133 -0
  246. package/dist/cjs/organization/lei-code.js.map +7 -0
  247. package/dist/cjs/organization/organization-extensions.js +80 -0
  248. package/dist/cjs/organization/organization-extensions.js.map +7 -0
  249. package/dist/cjs/organization/organization-validation-utils.js +78 -0
  250. package/dist/cjs/organization/organization-validation-utils.js.map +7 -0
  251. package/dist/cjs/organization/swedish-cfar-number.js +88 -0
  252. package/dist/cjs/organization/swedish-cfar-number.js.map +7 -0
  253. package/dist/cjs/organization/swedish-organization-identifier-type.js +34 -0
  254. package/dist/cjs/organization/swedish-organization-identifier-type.js.map +7 -0
  255. package/dist/cjs/organization/swedish-organization-identifier.js +166 -0
  256. package/dist/cjs/organization/swedish-organization-identifier.js.map +7 -0
  257. package/dist/cjs/organization/swedish-organization-name.js +255 -0
  258. package/dist/cjs/organization/swedish-organization-name.js.map +7 -0
  259. package/dist/cjs/organization/swedish-organization-number.js +289 -0
  260. package/dist/cjs/organization/swedish-organization-number.js.map +7 -0
  261. package/dist/cjs/organization/swedish-organization-type.js +51 -0
  262. package/dist/cjs/organization/swedish-organization-type.js.map +7 -0
  263. package/dist/cjs/organization/swedish-sni-code.js +96 -0
  264. package/dist/cjs/organization/swedish-sni-code.js.map +7 -0
  265. package/dist/cjs/package.json +3 -0
  266. package/dist/cjs/person/index.js +49 -0
  267. package/dist/cjs/person/index.js.map +7 -0
  268. package/dist/cjs/person/person-age.js +187 -0
  269. package/dist/cjs/person/person-age.js.map +7 -0
  270. package/dist/cjs/person/person-family-name.js +83 -0
  271. package/dist/cjs/person/person-family-name.js.map +7 -0
  272. package/dist/cjs/person/person-full-name.js +106 -0
  273. package/dist/cjs/person/person-full-name.js.map +7 -0
  274. package/dist/cjs/person/person-given-name.js +103 -0
  275. package/dist/cjs/person/person-given-name.js.map +7 -0
  276. package/dist/cjs/person/person-masking.js +48 -0
  277. package/dist/cjs/person/person-masking.js.map +7 -0
  278. package/dist/cjs/person/person-name-normalization.js +99 -0
  279. package/dist/cjs/person/person-name-normalization.js.map +7 -0
  280. package/dist/cjs/person/personnummer-parser.js +156 -0
  281. package/dist/cjs/person/personnummer-parser.js.map +7 -0
  282. package/dist/cjs/person/swedish-coordination-number.js +186 -0
  283. package/dist/cjs/person/swedish-coordination-number.js.map +7 -0
  284. package/dist/cjs/person/swedish-personal-identity-number.js +188 -0
  285. package/dist/cjs/person/swedish-personal-identity-number.js.map +7 -0
  286. package/dist/cjs/primitive-type-info.js +17 -0
  287. package/dist/cjs/primitive-type-info.js.map +7 -0
  288. package/dist/cjs/primitives-defaults.js +92 -0
  289. package/dist/cjs/primitives-defaults.js.map +7 -0
  290. package/dist/cjs/product/adult-clothing-size.js +148 -0
  291. package/dist/cjs/product/adult-clothing-size.js.map +7 -0
  292. package/dist/cjs/product/adult-shoe-size.js +139 -0
  293. package/dist/cjs/product/adult-shoe-size.js.map +7 -0
  294. package/dist/cjs/product/aspect-ratio.js +188 -0
  295. package/dist/cjs/product/aspect-ratio.js.map +7 -0
  296. package/dist/cjs/product/battery-capacity.js +184 -0
  297. package/dist/cjs/product/battery-capacity.js.map +7 -0
  298. package/dist/cjs/product/battery-chemistry.js +259 -0
  299. package/dist/cjs/product/battery-chemistry.js.map +7 -0
  300. package/dist/cjs/product/camera-resolution.js +161 -0
  301. package/dist/cjs/product/camera-resolution.js.map +7 -0
  302. package/dist/cjs/product/child-clothing-size.js +254 -0
  303. package/dist/cjs/product/child-clothing-size.js.map +7 -0
  304. package/dist/cjs/product/child-shoe-size.js +200 -0
  305. package/dist/cjs/product/child-shoe-size.js.map +7 -0
  306. package/dist/cjs/product/clothing-fit.js +223 -0
  307. package/dist/cjs/product/clothing-fit.js.map +7 -0
  308. package/dist/cjs/product/clothing-gender.js +198 -0
  309. package/dist/cjs/product/clothing-gender.js.map +7 -0
  310. package/dist/cjs/product/clothing-season.js +202 -0
  311. package/dist/cjs/product/clothing-season.js.map +7 -0
  312. package/dist/cjs/product/clothing-size-system.js +31 -0
  313. package/dist/cjs/product/clothing-size-system.js.map +7 -0
  314. package/dist/cjs/product/clothing-size.js +146 -0
  315. package/dist/cjs/product/clothing-size.js.map +7 -0
  316. package/dist/cjs/product/color.js +334 -0
  317. package/dist/cjs/product/color.js.map +7 -0
  318. package/dist/cjs/product/display-panel-type.js +287 -0
  319. package/dist/cjs/product/display-panel-type.js.map +7 -0
  320. package/dist/cjs/product/electrical-phase.js +194 -0
  321. package/dist/cjs/product/electrical-phase.js.map +7 -0
  322. package/dist/cjs/product/energy-scale.js +31 -0
  323. package/dist/cjs/product/energy-scale.js.map +7 -0
  324. package/dist/cjs/product/eu-energy-efficiency-class.js +135 -0
  325. package/dist/cjs/product/eu-energy-efficiency-class.js.map +7 -0
  326. package/dist/cjs/product/google-product-category.js +114 -0
  327. package/dist/cjs/product/google-product-category.js.map +7 -0
  328. package/dist/cjs/product/gtin.js +99 -0
  329. package/dist/cjs/product/gtin.js.map +7 -0
  330. package/dist/cjs/product/gtin12.js +130 -0
  331. package/dist/cjs/product/gtin12.js.map +7 -0
  332. package/dist/cjs/product/gtin13.js +147 -0
  333. package/dist/cjs/product/gtin13.js.map +7 -0
  334. package/dist/cjs/product/gtin14.js +135 -0
  335. package/dist/cjs/product/gtin14.js.map +7 -0
  336. package/dist/cjs/product/gtin8.js +130 -0
  337. package/dist/cjs/product/gtin8.js.map +7 -0
  338. package/dist/cjs/product/hs-code-level.js +32 -0
  339. package/dist/cjs/product/hs-code-level.js.map +7 -0
  340. package/dist/cjs/product/hs-code.js +126 -0
  341. package/dist/cjs/product/hs-code.js.map +7 -0
  342. package/dist/cjs/product/index.js +128 -0
  343. package/dist/cjs/product/index.js.map +7 -0
  344. package/dist/cjs/product/ip-rating.js +166 -0
  345. package/dist/cjs/product/ip-rating.js.map +7 -0
  346. package/dist/cjs/product/operating-system-family.js +37 -0
  347. package/dist/cjs/product/operating-system-family.js.map +7 -0
  348. package/dist/cjs/product/operating-system-info.js +100 -0
  349. package/dist/cjs/product/operating-system-info.js.map +7 -0
  350. package/dist/cjs/product/operating-system-name.js +127 -0
  351. package/dist/cjs/product/operating-system-name.js.map +7 -0
  352. package/dist/cjs/product/operating-system-version.js +110 -0
  353. package/dist/cjs/product/operating-system-version.js.map +7 -0
  354. package/dist/cjs/product/power-source.js +318 -0
  355. package/dist/cjs/product/power-source.js.map +7 -0
  356. package/dist/cjs/product/processor-speed.js +159 -0
  357. package/dist/cjs/product/processor-speed.js.map +7 -0
  358. package/dist/cjs/product/product-extensions.js +27 -0
  359. package/dist/cjs/product/product-extensions.js.map +7 -0
  360. package/dist/cjs/product/product-masking.js +102 -0
  361. package/dist/cjs/product/product-masking.js.map +7 -0
  362. package/dist/cjs/product/ram-capacity.js +154 -0
  363. package/dist/cjs/product/ram-capacity.js.map +7 -0
  364. package/dist/cjs/product/refrigerant-family.js +40 -0
  365. package/dist/cjs/product/refrigerant-family.js.map +7 -0
  366. package/dist/cjs/product/refrigerant.js +419 -0
  367. package/dist/cjs/product/refrigerant.js.map +7 -0
  368. package/dist/cjs/product/screen-resolution.js +197 -0
  369. package/dist/cjs/product/screen-resolution.js.map +7 -0
  370. package/dist/cjs/product/screen-size.js +184 -0
  371. package/dist/cjs/product/screen-size.js.map +7 -0
  372. package/dist/cjs/product/shoe-size-system.js +31 -0
  373. package/dist/cjs/product/shoe-size-system.js.map +7 -0
  374. package/dist/cjs/product/shoe-size.js +138 -0
  375. package/dist/cjs/product/shoe-size.js.map +7 -0
  376. package/dist/cjs/product/storage-capacity.js +159 -0
  377. package/dist/cjs/product/storage-capacity.js.map +7 -0
  378. package/dist/cjs/product/storage-media-type.js +271 -0
  379. package/dist/cjs/product/storage-media-type.js.map +7 -0
  380. package/dist/cjs/property/index.js +31 -0
  381. package/dist/cjs/property/index.js.map +7 -0
  382. package/dist/cjs/property/swedish-property-designation.js +179 -0
  383. package/dist/cjs/property/swedish-property-designation.js.map +7 -0
  384. package/dist/cjs/property/swedish-property-taxation-code.js +218 -0
  385. package/dist/cjs/property/swedish-property-taxation-code.js.map +7 -0
  386. package/dist/cjs/register-default-text-scanners.js +290 -0
  387. package/dist/cjs/register-default-text-scanners.js.map +7 -0
  388. package/dist/cjs/sample-data/index.js +358 -0
  389. package/dist/cjs/sample-data/index.js.map +7 -0
  390. package/dist/cjs/text-scanning/index.js +38 -0
  391. package/dist/cjs/text-scanning/index.js.map +7 -0
  392. package/dist/cjs/text-scanning/text-candidate-category.js +35 -0
  393. package/dist/cjs/text-scanning/text-candidate-category.js.map +7 -0
  394. package/dist/cjs/text-scanning/text-candidate.js +75 -0
  395. package/dist/cjs/text-scanning/text-candidate.js.map +7 -0
  396. package/dist/cjs/text-scanning/text-match-confidence.js +43 -0
  397. package/dist/cjs/text-scanning/text-match-confidence.js.map +7 -0
  398. package/dist/cjs/text-scanning/text-scan-helpers.js +98 -0
  399. package/dist/cjs/text-scanning/text-scan-helpers.js.map +7 -0
  400. package/dist/cjs/text-scanning/text-scan-result.js +333 -0
  401. package/dist/cjs/text-scanning/text-scan-result.js.map +7 -0
  402. package/dist/cjs/text-scanning/text-scanner-options.js +29 -0
  403. package/dist/cjs/text-scanning/text-scanner-options.js.map +7 -0
  404. package/dist/cjs/text-scanning/text-scanner.js +60 -0
  405. package/dist/cjs/text-scanning/text-scanner.js.map +7 -0
  406. package/dist/cjs/validation/index.js +29 -0
  407. package/dist/cjs/validation/index.js.map +7 -0
  408. package/dist/cjs/validation/validation-error-reason.js +53 -0
  409. package/dist/cjs/validation/validation-error-reason.js.map +7 -0
  410. package/dist/cjs/validation/validation-issue.js +43 -0
  411. package/dist/cjs/validation/validation-issue.js.map +7 -0
  412. package/dist/cjs/validation/validation-result.js +52 -0
  413. package/dist/cjs/validation/validation-result.js.map +7 -0
  414. package/dist/cjs/vehicle/boat-ce-design-category.js +200 -0
  415. package/dist/cjs/vehicle/boat-ce-design-category.js.map +7 -0
  416. package/dist/cjs/vehicle/boat-hull-material.js +222 -0
  417. package/dist/cjs/vehicle/boat-hull-material.js.map +7 -0
  418. package/dist/cjs/vehicle/body-type.js +325 -0
  419. package/dist/cjs/vehicle/body-type.js.map +7 -0
  420. package/dist/cjs/vehicle/bolt-pattern.js +150 -0
  421. package/dist/cjs/vehicle/bolt-pattern.js.map +7 -0
  422. package/dist/cjs/vehicle/drivetrain-type.js +200 -0
  423. package/dist/cjs/vehicle/drivetrain-type.js.map +7 -0
  424. package/dist/cjs/vehicle/emission-rate.js +194 -0
  425. package/dist/cjs/vehicle/emission-rate.js.map +7 -0
  426. package/dist/cjs/vehicle/energy-consumption.js +250 -0
  427. package/dist/cjs/vehicle/energy-consumption.js.map +7 -0
  428. package/dist/cjs/vehicle/engine-displacement.js +169 -0
  429. package/dist/cjs/vehicle/engine-displacement.js.map +7 -0
  430. package/dist/cjs/vehicle/engine-power.js +211 -0
  431. package/dist/cjs/vehicle/engine-power.js.map +7 -0
  432. package/dist/cjs/vehicle/eu-type-approval-number.js +196 -0
  433. package/dist/cjs/vehicle/eu-type-approval-number.js.map +7 -0
  434. package/dist/cjs/vehicle/eu-vehicle-category.js +167 -0
  435. package/dist/cjs/vehicle/eu-vehicle-category.js.map +7 -0
  436. package/dist/cjs/vehicle/euro-emission-class.js +313 -0
  437. package/dist/cjs/vehicle/euro-emission-class.js.map +7 -0
  438. package/dist/cjs/vehicle/fuel-consumption-norm.js +206 -0
  439. package/dist/cjs/vehicle/fuel-consumption-norm.js.map +7 -0
  440. package/dist/cjs/vehicle/fuel-consumption.js +281 -0
  441. package/dist/cjs/vehicle/fuel-consumption.js.map +7 -0
  442. package/dist/cjs/vehicle/fuel-type.js +288 -0
  443. package/dist/cjs/vehicle/fuel-type.js.map +7 -0
  444. package/dist/cjs/vehicle/index.js +108 -0
  445. package/dist/cjs/vehicle/index.js.map +7 -0
  446. package/dist/cjs/vehicle/odometer-reading.js +165 -0
  447. package/dist/cjs/vehicle/odometer-reading.js.map +7 -0
  448. package/dist/cjs/vehicle/operating-hours.js +174 -0
  449. package/dist/cjs/vehicle/operating-hours.js.map +7 -0
  450. package/dist/cjs/vehicle/suspension-type.js +312 -0
  451. package/dist/cjs/vehicle/suspension-type.js.map +7 -0
  452. package/dist/cjs/vehicle/swedish-driving-license-category.js +404 -0
  453. package/dist/cjs/vehicle/swedish-driving-license-category.js.map +7 -0
  454. package/dist/cjs/vehicle/swedish-driving-license-vehicle-group.js +32 -0
  455. package/dist/cjs/vehicle/swedish-driving-license-vehicle-group.js.map +7 -0
  456. package/dist/cjs/vehicle/swedish-eco-vehicle-classification.js +232 -0
  457. package/dist/cjs/vehicle/swedish-eco-vehicle-classification.js.map +7 -0
  458. package/dist/cjs/vehicle/swedish-vehicle-registration-number.js +193 -0
  459. package/dist/cjs/vehicle/swedish-vehicle-registration-number.js.map +7 -0
  460. package/dist/cjs/vehicle/swedish-vehicle-status.js +172 -0
  461. package/dist/cjs/vehicle/swedish-vehicle-status.js.map +7 -0
  462. package/dist/cjs/vehicle/swedish-vehicle-type.js +282 -0
  463. package/dist/cjs/vehicle/swedish-vehicle-type.js.map +7 -0
  464. package/dist/cjs/vehicle/tire-dimension.js +206 -0
  465. package/dist/cjs/vehicle/tire-dimension.js.map +7 -0
  466. package/dist/cjs/vehicle/tire-type.js +228 -0
  467. package/dist/cjs/vehicle/tire-type.js.map +7 -0
  468. package/dist/cjs/vehicle/track-type.js +188 -0
  469. package/dist/cjs/vehicle/track-type.js.map +7 -0
  470. package/dist/cjs/vehicle/transmission-type.js +258 -0
  471. package/dist/cjs/vehicle/transmission-type.js.map +7 -0
  472. package/dist/cjs/vehicle/vehicle-extensions.js +35 -0
  473. package/dist/cjs/vehicle/vehicle-extensions.js.map +7 -0
  474. package/dist/cjs/vehicle/vehicle-identification-number.js +265 -0
  475. package/dist/cjs/vehicle/vehicle-identification-number.js.map +7 -0
  476. package/dist/cjs/vehicle/vehicle-masking.js +68 -0
  477. package/dist/cjs/vehicle/vehicle-masking.js.map +7 -0
  478. package/dist/cjs/vehicle/wheel-rim-dimension.js +183 -0
  479. package/dist/cjs/vehicle/wheel-rim-dimension.js.map +7 -0
  480. package/dist/cjs/web/email-address.js +542 -0
  481. package/dist/cjs/web/email-address.js.map +7 -0
  482. package/dist/cjs/web/index.js +31 -0
  483. package/dist/cjs/web/index.js.map +7 -0
  484. package/dist/cjs/web/url.js +353 -0
  485. package/dist/cjs/web/url.js.map +7 -0
  486. package/dist/esm/banking/bank-resolver.js +358 -0
  487. package/dist/esm/banking/bank-resolver.js.map +7 -0
  488. package/dist/esm/banking/bic.js +169 -0
  489. package/dist/esm/banking/bic.js.map +7 -0
  490. package/dist/esm/banking/iban.js +294 -0
  491. package/dist/esm/banking/iban.js.map +7 -0
  492. package/dist/esm/banking/index.js +60 -0
  493. package/dist/esm/banking/index.js.map +7 -0
  494. package/dist/esm/banking/swedish-bank-account-holder-name.js +104 -0
  495. package/dist/esm/banking/swedish-bank-account-holder-name.js.map +7 -0
  496. package/dist/esm/banking/swedish-bank-account.js +199 -0
  497. package/dist/esm/banking/swedish-bank-account.js.map +7 -0
  498. package/dist/esm/banking/swedish-bank-clearing-number.js +136 -0
  499. package/dist/esm/banking/swedish-bank-clearing-number.js.map +7 -0
  500. package/dist/esm/banking/swedish-bank.js +69 -0
  501. package/dist/esm/banking/swedish-bank.js.map +7 -0
  502. package/dist/esm/banking/swedish-bankgiro-number.js +156 -0
  503. package/dist/esm/banking/swedish-bankgiro-number.js.map +7 -0
  504. package/dist/esm/banking/swedish-banking-number.js +181 -0
  505. package/dist/esm/banking/swedish-banking-number.js.map +7 -0
  506. package/dist/esm/banking/swedish-ocr-reference-number.js +195 -0
  507. package/dist/esm/banking/swedish-ocr-reference-number.js.map +7 -0
  508. package/dist/esm/banking/swedish-postgiro-number.js +153 -0
  509. package/dist/esm/banking/swedish-postgiro-number.js.map +7 -0
  510. package/dist/esm/banking/swedish-swish-number.js +145 -0
  511. package/dist/esm/banking/swedish-swish-number.js.map +7 -0
  512. package/dist/esm/contact/address-city.js +84 -0
  513. package/dist/esm/contact/address-city.js.map +7 -0
  514. package/dist/esm/contact/address-street.js +200 -0
  515. package/dist/esm/contact/address-street.js.map +7 -0
  516. package/dist/esm/contact/address-zip-code.js +175 -0
  517. package/dist/esm/contact/address-zip-code.js.map +7 -0
  518. package/dist/esm/contact/address.js +388 -0
  519. package/dist/esm/contact/address.js.map +7 -0
  520. package/dist/esm/contact/contact-address.js +122 -0
  521. package/dist/esm/contact/contact-address.js.map +7 -0
  522. package/dist/esm/contact/contact-external-links.js +19 -0
  523. package/dist/esm/contact/contact-external-links.js.map +7 -0
  524. package/dist/esm/contact/contact-lookup.js +11 -0
  525. package/dist/esm/contact/contact-lookup.js.map +7 -0
  526. package/dist/esm/contact/contact-masking.js +97 -0
  527. package/dist/esm/contact/contact-masking.js.map +7 -0
  528. package/dist/esm/contact/country-address-factory.js +80 -0
  529. package/dist/esm/contact/country-address-factory.js.map +7 -0
  530. package/dist/esm/contact/country-address-registry.js +16 -0
  531. package/dist/esm/contact/country-address-registry.js.map +7 -0
  532. package/dist/esm/contact/country-address.js +78 -0
  533. package/dist/esm/contact/country-address.js.map +7 -0
  534. package/dist/esm/contact/country-addresses.js +316 -0
  535. package/dist/esm/contact/country-addresses.js.map +7 -0
  536. package/dist/esm/contact/country-zip-code-factory.js +97 -0
  537. package/dist/esm/contact/country-zip-code-factory.js.map +7 -0
  538. package/dist/esm/contact/country-zip-codes.js +363 -0
  539. package/dist/esm/contact/country-zip-codes.js.map +7 -0
  540. package/dist/esm/contact/index.js +63 -0
  541. package/dist/esm/contact/index.js.map +7 -0
  542. package/dist/esm/contact/phone-calling-code.js +419 -0
  543. package/dist/esm/contact/phone-calling-code.js.map +7 -0
  544. package/dist/esm/contact/phone-number-test-data.js +43 -0
  545. package/dist/esm/contact/phone-number-test-data.js.map +7 -0
  546. package/dist/esm/contact/phone-number.js +305 -0
  547. package/dist/esm/contact/phone-number.js.map +7 -0
  548. package/dist/esm/contact/register-default-country-addresses.js +58 -0
  549. package/dist/esm/contact/register-default-country-addresses.js.map +7 -0
  550. package/dist/esm/contact/swedish-address-zip-code.js +72 -0
  551. package/dist/esm/contact/swedish-address-zip-code.js.map +7 -0
  552. package/dist/esm/contact/swedish-address.js +149 -0
  553. package/dist/esm/contact/swedish-address.js.map +7 -0
  554. package/dist/esm/finance/currency.js +231 -0
  555. package/dist/esm/finance/currency.js.map +7 -0
  556. package/dist/esm/finance/exchange-rates.js +31 -0
  557. package/dist/esm/finance/exchange-rates.js.map +7 -0
  558. package/dist/esm/finance/index.js +14 -0
  559. package/dist/esm/finance/index.js.map +7 -0
  560. package/dist/esm/finance/isin.js +141 -0
  561. package/dist/esm/finance/isin.js.map +7 -0
  562. package/dist/esm/finance/money-amount.js +287 -0
  563. package/dist/esm/finance/money-amount.js.map +7 -0
  564. package/dist/esm/geography/adjacency-data.js +315 -0
  565. package/dist/esm/geography/adjacency-data.js.map +7 -0
  566. package/dist/esm/geography/continent.js +105 -0
  567. package/dist/esm/geography/continent.js.map +7 -0
  568. package/dist/esm/geography/country-capital.js +25 -0
  569. package/dist/esm/geography/country-capital.js.map +7 -0
  570. package/dist/esm/geography/country-capitals.js +268 -0
  571. package/dist/esm/geography/country-capitals.js.map +7 -0
  572. package/dist/esm/geography/country-coordinates.js +218 -0
  573. package/dist/esm/geography/country-coordinates.js.map +7 -0
  574. package/dist/esm/geography/country-data.js +510 -0
  575. package/dist/esm/geography/country-data.js.map +7 -0
  576. package/dist/esm/geography/country-metadata.js +607 -0
  577. package/dist/esm/geography/country-metadata.js.map +7 -0
  578. package/dist/esm/geography/country.js +417 -0
  579. package/dist/esm/geography/country.js.map +7 -0
  580. package/dist/esm/geography/geo-coordinate.js +224 -0
  581. package/dist/esm/geography/geo-coordinate.js.map +7 -0
  582. package/dist/esm/geography/geography-extensions.js +62 -0
  583. package/dist/esm/geography/geography-extensions.js.map +7 -0
  584. package/dist/esm/geography/geography-external-links.js +32 -0
  585. package/dist/esm/geography/geography-external-links.js.map +7 -0
  586. package/dist/esm/geography/geography-lookup.js +11 -0
  587. package/dist/esm/geography/geography-lookup.js.map +7 -0
  588. package/dist/esm/geography/geography-masking.js +34 -0
  589. package/dist/esm/geography/geography-masking.js.map +7 -0
  590. package/dist/esm/geography/index.js +55 -0
  591. package/dist/esm/geography/index.js.map +7 -0
  592. package/dist/esm/geography/language.js +442 -0
  593. package/dist/esm/geography/language.js.map +7 -0
  594. package/dist/esm/geography/swedish-county.js +212 -0
  595. package/dist/esm/geography/swedish-county.js.map +7 -0
  596. package/dist/esm/geography/swedish-municipality-data.js +296 -0
  597. package/dist/esm/geography/swedish-municipality-data.js.map +7 -0
  598. package/dist/esm/geography/swedish-municipality.js +198 -0
  599. package/dist/esm/geography/swedish-municipality.js.map +7 -0
  600. package/dist/esm/index.js +16 -0
  601. package/dist/esm/index.js.map +7 -0
  602. package/dist/esm/internal/case-folding.js +12 -0
  603. package/dist/esm/internal/case-folding.js.map +7 -0
  604. package/dist/esm/internal/clock.js +12 -0
  605. package/dist/esm/internal/clock.js.map +7 -0
  606. package/dist/esm/internal/decimal.js +242 -0
  607. package/dist/esm/internal/decimal.js.map +7 -0
  608. package/dist/esm/internal/gs1-prefix.js +144 -0
  609. package/dist/esm/internal/gs1-prefix.js.map +7 -0
  610. package/dist/esm/internal/gtin-check-digit.js +26 -0
  611. package/dist/esm/internal/gtin-check-digit.js.map +7 -0
  612. package/dist/esm/internal/input-sanitization.js +59 -0
  613. package/dist/esm/internal/input-sanitization.js.map +7 -0
  614. package/dist/esm/internal/luhn.js +20 -0
  615. package/dist/esm/internal/luhn.js.map +7 -0
  616. package/dist/esm/internal/measurement-unit-parser.js +66 -0
  617. package/dist/esm/internal/measurement-unit-parser.js.map +7 -0
  618. package/dist/esm/internal/measurement-unit.js +110 -0
  619. package/dist/esm/internal/measurement-unit.js.map +7 -0
  620. package/dist/esm/internal/quantity.js +102 -0
  621. package/dist/esm/internal/quantity.js.map +7 -0
  622. package/dist/esm/internal/scan-boundaries.js +6 -0
  623. package/dist/esm/internal/scan-boundaries.js.map +7 -0
  624. package/dist/esm/internal/shoe-size-format.js +11 -0
  625. package/dist/esm/internal/shoe-size-format.js.map +7 -0
  626. package/dist/esm/measurement/area-unit.js +138 -0
  627. package/dist/esm/measurement/area-unit.js.map +7 -0
  628. package/dist/esm/measurement/area.js +164 -0
  629. package/dist/esm/measurement/area.js.map +7 -0
  630. package/dist/esm/measurement/count.js +112 -0
  631. package/dist/esm/measurement/count.js.map +7 -0
  632. package/dist/esm/measurement/data-size-unit.js +188 -0
  633. package/dist/esm/measurement/data-size-unit.js.map +7 -0
  634. package/dist/esm/measurement/data-size.js +187 -0
  635. package/dist/esm/measurement/data-size.js.map +7 -0
  636. package/dist/esm/measurement/electric-charge-unit.js +89 -0
  637. package/dist/esm/measurement/electric-charge-unit.js.map +7 -0
  638. package/dist/esm/measurement/electric-charge.js +128 -0
  639. package/dist/esm/measurement/electric-charge.js.map +7 -0
  640. package/dist/esm/measurement/electric-current-unit.js +88 -0
  641. package/dist/esm/measurement/electric-current-unit.js.map +7 -0
  642. package/dist/esm/measurement/electric-current.js +134 -0
  643. package/dist/esm/measurement/electric-current.js.map +7 -0
  644. package/dist/esm/measurement/energy-unit.js +181 -0
  645. package/dist/esm/measurement/energy-unit.js.map +7 -0
  646. package/dist/esm/measurement/energy.js +187 -0
  647. package/dist/esm/measurement/energy.js.map +7 -0
  648. package/dist/esm/measurement/flow-rate-unit.js +112 -0
  649. package/dist/esm/measurement/flow-rate-unit.js.map +7 -0
  650. package/dist/esm/measurement/flow-rate.js +142 -0
  651. package/dist/esm/measurement/flow-rate.js.map +7 -0
  652. package/dist/esm/measurement/frequency-unit.js +112 -0
  653. package/dist/esm/measurement/frequency-unit.js.map +7 -0
  654. package/dist/esm/measurement/frequency.js +145 -0
  655. package/dist/esm/measurement/frequency.js.map +7 -0
  656. package/dist/esm/measurement/index.js +129 -0
  657. package/dist/esm/measurement/index.js.map +7 -0
  658. package/dist/esm/measurement/length-unit.js +190 -0
  659. package/dist/esm/measurement/length-unit.js.map +7 -0
  660. package/dist/esm/measurement/length.js +188 -0
  661. package/dist/esm/measurement/length.js.map +7 -0
  662. package/dist/esm/measurement/luminance-unit.js +90 -0
  663. package/dist/esm/measurement/luminance-unit.js.map +7 -0
  664. package/dist/esm/measurement/luminance.js +138 -0
  665. package/dist/esm/measurement/luminance.js.map +7 -0
  666. package/dist/esm/measurement/luminous-flux-unit.js +66 -0
  667. package/dist/esm/measurement/luminous-flux-unit.js.map +7 -0
  668. package/dist/esm/measurement/luminous-flux.js +122 -0
  669. package/dist/esm/measurement/luminous-flux.js.map +7 -0
  670. package/dist/esm/measurement/percentage.js +192 -0
  671. package/dist/esm/measurement/percentage.js.map +7 -0
  672. package/dist/esm/measurement/power-unit.js +135 -0
  673. package/dist/esm/measurement/power-unit.js.map +7 -0
  674. package/dist/esm/measurement/power.js +168 -0
  675. package/dist/esm/measurement/power.js.map +7 -0
  676. package/dist/esm/measurement/pressure-unit.js +148 -0
  677. package/dist/esm/measurement/pressure-unit.js.map +7 -0
  678. package/dist/esm/measurement/pressure.js +169 -0
  679. package/dist/esm/measurement/pressure.js.map +7 -0
  680. package/dist/esm/measurement/rotational-speed-unit.js +76 -0
  681. package/dist/esm/measurement/rotational-speed-unit.js.map +7 -0
  682. package/dist/esm/measurement/rotational-speed.js +132 -0
  683. package/dist/esm/measurement/rotational-speed.js.map +7 -0
  684. package/dist/esm/measurement/sound-level.js +169 -0
  685. package/dist/esm/measurement/sound-level.js.map +7 -0
  686. package/dist/esm/measurement/speed-unit.js +99 -0
  687. package/dist/esm/measurement/speed-unit.js.map +7 -0
  688. package/dist/esm/measurement/speed.js +139 -0
  689. package/dist/esm/measurement/speed.js.map +7 -0
  690. package/dist/esm/measurement/temperature-delta.js +81 -0
  691. package/dist/esm/measurement/temperature-delta.js.map +7 -0
  692. package/dist/esm/measurement/temperature-unit.js +110 -0
  693. package/dist/esm/measurement/temperature-unit.js.map +7 -0
  694. package/dist/esm/measurement/temperature.js +196 -0
  695. package/dist/esm/measurement/temperature.js.map +7 -0
  696. package/dist/esm/measurement/torque-unit.js +118 -0
  697. package/dist/esm/measurement/torque-unit.js.map +7 -0
  698. package/dist/esm/measurement/torque.js +145 -0
  699. package/dist/esm/measurement/torque.js.map +7 -0
  700. package/dist/esm/measurement/voltage-unit.js +107 -0
  701. package/dist/esm/measurement/voltage-unit.js.map +7 -0
  702. package/dist/esm/measurement/voltage.js +139 -0
  703. package/dist/esm/measurement/voltage.js.map +7 -0
  704. package/dist/esm/measurement/volume-unit.js +158 -0
  705. package/dist/esm/measurement/volume-unit.js.map +7 -0
  706. package/dist/esm/measurement/volume.js +175 -0
  707. package/dist/esm/measurement/volume.js.map +7 -0
  708. package/dist/esm/measurement/weight-unit.js +138 -0
  709. package/dist/esm/measurement/weight-unit.js.map +7 -0
  710. package/dist/esm/measurement/weight.js +163 -0
  711. package/dist/esm/measurement/weight.js.map +7 -0
  712. package/dist/esm/measurement/year-month.js +184 -0
  713. package/dist/esm/measurement/year-month.js.map +7 -0
  714. package/dist/esm/measurement/year.js +89 -0
  715. package/dist/esm/measurement/year.js.map +7 -0
  716. package/dist/esm/organization/duns-number.js +94 -0
  717. package/dist/esm/organization/duns-number.js.map +7 -0
  718. package/dist/esm/organization/elf-code.js +112 -0
  719. package/dist/esm/organization/elf-code.js.map +7 -0
  720. package/dist/esm/organization/eu-organization-name.js +99 -0
  721. package/dist/esm/organization/eu-organization-name.js.map +7 -0
  722. package/dist/esm/organization/eu-vat-number.js +424 -0
  723. package/dist/esm/organization/eu-vat-number.js.map +7 -0
  724. package/dist/esm/organization/index.js +62 -0
  725. package/dist/esm/organization/index.js.map +7 -0
  726. package/dist/esm/organization/lei-code.js +113 -0
  727. package/dist/esm/organization/lei-code.js.map +7 -0
  728. package/dist/esm/organization/organization-extensions.js +60 -0
  729. package/dist/esm/organization/organization-extensions.js.map +7 -0
  730. package/dist/esm/organization/organization-validation-utils.js +58 -0
  731. package/dist/esm/organization/organization-validation-utils.js.map +7 -0
  732. package/dist/esm/organization/swedish-cfar-number.js +68 -0
  733. package/dist/esm/organization/swedish-cfar-number.js.map +7 -0
  734. package/dist/esm/organization/swedish-organization-identifier-type.js +14 -0
  735. package/dist/esm/organization/swedish-organization-identifier-type.js.map +7 -0
  736. package/dist/esm/organization/swedish-organization-identifier.js +146 -0
  737. package/dist/esm/organization/swedish-organization-identifier.js.map +7 -0
  738. package/dist/esm/organization/swedish-organization-name.js +235 -0
  739. package/dist/esm/organization/swedish-organization-name.js.map +7 -0
  740. package/dist/esm/organization/swedish-organization-number.js +269 -0
  741. package/dist/esm/organization/swedish-organization-number.js.map +7 -0
  742. package/dist/esm/organization/swedish-organization-type.js +31 -0
  743. package/dist/esm/organization/swedish-organization-type.js.map +7 -0
  744. package/dist/esm/organization/swedish-sni-code.js +76 -0
  745. package/dist/esm/organization/swedish-sni-code.js.map +7 -0
  746. package/dist/esm/person/index.js +42 -0
  747. package/dist/esm/person/index.js.map +7 -0
  748. package/dist/esm/person/person-age.js +167 -0
  749. package/dist/esm/person/person-age.js.map +7 -0
  750. package/dist/esm/person/person-family-name.js +67 -0
  751. package/dist/esm/person/person-family-name.js.map +7 -0
  752. package/dist/esm/person/person-full-name.js +86 -0
  753. package/dist/esm/person/person-full-name.js.map +7 -0
  754. package/dist/esm/person/person-given-name.js +87 -0
  755. package/dist/esm/person/person-given-name.js.map +7 -0
  756. package/dist/esm/person/person-masking.js +28 -0
  757. package/dist/esm/person/person-masking.js.map +7 -0
  758. package/dist/esm/person/person-name-normalization.js +79 -0
  759. package/dist/esm/person/person-name-normalization.js.map +7 -0
  760. package/dist/esm/person/personnummer-parser.js +136 -0
  761. package/dist/esm/person/personnummer-parser.js.map +7 -0
  762. package/dist/esm/person/swedish-coordination-number.js +173 -0
  763. package/dist/esm/person/swedish-coordination-number.js.map +7 -0
  764. package/dist/esm/person/swedish-personal-identity-number.js +175 -0
  765. package/dist/esm/person/swedish-personal-identity-number.js.map +7 -0
  766. package/dist/esm/primitive-type-info.js +1 -0
  767. package/dist/esm/primitive-type-info.js.map +7 -0
  768. package/dist/esm/primitives-defaults.js +72 -0
  769. package/dist/esm/primitives-defaults.js.map +7 -0
  770. package/dist/esm/product/adult-clothing-size.js +128 -0
  771. package/dist/esm/product/adult-clothing-size.js.map +7 -0
  772. package/dist/esm/product/adult-shoe-size.js +119 -0
  773. package/dist/esm/product/adult-shoe-size.js.map +7 -0
  774. package/dist/esm/product/aspect-ratio.js +168 -0
  775. package/dist/esm/product/aspect-ratio.js.map +7 -0
  776. package/dist/esm/product/battery-capacity.js +164 -0
  777. package/dist/esm/product/battery-capacity.js.map +7 -0
  778. package/dist/esm/product/battery-chemistry.js +239 -0
  779. package/dist/esm/product/battery-chemistry.js.map +7 -0
  780. package/dist/esm/product/camera-resolution.js +141 -0
  781. package/dist/esm/product/camera-resolution.js.map +7 -0
  782. package/dist/esm/product/child-clothing-size.js +234 -0
  783. package/dist/esm/product/child-clothing-size.js.map +7 -0
  784. package/dist/esm/product/child-shoe-size.js +180 -0
  785. package/dist/esm/product/child-shoe-size.js.map +7 -0
  786. package/dist/esm/product/clothing-fit.js +203 -0
  787. package/dist/esm/product/clothing-fit.js.map +7 -0
  788. package/dist/esm/product/clothing-gender.js +178 -0
  789. package/dist/esm/product/clothing-gender.js.map +7 -0
  790. package/dist/esm/product/clothing-season.js +182 -0
  791. package/dist/esm/product/clothing-season.js.map +7 -0
  792. package/dist/esm/product/clothing-size-system.js +11 -0
  793. package/dist/esm/product/clothing-size-system.js.map +7 -0
  794. package/dist/esm/product/clothing-size.js +126 -0
  795. package/dist/esm/product/clothing-size.js.map +7 -0
  796. package/dist/esm/product/color.js +314 -0
  797. package/dist/esm/product/color.js.map +7 -0
  798. package/dist/esm/product/display-panel-type.js +267 -0
  799. package/dist/esm/product/display-panel-type.js.map +7 -0
  800. package/dist/esm/product/electrical-phase.js +174 -0
  801. package/dist/esm/product/electrical-phase.js.map +7 -0
  802. package/dist/esm/product/energy-scale.js +11 -0
  803. package/dist/esm/product/energy-scale.js.map +7 -0
  804. package/dist/esm/product/eu-energy-efficiency-class.js +115 -0
  805. package/dist/esm/product/eu-energy-efficiency-class.js.map +7 -0
  806. package/dist/esm/product/google-product-category.js +94 -0
  807. package/dist/esm/product/google-product-category.js.map +7 -0
  808. package/dist/esm/product/gtin.js +83 -0
  809. package/dist/esm/product/gtin.js.map +7 -0
  810. package/dist/esm/product/gtin12.js +110 -0
  811. package/dist/esm/product/gtin12.js.map +7 -0
  812. package/dist/esm/product/gtin13.js +127 -0
  813. package/dist/esm/product/gtin13.js.map +7 -0
  814. package/dist/esm/product/gtin14.js +115 -0
  815. package/dist/esm/product/gtin14.js.map +7 -0
  816. package/dist/esm/product/gtin8.js +110 -0
  817. package/dist/esm/product/gtin8.js.map +7 -0
  818. package/dist/esm/product/hs-code-level.js +12 -0
  819. package/dist/esm/product/hs-code-level.js.map +7 -0
  820. package/dist/esm/product/hs-code.js +106 -0
  821. package/dist/esm/product/hs-code.js.map +7 -0
  822. package/dist/esm/product/index.js +137 -0
  823. package/dist/esm/product/index.js.map +7 -0
  824. package/dist/esm/product/ip-rating.js +146 -0
  825. package/dist/esm/product/ip-rating.js.map +7 -0
  826. package/dist/esm/product/operating-system-family.js +17 -0
  827. package/dist/esm/product/operating-system-family.js.map +7 -0
  828. package/dist/esm/product/operating-system-info.js +80 -0
  829. package/dist/esm/product/operating-system-info.js.map +7 -0
  830. package/dist/esm/product/operating-system-name.js +107 -0
  831. package/dist/esm/product/operating-system-name.js.map +7 -0
  832. package/dist/esm/product/operating-system-version.js +90 -0
  833. package/dist/esm/product/operating-system-version.js.map +7 -0
  834. package/dist/esm/product/power-source.js +298 -0
  835. package/dist/esm/product/power-source.js.map +7 -0
  836. package/dist/esm/product/processor-speed.js +139 -0
  837. package/dist/esm/product/processor-speed.js.map +7 -0
  838. package/dist/esm/product/product-extensions.js +7 -0
  839. package/dist/esm/product/product-extensions.js.map +7 -0
  840. package/dist/esm/product/product-masking.js +82 -0
  841. package/dist/esm/product/product-masking.js.map +7 -0
  842. package/dist/esm/product/ram-capacity.js +134 -0
  843. package/dist/esm/product/ram-capacity.js.map +7 -0
  844. package/dist/esm/product/refrigerant-family.js +20 -0
  845. package/dist/esm/product/refrigerant-family.js.map +7 -0
  846. package/dist/esm/product/refrigerant.js +399 -0
  847. package/dist/esm/product/refrigerant.js.map +7 -0
  848. package/dist/esm/product/screen-resolution.js +177 -0
  849. package/dist/esm/product/screen-resolution.js.map +7 -0
  850. package/dist/esm/product/screen-size.js +164 -0
  851. package/dist/esm/product/screen-size.js.map +7 -0
  852. package/dist/esm/product/shoe-size-system.js +11 -0
  853. package/dist/esm/product/shoe-size-system.js.map +7 -0
  854. package/dist/esm/product/shoe-size.js +118 -0
  855. package/dist/esm/product/shoe-size.js.map +7 -0
  856. package/dist/esm/product/storage-capacity.js +139 -0
  857. package/dist/esm/product/storage-capacity.js.map +7 -0
  858. package/dist/esm/product/storage-media-type.js +251 -0
  859. package/dist/esm/product/storage-media-type.js.map +7 -0
  860. package/dist/esm/property/index.js +19 -0
  861. package/dist/esm/property/index.js.map +7 -0
  862. package/dist/esm/property/swedish-property-designation.js +159 -0
  863. package/dist/esm/property/swedish-property-designation.js.map +7 -0
  864. package/dist/esm/property/swedish-property-taxation-code.js +198 -0
  865. package/dist/esm/property/swedish-property-taxation-code.js.map +7 -0
  866. package/dist/esm/register-default-text-scanners.js +270 -0
  867. package/dist/esm/register-default-text-scanners.js.map +7 -0
  868. package/dist/esm/sample-data/index.js +355 -0
  869. package/dist/esm/sample-data/index.js.map +7 -0
  870. package/dist/esm/text-scanning/index.js +21 -0
  871. package/dist/esm/text-scanning/index.js.map +7 -0
  872. package/dist/esm/text-scanning/text-candidate-category.js +15 -0
  873. package/dist/esm/text-scanning/text-candidate-category.js.map +7 -0
  874. package/dist/esm/text-scanning/text-candidate.js +55 -0
  875. package/dist/esm/text-scanning/text-candidate.js.map +7 -0
  876. package/dist/esm/text-scanning/text-match-confidence.js +23 -0
  877. package/dist/esm/text-scanning/text-match-confidence.js.map +7 -0
  878. package/dist/esm/text-scanning/text-scan-helpers.js +78 -0
  879. package/dist/esm/text-scanning/text-scan-helpers.js.map +7 -0
  880. package/dist/esm/text-scanning/text-scan-result.js +313 -0
  881. package/dist/esm/text-scanning/text-scan-result.js.map +7 -0
  882. package/dist/esm/text-scanning/text-scanner-options.js +9 -0
  883. package/dist/esm/text-scanning/text-scanner-options.js.map +7 -0
  884. package/dist/esm/text-scanning/text-scanner.js +40 -0
  885. package/dist/esm/text-scanning/text-scanner.js.map +7 -0
  886. package/dist/esm/validation/index.js +9 -0
  887. package/dist/esm/validation/index.js.map +7 -0
  888. package/dist/esm/validation/validation-error-reason.js +33 -0
  889. package/dist/esm/validation/validation-error-reason.js.map +7 -0
  890. package/dist/esm/validation/validation-issue.js +23 -0
  891. package/dist/esm/validation/validation-issue.js.map +7 -0
  892. package/dist/esm/validation/validation-result.js +32 -0
  893. package/dist/esm/validation/validation-result.js.map +7 -0
  894. package/dist/esm/vehicle/boat-ce-design-category.js +180 -0
  895. package/dist/esm/vehicle/boat-ce-design-category.js.map +7 -0
  896. package/dist/esm/vehicle/boat-hull-material.js +202 -0
  897. package/dist/esm/vehicle/boat-hull-material.js.map +7 -0
  898. package/dist/esm/vehicle/body-type.js +305 -0
  899. package/dist/esm/vehicle/body-type.js.map +7 -0
  900. package/dist/esm/vehicle/bolt-pattern.js +130 -0
  901. package/dist/esm/vehicle/bolt-pattern.js.map +7 -0
  902. package/dist/esm/vehicle/drivetrain-type.js +180 -0
  903. package/dist/esm/vehicle/drivetrain-type.js.map +7 -0
  904. package/dist/esm/vehicle/emission-rate.js +174 -0
  905. package/dist/esm/vehicle/emission-rate.js.map +7 -0
  906. package/dist/esm/vehicle/energy-consumption.js +230 -0
  907. package/dist/esm/vehicle/energy-consumption.js.map +7 -0
  908. package/dist/esm/vehicle/engine-displacement.js +149 -0
  909. package/dist/esm/vehicle/engine-displacement.js.map +7 -0
  910. package/dist/esm/vehicle/engine-power.js +191 -0
  911. package/dist/esm/vehicle/engine-power.js.map +7 -0
  912. package/dist/esm/vehicle/eu-type-approval-number.js +176 -0
  913. package/dist/esm/vehicle/eu-type-approval-number.js.map +7 -0
  914. package/dist/esm/vehicle/eu-vehicle-category.js +147 -0
  915. package/dist/esm/vehicle/eu-vehicle-category.js.map +7 -0
  916. package/dist/esm/vehicle/euro-emission-class.js +293 -0
  917. package/dist/esm/vehicle/euro-emission-class.js.map +7 -0
  918. package/dist/esm/vehicle/fuel-consumption-norm.js +186 -0
  919. package/dist/esm/vehicle/fuel-consumption-norm.js.map +7 -0
  920. package/dist/esm/vehicle/fuel-consumption.js +261 -0
  921. package/dist/esm/vehicle/fuel-consumption.js.map +7 -0
  922. package/dist/esm/vehicle/fuel-type.js +268 -0
  923. package/dist/esm/vehicle/fuel-type.js.map +7 -0
  924. package/dist/esm/vehicle/index.js +134 -0
  925. package/dist/esm/vehicle/index.js.map +7 -0
  926. package/dist/esm/vehicle/odometer-reading.js +145 -0
  927. package/dist/esm/vehicle/odometer-reading.js.map +7 -0
  928. package/dist/esm/vehicle/operating-hours.js +154 -0
  929. package/dist/esm/vehicle/operating-hours.js.map +7 -0
  930. package/dist/esm/vehicle/suspension-type.js +292 -0
  931. package/dist/esm/vehicle/suspension-type.js.map +7 -0
  932. package/dist/esm/vehicle/swedish-driving-license-category.js +384 -0
  933. package/dist/esm/vehicle/swedish-driving-license-category.js.map +7 -0
  934. package/dist/esm/vehicle/swedish-driving-license-vehicle-group.js +12 -0
  935. package/dist/esm/vehicle/swedish-driving-license-vehicle-group.js.map +7 -0
  936. package/dist/esm/vehicle/swedish-eco-vehicle-classification.js +212 -0
  937. package/dist/esm/vehicle/swedish-eco-vehicle-classification.js.map +7 -0
  938. package/dist/esm/vehicle/swedish-vehicle-registration-number.js +176 -0
  939. package/dist/esm/vehicle/swedish-vehicle-registration-number.js.map +7 -0
  940. package/dist/esm/vehicle/swedish-vehicle-status.js +152 -0
  941. package/dist/esm/vehicle/swedish-vehicle-status.js.map +7 -0
  942. package/dist/esm/vehicle/swedish-vehicle-type.js +262 -0
  943. package/dist/esm/vehicle/swedish-vehicle-type.js.map +7 -0
  944. package/dist/esm/vehicle/tire-dimension.js +186 -0
  945. package/dist/esm/vehicle/tire-dimension.js.map +7 -0
  946. package/dist/esm/vehicle/tire-type.js +208 -0
  947. package/dist/esm/vehicle/tire-type.js.map +7 -0
  948. package/dist/esm/vehicle/track-type.js +168 -0
  949. package/dist/esm/vehicle/track-type.js.map +7 -0
  950. package/dist/esm/vehicle/transmission-type.js +238 -0
  951. package/dist/esm/vehicle/transmission-type.js.map +7 -0
  952. package/dist/esm/vehicle/vehicle-extensions.js +15 -0
  953. package/dist/esm/vehicle/vehicle-extensions.js.map +7 -0
  954. package/dist/esm/vehicle/vehicle-identification-number.js +248 -0
  955. package/dist/esm/vehicle/vehicle-identification-number.js.map +7 -0
  956. package/dist/esm/vehicle/vehicle-masking.js +48 -0
  957. package/dist/esm/vehicle/vehicle-masking.js.map +7 -0
  958. package/dist/esm/vehicle/wheel-rim-dimension.js +163 -0
  959. package/dist/esm/vehicle/wheel-rim-dimension.js.map +7 -0
  960. package/dist/esm/web/email-address.js +522 -0
  961. package/dist/esm/web/email-address.js.map +7 -0
  962. package/dist/esm/web/index.js +16 -0
  963. package/dist/esm/web/index.js.map +7 -0
  964. package/dist/esm/web/url.js +333 -0
  965. package/dist/esm/web/url.js.map +7 -0
  966. package/dist/types/frequency-CweGfJFS.d.cts +329 -0
  967. package/dist/types/frequency-DdOMV6Sw.d.ts +329 -0
  968. package/dist/{index.d.cts → types/index.d.cts} +9 -0
  969. package/dist/{index.d.ts → types/index.d.ts} +9 -0
  970. package/dist/types/length-CceXIJYY.d.ts +354 -0
  971. package/dist/types/length-XRL5Eg7F.d.cts +354 -0
  972. package/dist/types/measurement/index.d.cts +136 -0
  973. package/dist/types/measurement/index.d.ts +136 -0
  974. package/dist/types/product/index.d.cts +1239 -0
  975. package/dist/types/product/index.d.ts +1239 -0
  976. package/dist/types/screen-size-BD4t3wzb.d.cts +473 -0
  977. package/dist/types/screen-size-DUmjNjxG.d.ts +473 -0
  978. package/dist/{text-scanning → types/text-scanning}/index.d.cts +50 -0
  979. package/dist/{text-scanning → types/text-scanning}/index.d.ts +50 -0
  980. package/dist/types/vehicle/index.d.cts +798 -0
  981. package/dist/types/vehicle/index.d.ts +798 -0
  982. package/dist/types/volume-CFA4e3dc.d.cts +175 -0
  983. package/dist/types/volume-DGLPQypt.d.ts +175 -0
  984. package/dist/types/weight-B30-Hzxu.d.ts +1057 -0
  985. package/dist/types/weight-C5C7OuV_.d.cts +1057 -0
  986. package/dist/types/wheel-rim-dimension-CVCmLASl.d.ts +699 -0
  987. package/dist/types/wheel-rim-dimension-CdkDrzad.d.cts +699 -0
  988. package/package.json +97 -62
  989. package/dist/banking/index.cjs +0 -6491
  990. package/dist/banking/index.cjs.map +0 -1
  991. package/dist/banking/index.js +0 -6464
  992. package/dist/banking/index.js.map +0 -1
  993. package/dist/contact/index.cjs +0 -6678
  994. package/dist/contact/index.cjs.map +0 -1
  995. package/dist/contact/index.js +0 -6586
  996. package/dist/contact/index.js.map +0 -1
  997. package/dist/finance/index.cjs +0 -3592
  998. package/dist/finance/index.cjs.map +0 -1
  999. package/dist/finance/index.js +0 -3584
  1000. package/dist/finance/index.js.map +0 -1
  1001. package/dist/geography/index.cjs +0 -4227
  1002. package/dist/geography/index.cjs.map +0 -1
  1003. package/dist/geography/index.js +0 -4202
  1004. package/dist/geography/index.js.map +0 -1
  1005. package/dist/index.cjs +0 -14087
  1006. package/dist/index.cjs.map +0 -1
  1007. package/dist/index.js +0 -13868
  1008. package/dist/index.js.map +0 -1
  1009. package/dist/organization/index.cjs +0 -2376
  1010. package/dist/organization/index.cjs.map +0 -1
  1011. package/dist/organization/index.js +0 -2346
  1012. package/dist/organization/index.js.map +0 -1
  1013. package/dist/person/index.cjs +0 -1144
  1014. package/dist/person/index.cjs.map +0 -1
  1015. package/dist/person/index.js +0 -1125
  1016. package/dist/person/index.js.map +0 -1
  1017. package/dist/property/index.cjs +0 -487
  1018. package/dist/property/index.cjs.map +0 -1
  1019. package/dist/property/index.js +0 -480
  1020. package/dist/property/index.js.map +0 -1
  1021. package/dist/sample-data/index.cjs +0 -12310
  1022. package/dist/sample-data/index.cjs.map +0 -1
  1023. package/dist/sample-data/index.js +0 -12302
  1024. package/dist/sample-data/index.js.map +0 -1
  1025. package/dist/text-scanning/index.cjs +0 -10414
  1026. package/dist/text-scanning/index.cjs.map +0 -1
  1027. package/dist/text-scanning/index.js +0 -10406
  1028. package/dist/text-scanning/index.js.map +0 -1
  1029. package/dist/validation/index.cjs +0 -83
  1030. package/dist/validation/index.cjs.map +0 -1
  1031. package/dist/validation/index.js +0 -79
  1032. package/dist/validation/index.js.map +0 -1
  1033. package/dist/web/index.cjs +0 -3994
  1034. package/dist/web/index.cjs.map +0 -1
  1035. package/dist/web/index.js +0 -3987
  1036. package/dist/web/index.js.map +0 -1
  1037. /package/dist/{banking → types/banking}/index.d.cts +0 -0
  1038. /package/dist/{banking → types/banking}/index.d.ts +0 -0
  1039. /package/dist/{contact → types/contact}/index.d.cts +0 -0
  1040. /package/dist/{contact → types/contact}/index.d.ts +0 -0
  1041. /package/dist/{country-BhD51LDL.d.cts → types/country-BhD51LDL.d.cts} +0 -0
  1042. /package/dist/{country-p0n0EVQ9.d.ts → types/country-p0n0EVQ9.d.ts} +0 -0
  1043. /package/dist/{finance → types/finance}/index.d.cts +0 -0
  1044. /package/dist/{finance → types/finance}/index.d.ts +0 -0
  1045. /package/dist/{geography → types/geography}/index.d.cts +0 -0
  1046. /package/dist/{geography → types/geography}/index.d.ts +0 -0
  1047. /package/dist/{isin-EeVPpNWu.d.ts → types/isin-EeVPpNWu.d.ts} +0 -0
  1048. /package/dist/{isin-ZlQLBVm8.d.cts → types/isin-ZlQLBVm8.d.cts} +0 -0
  1049. /package/dist/{organization → types/organization}/index.d.cts +0 -0
  1050. /package/dist/{organization → types/organization}/index.d.ts +0 -0
  1051. /package/dist/{person → types/person}/index.d.cts +0 -0
  1052. /package/dist/{person → types/person}/index.d.ts +0 -0
  1053. /package/dist/{person-full-name-Cmc9Ynuc.d.cts → types/person-full-name-Cmc9Ynuc.d.cts} +0 -0
  1054. /package/dist/{person-full-name-D6Hbsab6.d.ts → types/person-full-name-D6Hbsab6.d.ts} +0 -0
  1055. /package/dist/{phone-number-C24--ggy.d.ts → types/phone-number-C24--ggy.d.ts} +0 -0
  1056. /package/dist/{phone-number-DZ-YxCQQ.d.cts → types/phone-number-DZ-YxCQQ.d.cts} +0 -0
  1057. /package/dist/{property → types/property}/index.d.cts +0 -0
  1058. /package/dist/{property → types/property}/index.d.ts +0 -0
  1059. /package/dist/{sample-data → types/sample-data}/index.d.cts +0 -0
  1060. /package/dist/{sample-data → types/sample-data}/index.d.ts +0 -0
  1061. /package/dist/{swedish-address-DNC3ftRF.d.cts → types/swedish-address-DNC3ftRF.d.cts} +0 -0
  1062. /package/dist/{swedish-address-GMzjqgxb.d.ts → types/swedish-address-GMzjqgxb.d.ts} +0 -0
  1063. /package/dist/{swedish-bank-account-holder-name-BFJ8h1aO.d.cts → types/swedish-bank-account-holder-name-BFJ8h1aO.d.cts} +0 -0
  1064. /package/dist/{swedish-bank-account-holder-name-CAAru07F.d.ts → types/swedish-bank-account-holder-name-CAAru07F.d.ts} +0 -0
  1065. /package/dist/{swedish-municipality-DlUS7g7h.d.cts → types/swedish-municipality-DlUS7g7h.d.cts} +0 -0
  1066. /package/dist/{swedish-municipality-nDRHYRAd.d.ts → types/swedish-municipality-nDRHYRAd.d.ts} +0 -0
  1067. /package/dist/{swedish-organization-name-D7NvERxA.d.cts → types/swedish-organization-name-D7NvERxA.d.cts} +0 -0
  1068. /package/dist/{swedish-organization-name-rR0Q836C.d.ts → types/swedish-organization-name-rR0Q836C.d.ts} +0 -0
  1069. /package/dist/{swedish-organization-number-Bcj7V_lh.d.cts → types/swedish-organization-number-Bcj7V_lh.d.cts} +0 -0
  1070. /package/dist/{swedish-organization-number-DM8dpXwR.d.ts → types/swedish-organization-number-DM8dpXwR.d.ts} +0 -0
  1071. /package/dist/{swedish-organization-type-CZOdETwG.d.cts → types/swedish-organization-type-CZOdETwG.d.cts} +0 -0
  1072. /package/dist/{swedish-organization-type-CZOdETwG.d.ts → types/swedish-organization-type-CZOdETwG.d.ts} +0 -0
  1073. /package/dist/{swedish-personal-identity-number-BiIg4io3.d.ts → types/swedish-personal-identity-number-BiIg4io3.d.ts} +0 -0
  1074. /package/dist/{swedish-personal-identity-number-Cp9Coz55.d.cts → types/swedish-personal-identity-number-Cp9Coz55.d.cts} +0 -0
  1075. /package/dist/{swedish-property-designation-BM-gdd9x.d.ts → types/swedish-property-designation-BM-gdd9x.d.ts} +0 -0
  1076. /package/dist/{swedish-property-designation-BaHXufqV.d.cts → types/swedish-property-designation-BaHXufqV.d.cts} +0 -0
  1077. /package/dist/{swedish-sni-code-Ccsswpni.d.ts → types/swedish-sni-code-Ccsswpni.d.ts} +0 -0
  1078. /package/dist/{swedish-sni-code-CuJFyM6l.d.cts → types/swedish-sni-code-CuJFyM6l.d.cts} +0 -0
  1079. /package/dist/{swedish-swish-number-CL6Gx_h3.d.cts → types/swedish-swish-number-CL6Gx_h3.d.cts} +0 -0
  1080. /package/dist/{swedish-swish-number-DDG3mNDg.d.ts → types/swedish-swish-number-DDG3mNDg.d.ts} +0 -0
  1081. /package/dist/{text-candidate-qg2bD9PY.d.cts → types/text-candidate-qg2bD9PY.d.cts} +0 -0
  1082. /package/dist/{text-candidate-qg2bD9PY.d.ts → types/text-candidate-qg2bD9PY.d.ts} +0 -0
  1083. /package/dist/{validation → types/validation}/index.d.cts +0 -0
  1084. /package/dist/{validation → types/validation}/index.d.ts +0 -0
  1085. /package/dist/{web → types/web}/index.d.cts +0 -0
  1086. /package/dist/{web → types/web}/index.d.ts +0 -0
@@ -0,0 +1,168 @@
1
+ import { Decimal } from "../internal/decimal.js";
2
+ import { sanitizeInput } from "../internal/input-sanitization.js";
3
+ const INTEGER_COLON_PATTERN = /^\s*(\d{1,3})\s*[:xX×/]\s*(\d{1,3})\s*$/u;
4
+ const DECIMAL_PATTERN = /^\s*(\d+(?:[.,]\d+)?)\s*(?::\s*1)?\s*$/u;
5
+ const WHITESPACE_PATTERN = /\s+/gu;
6
+ const DECIMAL_TOLERANCE = Decimal.parse("0.02");
7
+ class AspectRatio {
8
+ static typeInfo = Object.freeze({
9
+ englishName: "Aspect Ratio",
10
+ localizedName: "Bildformat",
11
+ emoji: "\u{1F5A5}\uFE0F",
12
+ sources: Object.freeze(["https://www.itu.int/rec/R-REC-BT.709"])
13
+ });
14
+ /** Canonical width:height form, e.g. `16:9`. */
15
+ value;
16
+ /** Width component, e.g. `16`. */
17
+ width;
18
+ /** Height component, e.g. `9`. */
19
+ height;
20
+ /** Common name when available, e.g. `Widescreen` for `16:9`; otherwise `null`. */
21
+ commonName;
22
+ constructor(value, width, height, commonName) {
23
+ this.value = value;
24
+ this.width = width;
25
+ this.height = height;
26
+ this.commonName = commonName;
27
+ }
28
+ static OneToOne = new AspectRatio("1:1", 1, 1, "Square");
29
+ static FourThree = new AspectRatio("4:3", 4, 3, "Standard");
30
+ static FiveFour = new AspectRatio("5:4", 5, 4, "Computer Standard");
31
+ static ThreeTwo = new AspectRatio("3:2", 3, 2, "Classic 35 mm");
32
+ static SixteenTen = new AspectRatio("16:10", 16, 10, "Widescreen Computer");
33
+ static SixteenNine = new AspectRatio("16:9", 16, 9, "Widescreen");
34
+ static EighteenNine = new AspectRatio("18:9", 18, 9, "Univisium");
35
+ static TwentyOneNine = new AspectRatio("21:9", 21, 9, "Ultrawide");
36
+ static ThirtyTwoNine = new AspectRatio("32:9", 32, 9, "Super Ultrawide");
37
+ static NineSixteen = new AspectRatio("9:16", 9, 16, "Vertical");
38
+ static NineEighteen = new AspectRatio("9:18", 9, 18, "Vertical Tall");
39
+ /** All 11 predefined ratios, in canonical order. */
40
+ static get all() {
41
+ return ALL;
42
+ }
43
+ /** Numeric ratio ({@link width} divided by {@link height}), e.g. `1.7777…`. */
44
+ get ratio() {
45
+ return Decimal.fromNumber(this.width).dividedBy(Decimal.fromNumber(this.height));
46
+ }
47
+ /**
48
+ * Resolves a ratio from a `width:height`, `width/height` or `width x height` form, or from a
49
+ * decimal ratio close enough to one of the canonical values.
50
+ */
51
+ static tryParse(input) {
52
+ if (input == null) return null;
53
+ const trimmed = sanitizeInput(input).trim();
54
+ if (trimmed.length === 0) return null;
55
+ const fromLookup = LOOKUP.get(normalizeLookupKey(trimmed));
56
+ if (fromLookup !== void 0) return fromLookup;
57
+ const integers = INTEGER_COLON_PATTERN.exec(trimmed);
58
+ if (integers !== null) {
59
+ const width = Number(integers[1]);
60
+ const height = Number(integers[2]);
61
+ if (width > 0 && height > 0) return reduceToCanonical(width, height);
62
+ return null;
63
+ }
64
+ const decimals = DECIMAL_PATTERN.exec(trimmed);
65
+ if (decimals !== null) {
66
+ const ratio = Decimal.parse(decimals[1].replace(",", "."));
67
+ if (ratio !== null && !ratio.isZero && !ratio.isNegative) return matchByDecimal(ratio);
68
+ }
69
+ return null;
70
+ }
71
+ static parse(input) {
72
+ const result = AspectRatio.tryParse(input);
73
+ if (result === null) throw new Error("Invalid aspect ratio.");
74
+ return result;
75
+ }
76
+ static isValid(input) {
77
+ return AspectRatio.tryParse(input) !== null;
78
+ }
79
+ /** Returns the canonical width:height form, e.g. `16:9`. */
80
+ static format(input, options) {
81
+ const r = AspectRatio.tryParse(input);
82
+ if (r !== null) return r.value;
83
+ return fallback(input, options);
84
+ }
85
+ /** Returns the canonical width:height form, e.g. `16:9`. */
86
+ static normalize(input, options) {
87
+ const r = AspectRatio.tryParse(input);
88
+ if (r !== null) return r.value;
89
+ return fallback(input, options);
90
+ }
91
+ static isNormalized(input) {
92
+ return input != null && AspectRatio.normalize(input) === input;
93
+ }
94
+ toNormalizedString() {
95
+ return this.value;
96
+ }
97
+ toString() {
98
+ return this.value;
99
+ }
100
+ equals(other) {
101
+ return other != null && this.width === other.width && this.height === other.height;
102
+ }
103
+ compareTo(other) {
104
+ if (other == null) return 1;
105
+ return this.ratio.compareTo(other.ratio);
106
+ }
107
+ }
108
+ const ALL = [
109
+ AspectRatio.OneToOne,
110
+ AspectRatio.FourThree,
111
+ AspectRatio.FiveFour,
112
+ AspectRatio.ThreeTwo,
113
+ AspectRatio.SixteenTen,
114
+ AspectRatio.SixteenNine,
115
+ AspectRatio.EighteenNine,
116
+ AspectRatio.TwentyOneNine,
117
+ AspectRatio.ThirtyTwoNine,
118
+ AspectRatio.NineSixteen,
119
+ AspectRatio.NineEighteen
120
+ ];
121
+ function fallback(input, options) {
122
+ if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;
123
+ const trimmed = input.trim();
124
+ return trimmed.length > 0 ? trimmed : null;
125
+ }
126
+ function normalizeLookupKey(value) {
127
+ return value.trim().toLowerCase().replace(WHITESPACE_PATTERN, "");
128
+ }
129
+ function greatestCommonDivisor(a, b) {
130
+ let x = a;
131
+ let y = b;
132
+ while (y !== 0) [x, y] = [y, x % y];
133
+ return x;
134
+ }
135
+ function reduceToCanonical(width, height) {
136
+ const divisor = greatestCommonDivisor(width, height);
137
+ const w = width / divisor;
138
+ const h = height / divisor;
139
+ return ALL.find((r) => r.width === w && r.height === h) ?? null;
140
+ }
141
+ function matchByDecimal(ratio) {
142
+ let best = null;
143
+ let bestDifference = null;
144
+ for (const candidate of ALL) {
145
+ const difference = candidate.ratio.minus(ratio).abs();
146
+ if (bestDifference === null || difference.compareTo(bestDifference) < 0) {
147
+ bestDifference = difference;
148
+ best = candidate;
149
+ }
150
+ }
151
+ if (bestDifference === null || bestDifference.compareTo(DECIMAL_TOLERANCE) > 0) return null;
152
+ return best;
153
+ }
154
+ const LOOKUP = /* @__PURE__ */ new Map();
155
+ for (const ratio of ALL) {
156
+ for (const key of [
157
+ ratio.value,
158
+ `${ratio.width}/${ratio.height}`,
159
+ `${ratio.width}x${ratio.height}`
160
+ ]) {
161
+ const folded = normalizeLookupKey(key);
162
+ if (folded.length > 0 && !LOOKUP.has(folded)) LOOKUP.set(folded, ratio);
163
+ }
164
+ }
165
+ export {
166
+ AspectRatio
167
+ };
168
+ //# sourceMappingURL=aspect-ratio.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/product/aspect-ratio.ts"],
4
+ "sourcesContent": ["import type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\nimport { Decimal } from \"../internal/decimal.js\";\nimport { sanitizeInput } from \"../internal/input-sanitization.js\";\n\n/** Options shared by the string-in, string-out helpers. */\nexport interface AspectRatioFormatOptions {\n /** Return the trimmed original input instead of `null` when the input is invalid. */\n fallbackToTrimmedInputWhenInvalid?: boolean;\n}\n\nconst INTEGER_COLON_PATTERN = /^\\s*(\\d{1,3})\\s*[:xX\u00D7/]\\s*(\\d{1,3})\\s*$/u;\nconst DECIMAL_PATTERN = /^\\s*(\\d+(?:[.,]\\d+)?)\\s*(?::\\s*1)?\\s*$/u;\nconst WHITESPACE_PATTERN = /\\s+/gu;\n\n/** Widest gap between a decimal input and a canonical ratio that still counts as a match. */\nconst DECIMAL_TOLERANCE = Decimal.parse(\"0.02\")!;\n\n/**\n * A display or image aspect ratio (`bildformat`) expressed as `width:height`, e.g. `16:9`,\n * `4:3`, `21:9`. Accepts colon, slash and `x`-separated forms, as well as decimal ratios such\n * as `1.78` or `1.78:1`. Decimal inputs snap to the closest known ratio within a small\n * tolerance, so `1.7777` and `16:9` do not become separate values.\n */\nexport class AspectRatio {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Aspect Ratio\",\n localizedName: \"Bildformat\",\n emoji: \"\uD83D\uDDA5\uFE0F\",\n sources: Object.freeze([\"https://www.itu.int/rec/R-REC-BT.709\"]),\n });\n\n /** Canonical width:height form, e.g. `16:9`. */\n readonly value: string;\n\n /** Width component, e.g. `16`. */\n readonly width: number;\n\n /** Height component, e.g. `9`. */\n readonly height: number;\n\n /** Common name when available, e.g. `Widescreen` for `16:9`; otherwise `null`. */\n readonly commonName: string | null;\n\n private constructor(value: string, width: number, height: number, commonName: string | null) {\n this.value = value;\n this.width = width;\n this.height = height;\n this.commonName = commonName;\n }\n\n static readonly OneToOne = new AspectRatio(\"1:1\", 1, 1, \"Square\");\n static readonly FourThree = new AspectRatio(\"4:3\", 4, 3, \"Standard\");\n static readonly FiveFour = new AspectRatio(\"5:4\", 5, 4, \"Computer Standard\");\n static readonly ThreeTwo = new AspectRatio(\"3:2\", 3, 2, \"Classic 35 mm\");\n static readonly SixteenTen = new AspectRatio(\"16:10\", 16, 10, \"Widescreen Computer\");\n static readonly SixteenNine = new AspectRatio(\"16:9\", 16, 9, \"Widescreen\");\n static readonly EighteenNine = new AspectRatio(\"18:9\", 18, 9, \"Univisium\");\n static readonly TwentyOneNine = new AspectRatio(\"21:9\", 21, 9, \"Ultrawide\");\n static readonly ThirtyTwoNine = new AspectRatio(\"32:9\", 32, 9, \"Super Ultrawide\");\n static readonly NineSixteen = new AspectRatio(\"9:16\", 9, 16, \"Vertical\");\n static readonly NineEighteen = new AspectRatio(\"9:18\", 9, 18, \"Vertical Tall\");\n\n /** All 11 predefined ratios, in canonical order. */\n static get all(): readonly AspectRatio[] {\n return ALL;\n }\n\n /** Numeric ratio ({@link width} divided by {@link height}), e.g. `1.7777\u2026`. */\n get ratio(): Decimal {\n return Decimal.fromNumber(this.width)!.dividedBy(Decimal.fromNumber(this.height)!);\n }\n\n /**\n * Resolves a ratio from a `width:height`, `width/height` or `width x height` form, or from a\n * decimal ratio close enough to one of the canonical values.\n */\n static tryParse(input: string | null | undefined): AspectRatio | null {\n if (input == null) return null;\n\n const trimmed = sanitizeInput(input).trim();\n if (trimmed.length === 0) return null;\n\n const fromLookup = LOOKUP.get(normalizeLookupKey(trimmed));\n if (fromLookup !== undefined) return fromLookup;\n\n const integers = INTEGER_COLON_PATTERN.exec(trimmed);\n if (integers !== null) {\n const width = Number(integers[1]);\n const height = Number(integers[2]);\n if (width > 0 && height > 0) return reduceToCanonical(width, height);\n return null;\n }\n\n const decimals = DECIMAL_PATTERN.exec(trimmed);\n if (decimals !== null) {\n const ratio = Decimal.parse(decimals[1]!.replace(\",\", \".\"));\n if (ratio !== null && !ratio.isZero && !ratio.isNegative) return matchByDecimal(ratio);\n }\n\n return null;\n }\n\n static parse(input: string): AspectRatio {\n const result = AspectRatio.tryParse(input);\n if (result === null) throw new Error(\"Invalid aspect ratio.\");\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return AspectRatio.tryParse(input) !== null;\n }\n\n /** Returns the canonical width:height form, e.g. `16:9`. */\n static format(\n input: string | null | undefined,\n options?: AspectRatioFormatOptions,\n ): string | null {\n const r = AspectRatio.tryParse(input);\n if (r !== null) return r.value;\n return fallback(input, options);\n }\n\n /** Returns the canonical width:height form, e.g. `16:9`. */\n static normalize(\n input: string | null | undefined,\n options?: AspectRatioFormatOptions,\n ): string | null {\n const r = AspectRatio.tryParse(input);\n if (r !== null) return r.value;\n return fallback(input, options);\n }\n\n static isNormalized(input: string | null | undefined): boolean {\n return input != null && AspectRatio.normalize(input) === input;\n }\n\n toNormalizedString(): string {\n return this.value;\n }\n\n toString(): string {\n return this.value;\n }\n\n equals(other: AspectRatio | null | undefined): boolean {\n return other != null && this.width === other.width && this.height === other.height;\n }\n\n compareTo(other: AspectRatio | null | undefined): number {\n if (other == null) return 1;\n return this.ratio.compareTo(other.ratio);\n }\n}\n\nconst ALL: readonly AspectRatio[] = [\n AspectRatio.OneToOne,\n AspectRatio.FourThree,\n AspectRatio.FiveFour,\n AspectRatio.ThreeTwo,\n AspectRatio.SixteenTen,\n AspectRatio.SixteenNine,\n AspectRatio.EighteenNine,\n AspectRatio.TwentyOneNine,\n AspectRatio.ThirtyTwoNine,\n AspectRatio.NineSixteen,\n AspectRatio.NineEighteen,\n];\n\nfunction fallback(\n input: string | null | undefined,\n options?: AspectRatioFormatOptions,\n): string | null {\n if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction normalizeLookupKey(value: string): string {\n return value.trim().toLowerCase().replace(WHITESPACE_PATTERN, \"\");\n}\n\nfunction greatestCommonDivisor(a: number, b: number): number {\n let x = a;\n let y = b;\n while (y !== 0) [x, y] = [y, x % y];\n return x;\n}\n\nfunction reduceToCanonical(width: number, height: number): AspectRatio | null {\n const divisor = greatestCommonDivisor(width, height);\n const w = width / divisor;\n const h = height / divisor;\n return ALL.find((r) => r.width === w && r.height === h) ?? null;\n}\n\nfunction matchByDecimal(ratio: Decimal): AspectRatio | null {\n let best: AspectRatio | null = null;\n let bestDifference: Decimal | null = null;\n for (const candidate of ALL) {\n const difference = candidate.ratio.minus(ratio).abs();\n if (bestDifference === null || difference.compareTo(bestDifference) < 0) {\n bestDifference = difference;\n best = candidate;\n }\n }\n if (bestDifference === null || bestDifference.compareTo(DECIMAL_TOLERANCE) > 0) return null;\n return best;\n}\n\nconst LOOKUP = new Map<string, AspectRatio>();\nfor (const ratio of ALL) {\n for (const key of [\n ratio.value,\n `${ratio.width}/${ratio.height}`,\n `${ratio.width}x${ratio.height}`,\n ]) {\n const folded = normalizeLookupKey(key);\n if (folded.length > 0 && !LOOKUP.has(folded)) LOOKUP.set(folded, ratio);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,164 @@
1
+ import { Decimal } from "../internal/decimal.js";
2
+ import { sanitizeInput } from "../internal/input-sanitization.js";
3
+ import { tryParseNumberOnly } from "../internal/measurement-unit-parser.js";
4
+ import { formatQuantityDecimal } from "../internal/quantity.js";
5
+ import { ElectricCharge } from "../measurement/electric-charge.js";
6
+ import { Energy } from "../measurement/energy.js";
7
+ class BatteryCapacity {
8
+ static typeInfo = Object.freeze({
9
+ englishName: "Battery Capacity",
10
+ localizedName: "Batterikapacitet",
11
+ emoji: "\u{1F50B}",
12
+ sources: Object.freeze([])
13
+ });
14
+ /** The charge, when parsed from charge units; `null` when parsed from energy units. */
15
+ charge;
16
+ /** The energy, when parsed from energy units; `null` when parsed from charge units. */
17
+ energy;
18
+ /** Display form preserving the parsed unit, e.g. `5000 mAh` or `50 Wh`. */
19
+ value;
20
+ constructor(charge, energy, displayValue) {
21
+ this.charge = charge;
22
+ this.energy = energy;
23
+ this.value = displayValue;
24
+ }
25
+ static ofCharge(charge, displayValue) {
26
+ return new BatteryCapacity(charge, null, displayValue ?? charge.toString());
27
+ }
28
+ static ofEnergy(energy, displayValue) {
29
+ return new BatteryCapacity(null, energy, displayValue ?? energy.toString());
30
+ }
31
+ /** Creates a capacity from milliampere-hours. The value must be positive. */
32
+ static fromMilliampereHours(value) {
33
+ return BatteryCapacity.ofCharge(ElectricCharge.fromMilliampereHours(positive(value)));
34
+ }
35
+ /** Creates a capacity from ampere-hours. The value must be positive. */
36
+ static fromAmpereHours(value) {
37
+ return BatteryCapacity.ofCharge(ElectricCharge.fromAmpereHours(positive(value)));
38
+ }
39
+ /** Creates a capacity from watt-hours. The value must be positive. */
40
+ static fromWattHours(value) {
41
+ return BatteryCapacity.ofEnergy(Energy.fromWattHours(positive(value)));
42
+ }
43
+ /** Creates a capacity from kilowatt-hours. The value must be positive. */
44
+ static fromKilowattHours(value) {
45
+ return BatteryCapacity.ofEnergy(Energy.fromKilowattHours(positive(value)));
46
+ }
47
+ static tryParse(input) {
48
+ if (input == null || input.trim().length === 0) return null;
49
+ const trimmed = sanitizeInput(input).trim();
50
+ const bare = tryParseNumberOnly(trimmed);
51
+ if (bare !== null) {
52
+ if (bare.compareTo(Decimal.zero) <= 0) return null;
53
+ const display = `${formatQuantityDecimal(bare)} mAh`;
54
+ return BatteryCapacity.ofCharge(ElectricCharge.parse(display), display);
55
+ }
56
+ const charge = ElectricCharge.tryParse(trimmed);
57
+ if (charge !== null) {
58
+ if (charge.ampereHours <= 0) return null;
59
+ return BatteryCapacity.ofCharge(charge);
60
+ }
61
+ const energy = Energy.tryParse(trimmed);
62
+ if (energy !== null) {
63
+ if (energy.joules <= 0) return null;
64
+ return BatteryCapacity.ofEnergy(energy);
65
+ }
66
+ return null;
67
+ }
68
+ static parse(input) {
69
+ const result = BatteryCapacity.tryParse(input);
70
+ if (result === null) throw new Error("Invalid battery capacity.");
71
+ return result;
72
+ }
73
+ static isValid(input) {
74
+ return BatteryCapacity.tryParse(input) !== null;
75
+ }
76
+ /** Returns the display form, e.g. `5000 mAh` or `50 Wh`. Returns `null` when invalid. */
77
+ static format(input, options) {
78
+ const parsed = BatteryCapacity.tryParse(input);
79
+ if (parsed !== null) return parsed.value;
80
+ return fallback(input, options);
81
+ }
82
+ /** Returns the value in base units, e.g. `18000 C` or `180000 J`. Returns `null` when invalid. */
83
+ static normalize(input, options) {
84
+ const parsed = BatteryCapacity.tryParse(input);
85
+ if (parsed !== null) return parsed.toNormalizedString();
86
+ return fallback(input, options);
87
+ }
88
+ static isNormalized(input) {
89
+ return input != null && BatteryCapacity.normalize(input) === input;
90
+ }
91
+ toNormalizedString() {
92
+ return this.charge !== null ? this.charge.toNormalizedString() : this.energy.toNormalizedString();
93
+ }
94
+ toString() {
95
+ return this.value;
96
+ }
97
+ /** Returns the value in the most readable unit, e.g. `5000 mAh` or `50 Wh`. */
98
+ toNaturalString(decimals) {
99
+ return this.charge !== null ? this.charge.toNaturalString(decimals) : this.energy.toNaturalString(decimals);
100
+ }
101
+ /** Adding a charge-based capacity to an energy-based one throws, as the two do not convert. */
102
+ plus(other) {
103
+ if (this.charge !== null && other.charge !== null) {
104
+ return BatteryCapacity.ofCharge(this.charge.plus(other.charge));
105
+ }
106
+ if (this.energy !== null && other.energy !== null) {
107
+ return BatteryCapacity.ofEnergy(this.energy.plus(other.energy));
108
+ }
109
+ throw new Error("Cannot combine charge-based and energy-based battery capacities.");
110
+ }
111
+ minus(other) {
112
+ if (this.charge !== null && other.charge !== null) {
113
+ return BatteryCapacity.ofCharge(this.charge.minus(other.charge));
114
+ }
115
+ if (this.energy !== null && other.energy !== null) {
116
+ return BatteryCapacity.ofEnergy(this.energy.minus(other.energy));
117
+ }
118
+ throw new Error("Cannot combine charge-based and energy-based battery capacities.");
119
+ }
120
+ times(factor) {
121
+ const amount = factor instanceof Decimal ? factor : decimalOf(factor);
122
+ return this.charge !== null ? BatteryCapacity.ofCharge(this.charge.times(amount)) : BatteryCapacity.ofEnergy(this.energy.times(amount));
123
+ }
124
+ dividedBy(divisor) {
125
+ const amount = divisor instanceof Decimal ? divisor : decimalOf(divisor);
126
+ return this.charge !== null ? BatteryCapacity.ofCharge(this.charge.dividedBy(amount)) : BatteryCapacity.ofEnergy(this.energy.dividedBy(amount));
127
+ }
128
+ negated() {
129
+ return this.charge !== null ? BatteryCapacity.ofCharge(this.charge.negated()) : BatteryCapacity.ofEnergy(this.energy.negated());
130
+ }
131
+ /** Capacities of different kinds are never equal, even when they describe the same battery. */
132
+ equals(other) {
133
+ if (other == null) return false;
134
+ if (this.charge !== null && other.charge !== null) return this.charge.equals(other.charge);
135
+ if (this.energy !== null && other.energy !== null) return this.energy.equals(other.energy);
136
+ return false;
137
+ }
138
+ /** Orders by normalized string, which keeps charge and energy values apart. */
139
+ compareTo(other) {
140
+ if (other == null) return 1;
141
+ const a = this.toNormalizedString();
142
+ const b = other.toNormalizedString();
143
+ return a < b ? -1 : a > b ? 1 : 0;
144
+ }
145
+ }
146
+ function fallback(input, options) {
147
+ if (options?.fallbackToTrimmedInputWhenInvalid !== true || input == null) return null;
148
+ const trimmed = input.trim();
149
+ return trimmed.length > 0 ? trimmed : null;
150
+ }
151
+ function decimalOf(value) {
152
+ const parsed = Decimal.fromNumber(value);
153
+ if (parsed === null) throw new Error(`Value cannot be represented as a capacity: ${value}`);
154
+ return parsed;
155
+ }
156
+ function positive(value) {
157
+ const amount = value instanceof Decimal ? value : decimalOf(value);
158
+ if (amount.compareTo(Decimal.zero) <= 0) throw new Error("Battery capacity must be positive.");
159
+ return amount;
160
+ }
161
+ export {
162
+ BatteryCapacity
163
+ };
164
+ //# sourceMappingURL=battery-capacity.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/product/battery-capacity.ts"],
4
+ "sourcesContent": ["import { Decimal } from \"../internal/decimal.js\";\nimport { sanitizeInput } from \"../internal/input-sanitization.js\";\nimport { tryParseNumberOnly } from \"../internal/measurement-unit-parser.js\";\nimport { formatQuantityDecimal } from \"../internal/quantity.js\";\nimport { ElectricCharge } from \"../measurement/electric-charge.js\";\nimport { Energy } from \"../measurement/energy.js\";\nimport type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\n\n/** Options for {@link BatteryCapacity.format} and {@link BatteryCapacity.normalize}. */\nexport interface BatteryCapacityFormatOptions {\n fallbackToTrimmedInputWhenInvalid?: boolean;\n}\n\n/**\n * Battery capacity (`batterikapacitet`) expressed either as charge (`5000 mAh`, `5 Ah`) or as\n * energy (`50 Wh`, `75 kWh`). A bare number is read as milliampere-hours. Which of the two a\n * value carries depends on the unit it was parsed from, and the two never mix.\n */\nexport class BatteryCapacity {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Battery Capacity\",\n localizedName: \"Batterikapacitet\",\n emoji: \"\uD83D\uDD0B\",\n sources: Object.freeze([]),\n });\n\n /** The charge, when parsed from charge units; `null` when parsed from energy units. */\n readonly charge: ElectricCharge | null;\n\n /** The energy, when parsed from energy units; `null` when parsed from charge units. */\n readonly energy: Energy | null;\n\n /** Display form preserving the parsed unit, e.g. `5000 mAh` or `50 Wh`. */\n readonly value: string;\n\n private constructor(charge: ElectricCharge | null, energy: Energy | null, displayValue: string) {\n this.charge = charge;\n this.energy = energy;\n this.value = displayValue;\n }\n\n private static ofCharge(charge: ElectricCharge, displayValue?: string): BatteryCapacity {\n return new BatteryCapacity(charge, null, displayValue ?? charge.toString());\n }\n\n private static ofEnergy(energy: Energy, displayValue?: string): BatteryCapacity {\n return new BatteryCapacity(null, energy, displayValue ?? energy.toString());\n }\n\n /** Creates a capacity from milliampere-hours. The value must be positive. */\n static fromMilliampereHours(value: number | Decimal): BatteryCapacity {\n return BatteryCapacity.ofCharge(ElectricCharge.fromMilliampereHours(positive(value)));\n }\n\n /** Creates a capacity from ampere-hours. The value must be positive. */\n static fromAmpereHours(value: number | Decimal): BatteryCapacity {\n return BatteryCapacity.ofCharge(ElectricCharge.fromAmpereHours(positive(value)));\n }\n\n /** Creates a capacity from watt-hours. The value must be positive. */\n static fromWattHours(value: number | Decimal): BatteryCapacity {\n return BatteryCapacity.ofEnergy(Energy.fromWattHours(positive(value)));\n }\n\n /** Creates a capacity from kilowatt-hours. The value must be positive. */\n static fromKilowattHours(value: number | Decimal): BatteryCapacity {\n return BatteryCapacity.ofEnergy(Energy.fromKilowattHours(positive(value)));\n }\n\n static tryParse(input: string | null | undefined): BatteryCapacity | null {\n if (input == null || input.trim().length === 0) return null;\n const trimmed = sanitizeInput(input).trim();\n\n const bare = tryParseNumberOnly(trimmed);\n if (bare !== null) {\n if (bare.compareTo(Decimal.zero) <= 0) return null;\n const display = `${formatQuantityDecimal(bare)} mAh`;\n return BatteryCapacity.ofCharge(ElectricCharge.parse(display), display);\n }\n\n const charge = ElectricCharge.tryParse(trimmed);\n if (charge !== null) {\n if (charge.ampereHours <= 0) return null;\n return BatteryCapacity.ofCharge(charge);\n }\n\n const energy = Energy.tryParse(trimmed);\n if (energy !== null) {\n if (energy.joules <= 0) return null;\n return BatteryCapacity.ofEnergy(energy);\n }\n\n return null;\n }\n\n static parse(input: string): BatteryCapacity {\n const result = BatteryCapacity.tryParse(input);\n if (result === null) throw new Error(\"Invalid battery capacity.\");\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return BatteryCapacity.tryParse(input) !== null;\n }\n\n /** Returns the display form, e.g. `5000 mAh` or `50 Wh`. Returns `null` when invalid. */\n static format(\n input: string | null | undefined,\n options?: BatteryCapacityFormatOptions,\n ): string | null {\n const parsed = BatteryCapacity.tryParse(input);\n if (parsed !== null) return parsed.value;\n return fallback(input, options);\n }\n\n /** Returns the value in base units, e.g. `18000 C` or `180000 J`. Returns `null` when invalid. */\n static normalize(\n input: string | null | undefined,\n options?: BatteryCapacityFormatOptions,\n ): string | null {\n const parsed = BatteryCapacity.tryParse(input);\n if (parsed !== null) return parsed.toNormalizedString();\n return fallback(input, options);\n }\n\n static isNormalized(input: string | null | undefined): boolean {\n return input != null && BatteryCapacity.normalize(input) === input;\n }\n\n toNormalizedString(): string {\n return this.charge !== null\n ? this.charge.toNormalizedString()\n : this.energy!.toNormalizedString();\n }\n\n toString(): string {\n return this.value;\n }\n\n /** Returns the value in the most readable unit, e.g. `5000 mAh` or `50 Wh`. */\n toNaturalString(decimals?: number): string {\n return this.charge !== null\n ? this.charge.toNaturalString(decimals)\n : this.energy!.toNaturalString(decimals);\n }\n\n /** Adding a charge-based capacity to an energy-based one throws, as the two do not convert. */\n plus(other: BatteryCapacity): BatteryCapacity {\n if (this.charge !== null && other.charge !== null) {\n return BatteryCapacity.ofCharge(this.charge.plus(other.charge));\n }\n if (this.energy !== null && other.energy !== null) {\n return BatteryCapacity.ofEnergy(this.energy.plus(other.energy));\n }\n throw new Error(\"Cannot combine charge-based and energy-based battery capacities.\");\n }\n\n minus(other: BatteryCapacity): BatteryCapacity {\n if (this.charge !== null && other.charge !== null) {\n return BatteryCapacity.ofCharge(this.charge.minus(other.charge));\n }\n if (this.energy !== null && other.energy !== null) {\n return BatteryCapacity.ofEnergy(this.energy.minus(other.energy));\n }\n throw new Error(\"Cannot combine charge-based and energy-based battery capacities.\");\n }\n\n times(factor: number | Decimal): BatteryCapacity {\n const amount = factor instanceof Decimal ? factor : decimalOf(factor);\n return this.charge !== null\n ? BatteryCapacity.ofCharge(this.charge.times(amount))\n : BatteryCapacity.ofEnergy(this.energy!.times(amount));\n }\n\n dividedBy(divisor: number | Decimal): BatteryCapacity {\n const amount = divisor instanceof Decimal ? divisor : decimalOf(divisor);\n return this.charge !== null\n ? BatteryCapacity.ofCharge(this.charge.dividedBy(amount))\n : BatteryCapacity.ofEnergy(this.energy!.dividedBy(amount));\n }\n\n negated(): BatteryCapacity {\n return this.charge !== null\n ? BatteryCapacity.ofCharge(this.charge.negated())\n : BatteryCapacity.ofEnergy(this.energy!.negated());\n }\n\n /** Capacities of different kinds are never equal, even when they describe the same battery. */\n equals(other: BatteryCapacity | null | undefined): boolean {\n if (other == null) return false;\n if (this.charge !== null && other.charge !== null) return this.charge.equals(other.charge);\n if (this.energy !== null && other.energy !== null) return this.energy.equals(other.energy);\n return false;\n }\n\n /** Orders by normalized string, which keeps charge and energy values apart. */\n compareTo(other: BatteryCapacity | null | undefined): number {\n if (other == null) return 1;\n const a = this.toNormalizedString();\n const b = other.toNormalizedString();\n return a < b ? -1 : a > b ? 1 : 0;\n }\n}\n\nfunction fallback(\n input: string | null | undefined,\n options?: BatteryCapacityFormatOptions,\n): string | null {\n if (options?.fallbackToTrimmedInputWhenInvalid !== true || input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction decimalOf(value: number): Decimal {\n const parsed = Decimal.fromNumber(value);\n if (parsed === null) throw new Error(`Value cannot be represented as a capacity: ${value}`);\n return parsed;\n}\n\nfunction positive(value: number | Decimal): Decimal {\n const amount = value instanceof Decimal ? value : decimalOf(value);\n if (amount.compareTo(Decimal.zero) <= 0) throw new Error(\"Battery capacity must be positive.\");\n return amount;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,239 @@
1
+ import { PrimitivesDefaults } from "../primitives-defaults.js";
2
+ import { foldOrdinalIgnoreCase } from "../internal/case-folding.js";
3
+ import { sanitizeInput } from "../internal/input-sanitization.js";
4
+ import { Decimal } from "../internal/decimal.js";
5
+ class BatteryChemistry {
6
+ static typeInfo = Object.freeze({
7
+ englishName: "Battery Chemistry",
8
+ localizedName: "Batterikemi",
9
+ emoji: "\u{1F50B}",
10
+ sources: Object.freeze(["https://www.iec.ch/"])
11
+ });
12
+ value;
13
+ englishName;
14
+ localizedName;
15
+ isRechargeable;
16
+ nominalCellVoltageV;
17
+ /** @internal Position in the canonical .NET ordering, used by {@link compareTo}. */
18
+ rank;
19
+ constructor(def) {
20
+ this.value = def.value;
21
+ this.englishName = def.englishName;
22
+ this.localizedName = def.localizedName;
23
+ this.isRechargeable = def.isRechargeable;
24
+ this.nominalCellVoltageV = def.nominalCellVoltageV;
25
+ this.rank = def.rank;
26
+ }
27
+ static LithiumIon = new BatteryChemistry({
28
+ value: "Li-ion",
29
+ englishName: "Lithium-ion",
30
+ localizedName: "Litium-jon",
31
+ isRechargeable: true,
32
+ nominalCellVoltageV: Decimal.parse("3.7"),
33
+ rank: 4
34
+ });
35
+ static LiFePO4 = new BatteryChemistry({
36
+ value: "LiFePO4",
37
+ englishName: "Lithium iron phosphate",
38
+ localizedName: "Litiumj\xE4rnfosfat",
39
+ isRechargeable: true,
40
+ nominalCellVoltageV: Decimal.parse("3.2"),
41
+ rank: 5
42
+ });
43
+ static LithiumPolymer = new BatteryChemistry({
44
+ value: "LiPo",
45
+ englishName: "Lithium polymer",
46
+ localizedName: "Litium-polymer",
47
+ isRechargeable: true,
48
+ nominalCellVoltageV: Decimal.parse("3.7"),
49
+ rank: 6
50
+ });
51
+ static LithiumTitanate = new BatteryChemistry({
52
+ value: "LTO",
53
+ englishName: "Lithium titanate",
54
+ localizedName: "Litium-titanat",
55
+ isRechargeable: true,
56
+ nominalCellVoltageV: Decimal.parse("2.4"),
57
+ rank: 3
58
+ });
59
+ static NickelMetalHydride = new BatteryChemistry({
60
+ value: "NiMH",
61
+ englishName: "Nickel-metal hydride",
62
+ localizedName: "Nickel-metallhydrid",
63
+ isRechargeable: true,
64
+ nominalCellVoltageV: Decimal.parse("1.2"),
65
+ rank: 8
66
+ });
67
+ static NickelCadmium = new BatteryChemistry({
68
+ value: "NiCd",
69
+ englishName: "Nickel-cadmium",
70
+ localizedName: "Nickel-kadmium",
71
+ isRechargeable: true,
72
+ nominalCellVoltageV: Decimal.parse("1.2"),
73
+ rank: 7
74
+ });
75
+ static FloodedLeadAcid = new BatteryChemistry({
76
+ value: "Pb-Acid",
77
+ englishName: "Flooded lead-acid",
78
+ localizedName: "Blybatteri (flytande syra)",
79
+ isRechargeable: true,
80
+ nominalCellVoltageV: Decimal.parse("2.0"),
81
+ rank: 9
82
+ });
83
+ static AbsorbedGlassMat = new BatteryChemistry({
84
+ value: "AGM",
85
+ englishName: "Absorbed Glass Mat",
86
+ localizedName: "AGM-batteri",
87
+ isRechargeable: true,
88
+ nominalCellVoltageV: Decimal.parse("2.0"),
89
+ rank: 0
90
+ });
91
+ static GelLeadAcid = new BatteryChemistry({
92
+ value: "Gel",
93
+ englishName: "Gel lead-acid",
94
+ localizedName: "Gelbatteri",
95
+ isRechargeable: true,
96
+ nominalCellVoltageV: Decimal.parse("2.0"),
97
+ rank: 2
98
+ });
99
+ static Alkaline = new BatteryChemistry({
100
+ value: "Alkaline",
101
+ englishName: "Alkaline",
102
+ localizedName: "Alkaliskt",
103
+ isRechargeable: false,
104
+ nominalCellVoltageV: Decimal.parse("1.5"),
105
+ rank: 1
106
+ });
107
+ static ZincCarbon = new BatteryChemistry({
108
+ value: "Zinc-carbon",
109
+ englishName: "Zinc-carbon",
110
+ localizedName: "Zinkkol",
111
+ isRechargeable: false,
112
+ nominalCellVoltageV: Decimal.parse("1.5"),
113
+ rank: 10
114
+ });
115
+ /** All 11 values, in canonical order. */
116
+ static get all() {
117
+ return ALL;
118
+ }
119
+ /** Name in the language selected by {@link PrimitivesDefaults.uiCulture}. */
120
+ get displayName() {
121
+ return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
122
+ }
123
+ /** Resolves a value from its canonical name, localized name, code or any known alias. */
124
+ static tryParse(input) {
125
+ if (input == null) return null;
126
+ const key = normalizeLookupKey(sanitizeInput(input).trim());
127
+ if (key.length === 0) return null;
128
+ return LOOKUP.get(key) ?? null;
129
+ }
130
+ static parse(input) {
131
+ const result = BatteryChemistry.tryParse(input);
132
+ if (result === null) throw new Error(`Invalid battery chemistry.`);
133
+ return result;
134
+ }
135
+ static isValid(input) {
136
+ return BatteryChemistry.tryParse(input) !== null;
137
+ }
138
+ static format(input, options) {
139
+ const r = BatteryChemistry.tryParse(input);
140
+ if (r !== null)
141
+ return PrimitivesDefaults.useLocalizedDisplayNames ? r.localizedName : r.englishName;
142
+ return fallback(input, options);
143
+ }
144
+ static normalize(input, options) {
145
+ const r = BatteryChemistry.tryParse(input);
146
+ if (r !== null) return r.value;
147
+ return fallback(input, options);
148
+ }
149
+ static isNormalized(input) {
150
+ return input != null && BatteryChemistry.normalize(input) === input;
151
+ }
152
+ toNormalizedString() {
153
+ return this.value;
154
+ }
155
+ toString() {
156
+ return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
157
+ }
158
+ toDisplayString() {
159
+ return this.displayName;
160
+ }
161
+ toEnglishString() {
162
+ return this.englishName;
163
+ }
164
+ toLocalString() {
165
+ return this.localizedName;
166
+ }
167
+ equals(other) {
168
+ return other != null && this.value === other.value;
169
+ }
170
+ compareTo(other) {
171
+ if (other == null) return 1;
172
+ return this.rank < other.rank ? -1 : this.rank > other.rank ? 1 : 0;
173
+ }
174
+ }
175
+ const ALL = [
176
+ BatteryChemistry.LithiumIon,
177
+ BatteryChemistry.LiFePO4,
178
+ BatteryChemistry.LithiumPolymer,
179
+ BatteryChemistry.LithiumTitanate,
180
+ BatteryChemistry.NickelMetalHydride,
181
+ BatteryChemistry.NickelCadmium,
182
+ BatteryChemistry.FloodedLeadAcid,
183
+ BatteryChemistry.AbsorbedGlassMat,
184
+ BatteryChemistry.GelLeadAcid,
185
+ BatteryChemistry.Alkaline,
186
+ BatteryChemistry.ZincCarbon
187
+ ];
188
+ function fallback(input, options) {
189
+ if (!options?.fallbackToTrimmedInputWhenInvalid || input == null) return null;
190
+ const trimmed = input.trim();
191
+ return trimmed.length > 0 ? trimmed : null;
192
+ }
193
+ const KEY_PATTERN = /[\s\-_]+/g;
194
+ function normalizeLookupKey(value) {
195
+ let folded = value.trim().toLowerCase();
196
+ folded = folded.replaceAll("\xE5", "a").replaceAll("\xE4", "a").replaceAll("\xF6", "o");
197
+ folded = folded.replace(KEY_PATTERN, "");
198
+ return foldOrdinalIgnoreCase(folded);
199
+ }
200
+ const ALIASES = [
201
+ [BatteryChemistry.LithiumIon, ["liion", "lithiumion", "litiumion", "litiumjon"]],
202
+ [BatteryChemistry.LiFePO4, ["lfp", "lifepo4", "lithiumironphosphate", "litiumjarnfosfat"]],
203
+ [BatteryChemistry.LithiumPolymer, ["lipo", "lipoly", "lithiumpolymer", "litiumpolymer"]],
204
+ [BatteryChemistry.LithiumTitanate, ["lithiumtitanate", "litiumtitanat", "lto"]],
205
+ [BatteryChemistry.NickelMetalHydride, ["nickelmetalhydride", "nickelmetallhydrid", "nimh"]],
206
+ [BatteryChemistry.NickelCadmium, ["nicd", "nickelcadmium", "nickelkadmium"]],
207
+ [
208
+ BatteryChemistry.FloodedLeadAcid,
209
+ [
210
+ "bly",
211
+ "blybatteri",
212
+ "blybatteri(flytandesyra)",
213
+ "floodedleadacid",
214
+ "leadacid",
215
+ "pb",
216
+ "pbacid",
217
+ "vatcell",
218
+ "wetcell"
219
+ ]
220
+ ],
221
+ [
222
+ BatteryChemistry.AbsorbedGlassMat,
223
+ ["absorbedglassmat", "absorbentglassmat", "agm", "agmbatteri"]
224
+ ],
225
+ [BatteryChemistry.GelLeadAcid, ["gel", "gelbatteri", "gelcell", "gelleadacid"]],
226
+ [BatteryChemistry.Alkaline, ["alkaline", "alkalisk", "alkaliskt"]],
227
+ [BatteryChemistry.ZincCarbon, ["zinccarbon", "zinkkol"]]
228
+ ];
229
+ const LOOKUP = /* @__PURE__ */ new Map();
230
+ for (const [value, keys] of ALIASES) {
231
+ for (const key of keys) {
232
+ const folded = foldOrdinalIgnoreCase(key);
233
+ if (!LOOKUP.has(folded)) LOOKUP.set(folded, value);
234
+ }
235
+ }
236
+ export {
237
+ BatteryChemistry
238
+ };
239
+ //# sourceMappingURL=battery-chemistry.js.map