@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,212 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var percentage_exports = {};
20
+ __export(percentage_exports, {
21
+ Percentage: () => Percentage,
22
+ maskPercentage: () => maskPercentage
23
+ });
24
+ module.exports = __toCommonJS(percentage_exports);
25
+ var import_decimal = require("../internal/decimal.js");
26
+ var import_input_sanitization = require("../internal/input-sanitization.js");
27
+ var import_measurement_unit_parser = require("../internal/measurement-unit-parser.js");
28
+ var import_text_candidate = require("../text-scanning/text-candidate.js");
29
+ var import_text_candidate_category = require("../text-scanning/text-candidate-category.js");
30
+ var import_text_match_confidence = require("../text-scanning/text-match-confidence.js");
31
+ const ZERO = import_decimal.Decimal.parse("0");
32
+ const ONE = import_decimal.Decimal.parse("1");
33
+ const HUNDRED = import_decimal.Decimal.parse("100");
34
+ const MAX_INPUT_LENGTH = 100;
35
+ const WORD_SUFFIX_PATTERN = /^(?<sign>[+-])?\s*(?<number>[0-9][0-9 .,]*[0-9]|[0-9])\s+(?:procent|percent)\s*$/iu;
36
+ const SCAN_PATTERN = /(?<![\p{L}\p{N}_])(?:[+-]\s*)?\d+[0-9 .,]*\s*%/gu;
37
+ class Percentage {
38
+ constructor(fraction) {
39
+ this.fraction = fraction;
40
+ }
41
+ fraction;
42
+ static typeInfo = Object.freeze({
43
+ englishName: "Percentage",
44
+ localizedName: "Procent",
45
+ emoji: "\u{1F4CA}",
46
+ sources: Object.freeze(["https://www.bipm.org/en/publications/si-brochure"])
47
+ });
48
+ /** The value as a fraction from 0 to 1, e.g. `0.85` for 85%. */
49
+ get value() {
50
+ return this.fraction.toNumber();
51
+ }
52
+ /** The value on a 0–100 scale, e.g. `85` for 85%. */
53
+ get percent() {
54
+ return this.fraction.times(HUNDRED).toNumber();
55
+ }
56
+ /** Creates a percentage from a 0–1 fraction, e.g. `0.85` for 85%. */
57
+ static fromDecimal(value) {
58
+ return new Percentage(checkedFraction(toDecimal(value)));
59
+ }
60
+ /** Creates a percentage from a 0–100 value, e.g. `85` for 85%. */
61
+ static fromPercent(percent) {
62
+ const raw = toDecimal(percent);
63
+ if (raw.compareTo(ZERO) < 0 || raw.compareTo(HUNDRED) > 0) {
64
+ throw new Error("Percent must be in the range 0 to 100 inclusive.");
65
+ }
66
+ return new Percentage(raw.dividedBy(HUNDRED));
67
+ }
68
+ /** Creates a percentage from a 0–100 value; the same as {@link fromPercent}. */
69
+ static create(percent) {
70
+ return Percentage.fromPercent(percent);
71
+ }
72
+ static tryParse(input) {
73
+ if (input == null) return null;
74
+ const trimmed = (0, import_input_sanitization.sanitizeInput)(input).trim();
75
+ if (trimmed.length === 0 || trimmed.length > MAX_INPUT_LENGTH) return null;
76
+ let raw;
77
+ let isPercentScale = false;
78
+ if (trimmed.endsWith("%")) {
79
+ raw = (0, import_measurement_unit_parser.tryParseNumberOnly)(trimmed.slice(0, -1).trimEnd());
80
+ isPercentScale = true;
81
+ } else {
82
+ const match = WORD_SUFFIX_PATTERN.exec(trimmed);
83
+ if (match?.groups?.["number"] !== void 0) {
84
+ const sign = match.groups["sign"] ?? "";
85
+ raw = (0, import_measurement_unit_parser.tryParseNumberOnly)(sign + match.groups["number"]);
86
+ isPercentScale = true;
87
+ } else {
88
+ raw = (0, import_measurement_unit_parser.tryParseNumberOnly)(trimmed);
89
+ }
90
+ }
91
+ if (raw === null) return null;
92
+ if (isPercentScale) {
93
+ if (raw.compareTo(ZERO) < 0 || raw.compareTo(HUNDRED) > 0) return null;
94
+ return new Percentage(raw.dividedBy(HUNDRED));
95
+ }
96
+ if (raw.compareTo(ZERO) < 0) return null;
97
+ if (raw.compareTo(ONE) <= 0) return new Percentage(raw);
98
+ if (raw.compareTo(HUNDRED) <= 0) return new Percentage(raw.dividedBy(HUNDRED));
99
+ return null;
100
+ }
101
+ static parse(input) {
102
+ const result = Percentage.tryParse(input);
103
+ if (result === null) throw new Error("Invalid percentage.");
104
+ return result;
105
+ }
106
+ static isValid(input) {
107
+ return Percentage.tryParse(input) !== null;
108
+ }
109
+ /** Display form with a percent sign, e.g. `85%`. */
110
+ static format(input, options) {
111
+ const parsed = Percentage.tryParse(input);
112
+ if (parsed !== null) {
113
+ return options?.decimals !== void 0 ? formatPercent(parsed.fraction, options.decimals) : parsed.toString();
114
+ }
115
+ return fallback(input, options);
116
+ }
117
+ /** The fraction as an invariant decimal string, e.g. `0.85`. */
118
+ static normalize(input, options) {
119
+ const parsed = Percentage.tryParse(input);
120
+ if (parsed !== null) return parsed.toNormalizedString();
121
+ return fallback(input, options);
122
+ }
123
+ static isNormalized(input) {
124
+ return input != null && Percentage.normalize(input) === input;
125
+ }
126
+ /** The fraction, e.g. `0.85`. */
127
+ toNormalizedString() {
128
+ return this.fraction.toTrimmedString();
129
+ }
130
+ /** The value with a percent sign, e.g. `85%`. */
131
+ toString() {
132
+ return formatPercent(this.fraction);
133
+ }
134
+ plus(other) {
135
+ return new Percentage(checkedFraction(this.fraction.plus(other.fraction)));
136
+ }
137
+ minus(other) {
138
+ return new Percentage(checkedFraction(this.fraction.minus(other.fraction)));
139
+ }
140
+ times(factor) {
141
+ return new Percentage(checkedFraction(this.fraction.times(toDecimal(factor))));
142
+ }
143
+ dividedBy(divisor) {
144
+ return new Percentage(checkedFraction(this.fraction.dividedBy(toDecimal(divisor))));
145
+ }
146
+ compareTo(other) {
147
+ if (other == null) return 1;
148
+ return this.fraction.compareTo(other.fraction);
149
+ }
150
+ equals(other) {
151
+ return other != null && this.fraction.equals(other.fraction);
152
+ }
153
+ isLessThan(other) {
154
+ return this.compareTo(other) < 0;
155
+ }
156
+ isGreaterThan(other) {
157
+ return this.compareTo(other) > 0;
158
+ }
159
+ static findCandidatesInText(text) {
160
+ if (!text) return [];
161
+ const out = [];
162
+ const pattern = new RegExp(SCAN_PATTERN.source, SCAN_PATTERN.flags);
163
+ let match;
164
+ while ((match = pattern.exec(text)) !== null) {
165
+ const value = Percentage.tryParse(match[0]);
166
+ if (value === null) continue;
167
+ out.push(
168
+ new import_text_candidate.TextCandidate({
169
+ startIndex: match.index,
170
+ length: match[0].length,
171
+ originalText: match[0],
172
+ typeName: "Percentage",
173
+ category: import_text_candidate_category.TextCandidateCategory.Measurement,
174
+ normalizedForm: value.toNormalizedString(),
175
+ formattedForm: value.toString(),
176
+ maskedForm: maskPercentage(value),
177
+ confidence: import_text_match_confidence.TextMatchConfidence.Low,
178
+ value
179
+ })
180
+ );
181
+ }
182
+ return out;
183
+ }
184
+ }
185
+ function maskPercentage(percentage) {
186
+ void percentage;
187
+ return "***%";
188
+ }
189
+ function formatPercent(fraction, decimals) {
190
+ const percent = fraction.times(HUNDRED);
191
+ const rounded = decimals === void 0 ? percent : percent.round(decimals, "away-from-zero");
192
+ return `${rounded.toTrimmedString()}%`;
193
+ }
194
+ function checkedFraction(fraction) {
195
+ if (fraction.compareTo(ZERO) < 0 || fraction.compareTo(ONE) > 0) {
196
+ throw new Error("The operation produced a percentage outside the range 0% to 100%.");
197
+ }
198
+ return fraction;
199
+ }
200
+ function toDecimal(value) {
201
+ if (value instanceof import_decimal.Decimal) return value;
202
+ const parsed = import_decimal.Decimal.fromNumber(value);
203
+ if (parsed === null) throw new Error(`Value cannot be represented as a percentage: ${value}`);
204
+ return parsed;
205
+ }
206
+ function fallback(input, options) {
207
+ if (options?.fallbackToTrimmedInputWhenInvalid !== true) return null;
208
+ if (input == null) return null;
209
+ const trimmed = input.trim();
210
+ return trimmed.length > 0 ? trimmed : null;
211
+ }
212
+ //# sourceMappingURL=percentage.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/measurement/percentage.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 type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\nimport { TextCandidate } from \"../text-scanning/text-candidate.js\";\nimport { TextCandidateCategory } from \"../text-scanning/text-candidate-category.js\";\nimport { TextMatchConfidence } from \"../text-scanning/text-match-confidence.js\";\n\n/** Options for {@link Percentage.format} and {@link Percentage.normalize}. */\nexport interface PercentageFormatOptions {\n fallbackToTrimmedInputWhenInvalid?: boolean;\n /** Round to this many fractional digits, away from zero. */\n decimals?: number;\n}\n\nconst ZERO = Decimal.parse(\"0\")!;\nconst ONE = Decimal.parse(\"1\")!;\nconst HUNDRED = Decimal.parse(\"100\")!;\nconst MAX_INPUT_LENGTH = 100;\n\nconst WORD_SUFFIX_PATTERN =\n /^(?<sign>[+-])?\\s*(?<number>[0-9][0-9 .,]*[0-9]|[0-9])\\s+(?:procent|percent)\\s*$/iu;\n\nconst SCAN_PATTERN = /(?<![\\p{L}\\p{N}_])(?:[+-]\\s*)?\\d+[0-9 .,]*\\s*%/gu;\n\n/**\n * A proportion from 0 to 100 percent, held internally as a fraction from 0 to\n * 1.\n *\n * Input without a percent sign is read on whichever scale fits: `0.85` is a\n * fraction, `85` is a percentage, and anything above 100 is rejected. With a\n * sign or the word `procent` / `percent` the percentage scale is explicit.\n */\nexport class Percentage {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Percentage\",\n localizedName: \"Procent\",\n emoji: \"\uD83D\uDCCA\",\n sources: Object.freeze([\"https://www.bipm.org/en/publications/si-brochure\"]),\n });\n\n private constructor(private readonly fraction: Decimal) {}\n\n /** The value as a fraction from 0 to 1, e.g. `0.85` for 85%. */\n get value(): number {\n return this.fraction.toNumber();\n }\n\n /** The value on a 0\u2013100 scale, e.g. `85` for 85%. */\n get percent(): number {\n return this.fraction.times(HUNDRED).toNumber();\n }\n\n /** Creates a percentage from a 0\u20131 fraction, e.g. `0.85` for 85%. */\n static fromDecimal(value: number | Decimal): Percentage {\n return new Percentage(checkedFraction(toDecimal(value)));\n }\n\n /** Creates a percentage from a 0\u2013100 value, e.g. `85` for 85%. */\n static fromPercent(percent: number | Decimal): Percentage {\n const raw = toDecimal(percent);\n if (raw.compareTo(ZERO) < 0 || raw.compareTo(HUNDRED) > 0) {\n throw new Error(\"Percent must be in the range 0 to 100 inclusive.\");\n }\n return new Percentage(raw.dividedBy(HUNDRED));\n }\n\n /** Creates a percentage from a 0\u2013100 value; the same as {@link fromPercent}. */\n static create(percent: number | Decimal): Percentage {\n return Percentage.fromPercent(percent);\n }\n\n static tryParse(input: string | null | undefined): Percentage | null {\n if (input == null) return null;\n\n const trimmed = sanitizeInput(input).trim();\n if (trimmed.length === 0 || trimmed.length > MAX_INPUT_LENGTH) return null;\n\n let raw: Decimal | null;\n let isPercentScale = false;\n\n if (trimmed.endsWith(\"%\")) {\n raw = tryParseNumberOnly(trimmed.slice(0, -1).trimEnd());\n isPercentScale = true;\n } else {\n const match = WORD_SUFFIX_PATTERN.exec(trimmed);\n if (match?.groups?.[\"number\"] !== undefined) {\n const sign = match.groups[\"sign\"] ?? \"\";\n raw = tryParseNumberOnly(sign + match.groups[\"number\"]);\n isPercentScale = true;\n } else {\n raw = tryParseNumberOnly(trimmed);\n }\n }\n\n if (raw === null) return null;\n\n if (isPercentScale) {\n if (raw.compareTo(ZERO) < 0 || raw.compareTo(HUNDRED) > 0) return null;\n return new Percentage(raw.dividedBy(HUNDRED));\n }\n\n if (raw.compareTo(ZERO) < 0) return null;\n if (raw.compareTo(ONE) <= 0) return new Percentage(raw);\n if (raw.compareTo(HUNDRED) <= 0) return new Percentage(raw.dividedBy(HUNDRED));\n return null;\n }\n\n static parse(input: string): Percentage {\n const result = Percentage.tryParse(input);\n if (result === null) throw new Error(\"Invalid percentage.\");\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return Percentage.tryParse(input) !== null;\n }\n\n /** Display form with a percent sign, e.g. `85%`. */\n static format(\n input: string | null | undefined,\n options?: PercentageFormatOptions,\n ): string | null {\n const parsed = Percentage.tryParse(input);\n if (parsed !== null) {\n return options?.decimals !== undefined\n ? formatPercent(parsed.fraction, options.decimals)\n : parsed.toString();\n }\n return fallback(input, options);\n }\n\n /** The fraction as an invariant decimal string, e.g. `0.85`. */\n static normalize(\n input: string | null | undefined,\n options?: PercentageFormatOptions,\n ): string | null {\n const parsed = Percentage.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 && Percentage.normalize(input) === input;\n }\n\n /** The fraction, e.g. `0.85`. */\n toNormalizedString(): string {\n return this.fraction.toTrimmedString();\n }\n\n /** The value with a percent sign, e.g. `85%`. */\n toString(): string {\n return formatPercent(this.fraction);\n }\n\n plus(other: Percentage): Percentage {\n return new Percentage(checkedFraction(this.fraction.plus(other.fraction)));\n }\n\n minus(other: Percentage): Percentage {\n return new Percentage(checkedFraction(this.fraction.minus(other.fraction)));\n }\n\n times(factor: number | Decimal): Percentage {\n return new Percentage(checkedFraction(this.fraction.times(toDecimal(factor))));\n }\n\n dividedBy(divisor: number | Decimal): Percentage {\n return new Percentage(checkedFraction(this.fraction.dividedBy(toDecimal(divisor))));\n }\n\n compareTo(other: Percentage | null | undefined): number {\n if (other == null) return 1;\n return this.fraction.compareTo(other.fraction);\n }\n\n equals(other: Percentage | null | undefined): boolean {\n return other != null && this.fraction.equals(other.fraction);\n }\n\n isLessThan(other: Percentage): boolean {\n return this.compareTo(other) < 0;\n }\n\n isGreaterThan(other: Percentage): boolean {\n return this.compareTo(other) > 0;\n }\n\n static findCandidatesInText(text: string): readonly TextCandidate<Percentage>[] {\n if (!text) return [];\n\n const out: TextCandidate<Percentage>[] = [];\n const pattern = new RegExp(SCAN_PATTERN.source, SCAN_PATTERN.flags);\n let match: RegExpExecArray | null;\n\n while ((match = pattern.exec(text)) !== null) {\n const value = Percentage.tryParse(match[0]);\n if (value === null) continue;\n out.push(\n new TextCandidate<Percentage>({\n startIndex: match.index,\n length: match[0].length,\n originalText: match[0],\n typeName: \"Percentage\",\n category: TextCandidateCategory.Measurement,\n normalizedForm: value.toNormalizedString(),\n formattedForm: value.toString(),\n maskedForm: maskPercentage(value),\n confidence: TextMatchConfidence.Low,\n value,\n }),\n );\n }\n\n return out;\n }\n}\n\n/** Returns a masked percentage, e.g. `85%` becomes `***%`. */\nexport function maskPercentage(percentage: Percentage): string {\n void percentage;\n return \"***%\";\n}\n\nfunction formatPercent(fraction: Decimal, decimals?: number): string {\n const percent = fraction.times(HUNDRED);\n const rounded = decimals === undefined ? percent : percent.round(decimals, \"away-from-zero\");\n return `${rounded.toTrimmedString()}%`;\n}\n\nfunction checkedFraction(fraction: Decimal): Decimal {\n if (fraction.compareTo(ZERO) < 0 || fraction.compareTo(ONE) > 0) {\n throw new Error(\"The operation produced a percentage outside the range 0% to 100%.\");\n }\n return fraction;\n}\n\nfunction toDecimal(value: number | Decimal): Decimal {\n if (value instanceof Decimal) return value;\n const parsed = Decimal.fromNumber(value);\n if (parsed === null) throw new Error(`Value cannot be represented as a percentage: ${value}`);\n return parsed;\n}\n\nfunction fallback(\n input: string | null | undefined,\n options?: PercentageFormatOptions,\n): string | null {\n if (options?.fallbackToTrimmedInputWhenInvalid !== true) return null;\n if (input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var power_unit_exports = {};
20
+ __export(power_unit_exports, {
21
+ PowerUnit: () => PowerUnit
22
+ });
23
+ module.exports = __toCommonJS(power_unit_exports);
24
+ var import_decimal = require("../internal/decimal.js");
25
+ var import_measurement_unit = require("../internal/measurement-unit.js");
26
+ function factor(literal) {
27
+ const parsed = import_decimal.Decimal.parse(literal);
28
+ if (parsed === null) throw new Error(`Invalid conversion factor: ${literal}`);
29
+ return parsed;
30
+ }
31
+ class PowerUnit extends import_measurement_unit.MeasurementUnit {
32
+ static typeInfo = Object.freeze({
33
+ englishName: "Power Unit",
34
+ localizedName: "Effektenhet",
35
+ emoji: "\u{1F4A1}",
36
+ sources: Object.freeze([])
37
+ });
38
+ static Microwatt = new PowerUnit({
39
+ symbol: "\xB5W",
40
+ englishName: "microwatt",
41
+ localizedName: "mikrowatt",
42
+ pluralEnglish: "microwatts",
43
+ pluralSwedish: "mikrowatt",
44
+ toBaseUnitFactor: factor("0.000001"),
45
+ aliases: ["uW"]
46
+ });
47
+ static Milliwatt = new PowerUnit({
48
+ symbol: "mW",
49
+ englishName: "milliwatt",
50
+ localizedName: "milliwatt",
51
+ pluralEnglish: "milliwatts",
52
+ pluralSwedish: "milliwatt",
53
+ toBaseUnitFactor: factor("0.001")
54
+ });
55
+ static Watt = new PowerUnit({
56
+ symbol: "W",
57
+ englishName: "watt",
58
+ localizedName: "watt",
59
+ pluralEnglish: "watts",
60
+ pluralSwedish: "watt",
61
+ toBaseUnitFactor: factor("1")
62
+ });
63
+ static Kilowatt = new PowerUnit({
64
+ symbol: "kW",
65
+ englishName: "kilowatt",
66
+ localizedName: "kilowatt",
67
+ pluralEnglish: "kilowatts",
68
+ pluralSwedish: "kilowatt",
69
+ toBaseUnitFactor: factor("1000")
70
+ });
71
+ static Megawatt = new PowerUnit({
72
+ symbol: "MW",
73
+ englishName: "megawatt",
74
+ localizedName: "megawatt",
75
+ pluralEnglish: "megawatts",
76
+ pluralSwedish: "megawatt",
77
+ toBaseUnitFactor: factor("1000000")
78
+ });
79
+ static Gigawatt = new PowerUnit({
80
+ symbol: "GW",
81
+ englishName: "gigawatt",
82
+ localizedName: "gigawatt",
83
+ pluralEnglish: "gigawatts",
84
+ pluralSwedish: "gigawatt",
85
+ toBaseUnitFactor: factor("1000000000")
86
+ });
87
+ static Terawatt = new PowerUnit({
88
+ symbol: "TW",
89
+ englishName: "terawatt",
90
+ localizedName: "terawatt",
91
+ pluralEnglish: "terawatts",
92
+ pluralSwedish: "terawatt",
93
+ toBaseUnitFactor: factor("1000000000000")
94
+ });
95
+ static Horsepower = new PowerUnit({
96
+ symbol: "HP",
97
+ englishName: "horsepower",
98
+ localizedName: "h\xE4stkraft",
99
+ pluralEnglish: "horsepower",
100
+ pluralSwedish: "h\xE4stkrafter",
101
+ toBaseUnitFactor: factor("745.69987158227022"),
102
+ aliases: ["hp", "horsepower", "hk", "h\xE4stkraft", "h\xE4stkrafter"]
103
+ });
104
+ /** @internal Shared lookup and natural-scale walk. */
105
+ static index = new import_measurement_unit.MeasurementUnitIndex(
106
+ [
107
+ PowerUnit.Microwatt,
108
+ PowerUnit.Milliwatt,
109
+ PowerUnit.Watt,
110
+ PowerUnit.Kilowatt,
111
+ PowerUnit.Megawatt,
112
+ PowerUnit.Gigawatt,
113
+ PowerUnit.Terawatt,
114
+ PowerUnit.Horsepower
115
+ ],
116
+ PowerUnit.Watt,
117
+ [PowerUnit.Watt, PowerUnit.Kilowatt, PowerUnit.Megawatt, PowerUnit.Gigawatt],
118
+ [PowerUnit.Milliwatt, PowerUnit.Megawatt]
119
+ );
120
+ static get all() {
121
+ return PowerUnit.index.all;
122
+ }
123
+ /** The base unit: W. */
124
+ static get baseUnit() {
125
+ return PowerUnit.index.baseUnit;
126
+ }
127
+ /** Units ordered small to large, used to auto-scale display. */
128
+ static get naturalScale() {
129
+ return PowerUnit.index.naturalScale;
130
+ }
131
+ /**
132
+ * Resolves a unit from a symbol, name, plural or alias, case-insensitively —
133
+ * except for `mW` and `MW`, which differ by a factor of a billion and are
134
+ * therefore the one case-sensitive pair.
135
+ */
136
+ static tryParse(input) {
137
+ if (input == null) return null;
138
+ const trimmed = input.trim();
139
+ if (trimmed.length === 2 && (trimmed[1] === "W" || trimmed[1] === "w")) {
140
+ if (trimmed[0] === "m") return PowerUnit.Milliwatt;
141
+ if (trimmed[0] === "M") return PowerUnit.Megawatt;
142
+ }
143
+ return PowerUnit.index.tryParse(trimmed);
144
+ }
145
+ static parse(input) {
146
+ const result = PowerUnit.tryParse(input);
147
+ if (result === null) throw new Error("Unknown power unit.");
148
+ return result;
149
+ }
150
+ /** Returns the most human-readable unit for a value in W. */
151
+ static getNatural(baseValue) {
152
+ return PowerUnit.index.getNatural(baseValue);
153
+ }
154
+ }
155
+ //# sourceMappingURL=power-unit.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/measurement/power-unit.ts"],
4
+ "sourcesContent": ["import { Decimal } from \"../internal/decimal.js\";\nimport { MeasurementUnit, MeasurementUnitIndex } from \"../internal/measurement-unit.js\";\nimport type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\n\nfunction factor(literal: string): Decimal {\n const parsed = Decimal.parse(literal);\n /* c8 ignore next */\n if (parsed === null) throw new Error(`Invalid conversion factor: ${literal}`);\n return parsed;\n}\n\n/**\n * A unit of power identified by its symbol.\n * Each unit carries English and Swedish names, singular and plural forms, and an\n * exact conversion factor to the base unit.\n */\nexport class PowerUnit extends MeasurementUnit {\n declare private readonly __powerUnitBrand: void;\n\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Power Unit\",\n localizedName: \"Effektenhet\",\n emoji: \"\uD83D\uDCA1\",\n sources: Object.freeze([]),\n });\n\n static readonly Microwatt = new PowerUnit({\n symbol: \"\u00B5W\",\n englishName: \"microwatt\",\n localizedName: \"mikrowatt\",\n pluralEnglish: \"microwatts\",\n pluralSwedish: \"mikrowatt\",\n toBaseUnitFactor: factor(\"0.000001\"),\n aliases: [\"uW\"],\n });\n\n static readonly Milliwatt = new PowerUnit({\n symbol: \"mW\",\n englishName: \"milliwatt\",\n localizedName: \"milliwatt\",\n pluralEnglish: \"milliwatts\",\n pluralSwedish: \"milliwatt\",\n toBaseUnitFactor: factor(\"0.001\"),\n });\n\n static readonly Watt = new PowerUnit({\n symbol: \"W\",\n englishName: \"watt\",\n localizedName: \"watt\",\n pluralEnglish: \"watts\",\n pluralSwedish: \"watt\",\n toBaseUnitFactor: factor(\"1\"),\n });\n\n static readonly Kilowatt = new PowerUnit({\n symbol: \"kW\",\n englishName: \"kilowatt\",\n localizedName: \"kilowatt\",\n pluralEnglish: \"kilowatts\",\n pluralSwedish: \"kilowatt\",\n toBaseUnitFactor: factor(\"1000\"),\n });\n\n static readonly Megawatt = new PowerUnit({\n symbol: \"MW\",\n englishName: \"megawatt\",\n localizedName: \"megawatt\",\n pluralEnglish: \"megawatts\",\n pluralSwedish: \"megawatt\",\n toBaseUnitFactor: factor(\"1000000\"),\n });\n\n static readonly Gigawatt = new PowerUnit({\n symbol: \"GW\",\n englishName: \"gigawatt\",\n localizedName: \"gigawatt\",\n pluralEnglish: \"gigawatts\",\n pluralSwedish: \"gigawatt\",\n toBaseUnitFactor: factor(\"1000000000\"),\n });\n\n static readonly Terawatt = new PowerUnit({\n symbol: \"TW\",\n englishName: \"terawatt\",\n localizedName: \"terawatt\",\n pluralEnglish: \"terawatts\",\n pluralSwedish: \"terawatt\",\n toBaseUnitFactor: factor(\"1000000000000\"),\n });\n\n static readonly Horsepower = new PowerUnit({\n symbol: \"HP\",\n englishName: \"horsepower\",\n localizedName: \"h\u00E4stkraft\",\n pluralEnglish: \"horsepower\",\n pluralSwedish: \"h\u00E4stkrafter\",\n toBaseUnitFactor: factor(\"745.69987158227022\"),\n aliases: [\"hp\", \"horsepower\", \"hk\", \"h\u00E4stkraft\", \"h\u00E4stkrafter\"],\n });\n\n /** @internal Shared lookup and natural-scale walk. */\n static readonly index: MeasurementUnitIndex<PowerUnit> = new MeasurementUnitIndex<PowerUnit>(\n [\n PowerUnit.Microwatt,\n PowerUnit.Milliwatt,\n PowerUnit.Watt,\n PowerUnit.Kilowatt,\n PowerUnit.Megawatt,\n PowerUnit.Gigawatt,\n PowerUnit.Terawatt,\n PowerUnit.Horsepower,\n ],\n PowerUnit.Watt,\n [PowerUnit.Watt, PowerUnit.Kilowatt, PowerUnit.Megawatt, PowerUnit.Gigawatt],\n [PowerUnit.Milliwatt, PowerUnit.Megawatt],\n );\n\n static get all(): readonly PowerUnit[] {\n return PowerUnit.index.all;\n }\n\n /** The base unit: W. */\n static get baseUnit(): PowerUnit {\n return PowerUnit.index.baseUnit;\n }\n\n /** Units ordered small to large, used to auto-scale display. */\n static get naturalScale(): readonly PowerUnit[] {\n return PowerUnit.index.naturalScale;\n }\n\n /**\n * Resolves a unit from a symbol, name, plural or alias, case-insensitively \u2014\n * except for `mW` and `MW`, which differ by a factor of a billion and are\n * therefore the one case-sensitive pair.\n */\n static tryParse(input: string | null | undefined): PowerUnit | null {\n if (input == null) return null;\n const trimmed = input.trim();\n\n if (trimmed.length === 2 && (trimmed[1] === \"W\" || trimmed[1] === \"w\")) {\n if (trimmed[0] === \"m\") return PowerUnit.Milliwatt;\n if (trimmed[0] === \"M\") return PowerUnit.Megawatt;\n }\n\n return PowerUnit.index.tryParse(trimmed);\n }\n\n static parse(input: string): PowerUnit {\n const result = PowerUnit.tryParse(input);\n if (result === null) throw new Error(\"Unknown power unit.\");\n return result;\n }\n\n /** Returns the most human-readable unit for a value in W. */\n static getNatural(baseValue: Decimal): PowerUnit {\n return PowerUnit.index.getNatural(baseValue);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var power_exports = {};
20
+ __export(power_exports, {
21
+ Power: () => Power,
22
+ maskPower: () => maskPower
23
+ });
24
+ module.exports = __toCommonJS(power_exports);
25
+ var import_decimal = require("../internal/decimal.js");
26
+ var import_quantity = require("../internal/quantity.js");
27
+ var import_text_candidate = require("../text-scanning/text-candidate.js");
28
+ var import_text_candidate_category = require("../text-scanning/text-candidate-category.js");
29
+ var import_text_match_confidence = require("../text-scanning/text-match-confidence.js");
30
+ var import_power_unit = require("./power-unit.js");
31
+ const VALUE_PREFIX = String.raw`(?<![\p{L}\p{N}_])(?:[+-]\s*)?\d+[0-9 .,]*\s*`;
32
+ const UNIT_SUFFIX = String.raw`(?![\p{L}\p{N}_])`;
33
+ const CASE_SENSITIVE_PATTERN = new RegExp(
34
+ String.raw`${VALUE_PREFIX}(?:µW|uW|mW|MW|TW)${UNIT_SUFFIX}`,
35
+ "gu"
36
+ );
37
+ const CASE_INSENSITIVE_PATTERN = new RegExp(
38
+ String.raw`${VALUE_PREFIX}(?:kW|GW|W|hp|horsepower|hästkraft|hästkrafter|microwatt|mikrowatt|milliwatt|megawatt|gigawatt|terawatt|kilowatt|watt)${UNIT_SUFFIX}`,
39
+ "giu"
40
+ );
41
+ class Power extends import_quantity.Quantity {
42
+ static typeInfo = Object.freeze({
43
+ englishName: "Power",
44
+ localizedName: "Effekt",
45
+ emoji: "\u{1F4A1}",
46
+ sources: Object.freeze([
47
+ "https://www.bipm.org/en/measurement-units/si-derived-units",
48
+ "https://en.wikipedia.org/wiki/Horsepower"
49
+ ])
50
+ });
51
+ get units() {
52
+ return import_power_unit.PowerUnit.index;
53
+ }
54
+ withBaseValue(baseValue, unit) {
55
+ return new Power(baseValue, unit);
56
+ }
57
+ get microwatts() {
58
+ return this.in(import_power_unit.PowerUnit.Microwatt);
59
+ }
60
+ get milliwatts() {
61
+ return this.in(import_power_unit.PowerUnit.Milliwatt);
62
+ }
63
+ get watts() {
64
+ return this.in(import_power_unit.PowerUnit.Watt);
65
+ }
66
+ get kilowatts() {
67
+ return this.in(import_power_unit.PowerUnit.Kilowatt);
68
+ }
69
+ get megawatts() {
70
+ return this.in(import_power_unit.PowerUnit.Megawatt);
71
+ }
72
+ get gigawatts() {
73
+ return this.in(import_power_unit.PowerUnit.Gigawatt);
74
+ }
75
+ get terawatts() {
76
+ return this.in(import_power_unit.PowerUnit.Terawatt);
77
+ }
78
+ get horsepower() {
79
+ return this.in(import_power_unit.PowerUnit.Horsepower);
80
+ }
81
+ /** Creates a power from a value and unit. */
82
+ static create(value, unit) {
83
+ import_power_unit.PowerUnit.index.assertOwns(unit);
84
+ const amount = value instanceof import_decimal.Decimal ? value : Power.decimalOf(value);
85
+ return new Power(unit.toBase(amount), unit);
86
+ }
87
+ static fromMicrowatts(value) {
88
+ return Power.create(value, import_power_unit.PowerUnit.Microwatt);
89
+ }
90
+ static fromMilliwatts(value) {
91
+ return Power.create(value, import_power_unit.PowerUnit.Milliwatt);
92
+ }
93
+ static fromWatts(value) {
94
+ return Power.create(value, import_power_unit.PowerUnit.Watt);
95
+ }
96
+ static fromKilowatts(value) {
97
+ return Power.create(value, import_power_unit.PowerUnit.Kilowatt);
98
+ }
99
+ static fromMegawatts(value) {
100
+ return Power.create(value, import_power_unit.PowerUnit.Megawatt);
101
+ }
102
+ static fromGigawatts(value) {
103
+ return Power.create(value, import_power_unit.PowerUnit.Gigawatt);
104
+ }
105
+ static fromTerawatts(value) {
106
+ return Power.create(value, import_power_unit.PowerUnit.Terawatt);
107
+ }
108
+ static fromHorsepower(value) {
109
+ return Power.create(value, import_power_unit.PowerUnit.Horsepower);
110
+ }
111
+ static tryParse(input) {
112
+ const parsed = (0, import_quantity.tryParseQuantity)(input, import_power_unit.PowerUnit.index, import_power_unit.PowerUnit.tryParse);
113
+ return parsed === null ? null : new Power(parsed.baseValue, parsed.unit);
114
+ }
115
+ static parse(input) {
116
+ const result = Power.tryParse(input);
117
+ if (result === null) throw new Error("Invalid power.");
118
+ return result;
119
+ }
120
+ static isValid(input) {
121
+ return Power.tryParse(input) !== null;
122
+ }
123
+ /** Display form in the parsed unit, or `null` when the input is invalid. */
124
+ static format(input, options) {
125
+ const parsed = Power.tryParse(input);
126
+ if (parsed !== null) {
127
+ if (options?.unit !== void 0 || options?.decimals !== void 0) {
128
+ return parsed.toStringInUnit(options.unit ?? parsed.originalUnit, options.decimals);
129
+ }
130
+ return parsed.toString();
131
+ }
132
+ return Power.fallback(input, options);
133
+ }
134
+ /** The value in watts, or `null` when the input is invalid. */
135
+ static normalize(input, options) {
136
+ const parsed = Power.tryParse(input);
137
+ if (parsed !== null) return parsed.toNormalizedString();
138
+ return Power.fallback(input, options);
139
+ }
140
+ static isNormalized(input) {
141
+ return input != null && Power.normalize(input) === input;
142
+ }
143
+ static findCandidatesInText(text) {
144
+ if (!text) return [];
145
+ const out = [];
146
+ for (const pattern of [CASE_SENSITIVE_PATTERN, CASE_INSENSITIVE_PATTERN]) {
147
+ const scanner = new RegExp(pattern.source, pattern.flags);
148
+ let match;
149
+ while ((match = scanner.exec(text)) !== null) {
150
+ const start = match.index;
151
+ const end = start + match[0].length;
152
+ if (out.some((c) => start < c.endIndex && c.startIndex < end)) continue;
153
+ const value = Power.tryParse(match[0]);
154
+ if (value === null) continue;
155
+ out.push(
156
+ new import_text_candidate.TextCandidate({
157
+ startIndex: start,
158
+ length: match[0].length,
159
+ originalText: match[0],
160
+ typeName: "Power",
161
+ category: import_text_candidate_category.TextCandidateCategory.Measurement,
162
+ normalizedForm: value.toNormalizedString(),
163
+ formattedForm: value.toString(),
164
+ maskedForm: maskPower(value),
165
+ confidence: import_text_match_confidence.TextMatchConfidence.Medium,
166
+ value
167
+ })
168
+ );
169
+ }
170
+ }
171
+ return out.sort((a, b) => a.startIndex - b.startIndex);
172
+ }
173
+ static fallback(input, options) {
174
+ if (options?.fallbackToTrimmedInputWhenInvalid !== true) return null;
175
+ if (input == null) return null;
176
+ const trimmed = input.trim();
177
+ return trimmed.length > 0 ? trimmed : null;
178
+ }
179
+ static decimalOf(value) {
180
+ const parsed = import_decimal.Decimal.fromNumber(value);
181
+ if (parsed === null) throw new Error(`Value cannot be represented as a power: ${value}`);
182
+ return parsed;
183
+ }
184
+ }
185
+ function maskPower(value) {
186
+ return `*** ${value.originalUnit.symbol}`;
187
+ }
188
+ //# sourceMappingURL=power.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/measurement/power.ts"],
4
+ "sourcesContent": ["import { Decimal } from \"../internal/decimal.js\";\nimport type { MeasurementUnitIndex } from \"../internal/measurement-unit.js\";\nimport { Quantity, tryParseQuantity } from \"../internal/quantity.js\";\nimport type { PrimitiveTypeInfo } from \"../primitive-type-info.js\";\nimport { TextCandidate } from \"../text-scanning/text-candidate.js\";\nimport { TextCandidateCategory } from \"../text-scanning/text-candidate-category.js\";\nimport { TextMatchConfidence } from \"../text-scanning/text-match-confidence.js\";\nimport { PowerUnit } from \"./power-unit.js\";\n\n/** Options for {@link Power.format} and {@link Power.normalize}. */\nexport interface PowerFormatOptions {\n fallbackToTrimmedInputWhenInvalid?: boolean;\n /** Convert to this unit instead of preserving the parsed one. */\n unit?: PowerUnit;\n /** Round to this many fractional digits, away from zero. */\n decimals?: number;\n}\n\nconst VALUE_PREFIX = String.raw`(?<![\\p{L}\\p{N}_])(?:[+-]\\s*)?\\d+[0-9 .,]*\\s*`;\nconst UNIT_SUFFIX = String.raw`(?![\\p{L}\\p{N}_])`;\n\n/**\n * Milliwatt and megawatt differ only by case, so their symbols must be matched\n * case-sensitively. Everything else may be written either way.\n *\n * .NET expresses this as one pattern with a scoped `(?i:...)` group. JavaScript\n * has no scoped flags, so the two halves are separate patterns and\n * {@link Power.findCandidatesInText} merges their results.\n */\nconst CASE_SENSITIVE_PATTERN = new RegExp(\n String.raw`${VALUE_PREFIX}(?:\u00B5W|uW|mW|MW|TW)${UNIT_SUFFIX}`,\n \"gu\",\n);\n\nconst CASE_INSENSITIVE_PATTERN = new RegExp(\n String.raw`${VALUE_PREFIX}(?:kW|GW|W|hp|horsepower|h\u00E4stkraft|h\u00E4stkrafter|microwatt|mikrowatt|milliwatt|megawatt|gigawatt|terawatt|kilowatt|watt)${UNIT_SUFFIX}`,\n \"giu\",\n);\n\n/**\n * A power stored internally in watts,\n * parsed from any supported unit and convertible between all of them.\n */\nexport class Power extends Quantity<PowerUnit> {\n static readonly typeInfo: PrimitiveTypeInfo = Object.freeze({\n englishName: \"Power\",\n localizedName: \"Effekt\",\n emoji: \"\uD83D\uDCA1\",\n sources: Object.freeze([\n \"https://www.bipm.org/en/measurement-units/si-derived-units\",\n \"https://en.wikipedia.org/wiki/Horsepower\",\n ]),\n });\n\n protected get units(): MeasurementUnitIndex<PowerUnit> {\n return PowerUnit.index;\n }\n\n protected withBaseValue(baseValue: Decimal, unit: PowerUnit): this {\n return new Power(baseValue, unit) as this;\n }\n\n get microwatts(): number {\n return this.in(PowerUnit.Microwatt);\n }\n get milliwatts(): number {\n return this.in(PowerUnit.Milliwatt);\n }\n get watts(): number {\n return this.in(PowerUnit.Watt);\n }\n get kilowatts(): number {\n return this.in(PowerUnit.Kilowatt);\n }\n get megawatts(): number {\n return this.in(PowerUnit.Megawatt);\n }\n get gigawatts(): number {\n return this.in(PowerUnit.Gigawatt);\n }\n get terawatts(): number {\n return this.in(PowerUnit.Terawatt);\n }\n get horsepower(): number {\n return this.in(PowerUnit.Horsepower);\n }\n\n /** Creates a power from a value and unit. */\n static create(value: number | Decimal, unit: PowerUnit): Power {\n PowerUnit.index.assertOwns(unit);\n const amount = value instanceof Decimal ? value : Power.decimalOf(value);\n return new Power(unit.toBase(amount), unit);\n }\n\n static fromMicrowatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Microwatt);\n }\n static fromMilliwatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Milliwatt);\n }\n static fromWatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Watt);\n }\n static fromKilowatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Kilowatt);\n }\n static fromMegawatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Megawatt);\n }\n static fromGigawatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Gigawatt);\n }\n static fromTerawatts(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Terawatt);\n }\n static fromHorsepower(value: number | Decimal): Power {\n return Power.create(value, PowerUnit.Horsepower);\n }\n\n static tryParse(input: string | null | undefined): Power | null {\n const parsed = tryParseQuantity(input, PowerUnit.index, PowerUnit.tryParse);\n return parsed === null ? null : new Power(parsed.baseValue, parsed.unit);\n }\n\n static parse(input: string): Power {\n const result = Power.tryParse(input);\n if (result === null) throw new Error(\"Invalid power.\");\n return result;\n }\n\n static isValid(input: string | null | undefined): boolean {\n return Power.tryParse(input) !== null;\n }\n\n /** Display form in the parsed unit, or `null` when the input is invalid. */\n static format(input: string | null | undefined, options?: PowerFormatOptions): string | null {\n const parsed = Power.tryParse(input);\n if (parsed !== null) {\n if (options?.unit !== undefined || options?.decimals !== undefined) {\n return parsed.toStringInUnit(options.unit ?? parsed.originalUnit, options.decimals);\n }\n return parsed.toString();\n }\n return Power.fallback(input, options);\n }\n\n /** The value in watts, or `null` when the input is invalid. */\n static normalize(input: string | null | undefined, options?: PowerFormatOptions): string | null {\n const parsed = Power.tryParse(input);\n if (parsed !== null) return parsed.toNormalizedString();\n return Power.fallback(input, options);\n }\n\n static isNormalized(input: string | null | undefined): boolean {\n return input != null && Power.normalize(input) === input;\n }\n\n static findCandidatesInText(text: string): readonly TextCandidate<Power>[] {\n if (!text) return [];\n\n const out: TextCandidate<Power>[] = [];\n\n // The case-sensitive symbols run first so that `mW` and `MW` win over the\n // looser `W`, mirroring the alternation order in the .NET pattern.\n for (const pattern of [CASE_SENSITIVE_PATTERN, CASE_INSENSITIVE_PATTERN]) {\n const scanner = new RegExp(pattern.source, pattern.flags);\n let match: RegExpExecArray | null;\n\n while ((match = scanner.exec(text)) !== null) {\n const start = match.index;\n const end = start + match[0].length;\n if (out.some((c) => start < c.endIndex && c.startIndex < end)) continue;\n\n const value = Power.tryParse(match[0]);\n if (value === null) continue;\n out.push(\n new TextCandidate<Power>({\n startIndex: start,\n length: match[0].length,\n originalText: match[0],\n typeName: \"Power\",\n category: TextCandidateCategory.Measurement,\n normalizedForm: value.toNormalizedString(),\n formattedForm: value.toString(),\n maskedForm: maskPower(value),\n confidence: TextMatchConfidence.Medium,\n value,\n }),\n );\n }\n }\n\n return out.sort((a, b) => a.startIndex - b.startIndex);\n }\n\n private static fallback(\n input: string | null | undefined,\n options?: PowerFormatOptions,\n ): string | null {\n if (options?.fallbackToTrimmedInputWhenInvalid !== true) return null;\n if (input == null) return null;\n const trimmed = input.trim();\n return trimmed.length > 0 ? trimmed : null;\n }\n\n private static decimalOf(value: number): Decimal {\n const parsed = Decimal.fromNumber(value);\n if (parsed === null) throw new Error(`Value cannot be represented as a power: ${value}`);\n return parsed;\n }\n}\n\n/** Returns a masked power, e.g. `10 W` becomes `*** W`. */\nexport function maskPower(value: Power): string {\n return `*** ${value.originalUnit.symbol}`;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAwB;AAExB,sBAA2C;AAE3C,4BAA8B;AAC9B,qCAAsC;AACtC,mCAAoC;AACpC,wBAA0B;AAW1B,MAAM,eAAe,OAAO;AAC5B,MAAM,cAAc,OAAO;AAU3B,MAAM,yBAAyB,IAAI;AAAA,EACjC,OAAO,MAAM,YAAY,qBAAqB,WAAW;AAAA,EACzD;AACF;AAEA,MAAM,2BAA2B,IAAI;AAAA,EACnC,OAAO,MAAM,YAAY,yHAAyH,WAAW;AAAA,EAC7J;AACF;AAMO,MAAM,cAAc,yBAAoB;AAAA,EAC7C,OAAgB,WAA8B,OAAO,OAAO;AAAA,IAC1D,aAAa;AAAA,IACb,eAAe;AAAA,IACf,OAAO;AAAA,IACP,SAAS,OAAO,OAAO;AAAA,MACrB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAAA,EAED,IAAc,QAAyC;AACrD,WAAO,4BAAU;AAAA,EACnB;AAAA,EAEU,cAAc,WAAoB,MAAuB;AACjE,WAAO,IAAI,MAAM,WAAW,IAAI;AAAA,EAClC;AAAA,EAEA,IAAI,aAAqB;AACvB,WAAO,KAAK,GAAG,4BAAU,SAAS;AAAA,EACpC;AAAA,EACA,IAAI,aAAqB;AACvB,WAAO,KAAK,GAAG,4BAAU,SAAS;AAAA,EACpC;AAAA,EACA,IAAI,QAAgB;AAClB,WAAO,KAAK,GAAG,4BAAU,IAAI;AAAA,EAC/B;AAAA,EACA,IAAI,YAAoB;AACtB,WAAO,KAAK,GAAG,4BAAU,QAAQ;AAAA,EACnC;AAAA,EACA,IAAI,YAAoB;AACtB,WAAO,KAAK,GAAG,4BAAU,QAAQ;AAAA,EACnC;AAAA,EACA,IAAI,YAAoB;AACtB,WAAO,KAAK,GAAG,4BAAU,QAAQ;AAAA,EACnC;AAAA,EACA,IAAI,YAAoB;AACtB,WAAO,KAAK,GAAG,4BAAU,QAAQ;AAAA,EACnC;AAAA,EACA,IAAI,aAAqB;AACvB,WAAO,KAAK,GAAG,4BAAU,UAAU;AAAA,EACrC;AAAA;AAAA,EAGA,OAAO,OAAO,OAAyB,MAAwB;AAC7D,gCAAU,MAAM,WAAW,IAAI;AAC/B,UAAM,SAAS,iBAAiB,yBAAU,QAAQ,MAAM,UAAU,KAAK;AACvE,WAAO,IAAI,MAAM,KAAK,OAAO,MAAM,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEA,OAAO,eAAe,OAAgC;AACpD,WAAO,MAAM,OAAO,OAAO,4BAAU,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,eAAe,OAAgC;AACpD,WAAO,MAAM,OAAO,OAAO,4BAAU,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,UAAU,OAAgC;AAC/C,WAAO,MAAM,OAAO,OAAO,4BAAU,IAAI;AAAA,EAC3C;AAAA,EACA,OAAO,cAAc,OAAgC;AACnD,WAAO,MAAM,OAAO,OAAO,4BAAU,QAAQ;AAAA,EAC/C;AAAA,EACA,OAAO,cAAc,OAAgC;AACnD,WAAO,MAAM,OAAO,OAAO,4BAAU,QAAQ;AAAA,EAC/C;AAAA,EACA,OAAO,cAAc,OAAgC;AACnD,WAAO,MAAM,OAAO,OAAO,4BAAU,QAAQ;AAAA,EAC/C;AAAA,EACA,OAAO,cAAc,OAAgC;AACnD,WAAO,MAAM,OAAO,OAAO,4BAAU,QAAQ;AAAA,EAC/C;AAAA,EACA,OAAO,eAAe,OAAgC;AACpD,WAAO,MAAM,OAAO,OAAO,4BAAU,UAAU;AAAA,EACjD;AAAA,EAEA,OAAO,SAAS,OAAgD;AAC9D,UAAM,aAAS,kCAAiB,OAAO,4BAAU,OAAO,4BAAU,QAAQ;AAC1E,WAAO,WAAW,OAAO,OAAO,IAAI,MAAM,OAAO,WAAW,OAAO,IAAI;AAAA,EACzE;AAAA,EAEA,OAAO,MAAM,OAAsB;AACjC,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,WAAW,KAAM,OAAM,IAAI,MAAM,gBAAgB;AACrD,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,OAA2C;AACxD,WAAO,MAAM,SAAS,KAAK,MAAM;AAAA,EACnC;AAAA;AAAA,EAGA,OAAO,OAAO,OAAkC,SAA6C;AAC3F,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,WAAW,MAAM;AACnB,UAAI,SAAS,SAAS,UAAa,SAAS,aAAa,QAAW;AAClE,eAAO,OAAO,eAAe,QAAQ,QAAQ,OAAO,cAAc,QAAQ,QAAQ;AAAA,MACpF;AACA,aAAO,OAAO,SAAS;AAAA,IACzB;AACA,WAAO,MAAM,SAAS,OAAO,OAAO;AAAA,EACtC;AAAA;AAAA,EAGA,OAAO,UAAU,OAAkC,SAA6C;AAC9F,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,WAAW,KAAM,QAAO,OAAO,mBAAmB;AACtD,WAAO,MAAM,SAAS,OAAO,OAAO;AAAA,EACtC;AAAA,EAEA,OAAO,aAAa,OAA2C;AAC7D,WAAO,SAAS,QAAQ,MAAM,UAAU,KAAK,MAAM;AAAA,EACrD;AAAA,EAEA,OAAO,qBAAqB,MAA+C;AACzE,QAAI,CAAC,KAAM,QAAO,CAAC;AAEnB,UAAM,MAA8B,CAAC;AAIrC,eAAW,WAAW,CAAC,wBAAwB,wBAAwB,GAAG;AACxE,YAAM,UAAU,IAAI,OAAO,QAAQ,QAAQ,QAAQ,KAAK;AACxD,UAAI;AAEJ,cAAQ,QAAQ,QAAQ,KAAK,IAAI,OAAO,MAAM;AAC5C,cAAM,QAAQ,MAAM;AACpB,cAAM,MAAM,QAAQ,MAAM,CAAC,EAAE;AAC7B,YAAI,IAAI,KAAK,CAAC,MAAM,QAAQ,EAAE,YAAY,EAAE,aAAa,GAAG,EAAG;AAE/D,cAAM,QAAQ,MAAM,SAAS,MAAM,CAAC,CAAC;AACrC,YAAI,UAAU,KAAM;AACpB,YAAI;AAAA,UACF,IAAI,oCAAqB;AAAA,YACvB,YAAY;AAAA,YACZ,QAAQ,MAAM,CAAC,EAAE;AAAA,YACjB,cAAc,MAAM,CAAC;AAAA,YACrB,UAAU;AAAA,YACV,UAAU,qDAAsB;AAAA,YAChC,gBAAgB,MAAM,mBAAmB;AAAA,YACzC,eAAe,MAAM,SAAS;AAAA,YAC9B,YAAY,UAAU,KAAK;AAAA,YAC3B,YAAY,iDAAoB;AAAA,YAChC;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,WAAO,IAAI,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAAA,EACvD;AAAA,EAEA,OAAe,SACb,OACA,SACe;AACf,QAAI,SAAS,sCAAsC,KAAM,QAAO;AAChE,QAAI,SAAS,KAAM,QAAO;AAC1B,UAAM,UAAU,MAAM,KAAK;AAC3B,WAAO,QAAQ,SAAS,IAAI,UAAU;AAAA,EACxC;AAAA,EAEA,OAAe,UAAU,OAAwB;AAC/C,UAAM,SAAS,uBAAQ,WAAW,KAAK;AACvC,QAAI,WAAW,KAAM,OAAM,IAAI,MAAM,2CAA2C,KAAK,EAAE;AACvF,WAAO;AAAA,EACT;AACF;AAGO,SAAS,UAAU,OAAsB;AAC9C,SAAO,OAAO,MAAM,aAAa,MAAM;AACzC;",
6
+ "names": []
7
+ }