@budiauktioner/buildi-primitives 0.1.1 → 0.2.0

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