@budiauktioner/buildi-primitives 0.1.0 → 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 +72 -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 +100 -65
  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
package/dist/web/index.js DELETED
@@ -1,3987 +0,0 @@
1
- // src/internal/input-sanitization.ts
2
- var FORMAT_OR_NOT_ASSIGNED = /[\p{Cf}\p{Cn}]/u;
3
- var SPACE_SEPARATOR = /[\p{Zs}\p{Zl}\p{Zp}]/u;
4
- var CONTROL = /\p{Cc}/u;
5
- function sanitizeInput(input) {
6
- let out = "";
7
- for (const c of input) {
8
- if (c === "\u2018" || c === "\u2019" || c === "\u201A" || c === "\u201B") {
9
- out += "'";
10
- continue;
11
- }
12
- if (c === "\u201C" || c === "\u201D" || c === "\u201E" || c === "\u201F" || c === "\xAB" || c === "\xBB") {
13
- out += '"';
14
- continue;
15
- }
16
- if (FORMAT_OR_NOT_ASSIGNED.test(c)) {
17
- continue;
18
- }
19
- if (CONTROL.test(c)) {
20
- if (c === " " || c === "\n" || c === "\r") out += " ";
21
- continue;
22
- }
23
- if (SPACE_SEPARATOR.test(c)) {
24
- out += " ";
25
- continue;
26
- }
27
- out += c;
28
- }
29
- return out;
30
- }
31
- var DEFAULT_UI_CULTURE = "sv-SE";
32
- var state = {
33
- uiCulture: DEFAULT_UI_CULTURE};
34
- var PrimitivesDefaults = {
35
- /**
36
- * `true` when {@link uiCulture} is Swedish (`sv` or `sv-*`).
37
- * Types use this to select between localized and English display names.
38
- */
39
- get useLocalizedDisplayNames() {
40
- const lang = state.uiCulture.toLowerCase().split("-")[0];
41
- return lang === "sv";
42
- }};
43
-
44
- // src/text-scanning/text-candidate-category.ts
45
- var TextCandidateCategory = {
46
- Contact: "Contact",
47
- Geography: "Geography"};
48
-
49
- // src/text-scanning/text-candidate.ts
50
- var TextCandidate = class {
51
- /** Zero-based start position in the scanned text. */
52
- startIndex;
53
- /** Number of characters in the original matched span. */
54
- length;
55
- /** The raw substring from the input text that was matched. */
56
- originalText;
57
- /**
58
- * Short type name, e.g. `EmailAddress` or `SwedishPersonalIdentityNumber`.
59
- */
60
- typeName;
61
- /** Broad category of the matched type. */
62
- category;
63
- /** Machine-comparable canonical form of the matched value. */
64
- normalizedForm;
65
- /** Human-readable display form of the matched value. */
66
- formattedForm;
67
- /**
68
- * Display form with sensitive content masked (e.g. `990807-****`).
69
- * Produced by the type's `toMaskedString()` helper.
70
- */
71
- maskedForm;
72
- /** Heuristic confidence level. */
73
- confidence;
74
- /** The successfully parsed instance of the matched type. */
75
- value;
76
- constructor(opts) {
77
- this.startIndex = opts.startIndex;
78
- this.length = opts.length;
79
- this.originalText = opts.originalText;
80
- this.typeName = opts.typeName;
81
- this.category = opts.category;
82
- this.normalizedForm = opts.normalizedForm;
83
- this.formattedForm = opts.formattedForm;
84
- this.maskedForm = opts.maskedForm;
85
- this.confidence = opts.confidence;
86
- this.value = opts.value;
87
- }
88
- /** Exclusive end position (`startIndex + length`). */
89
- get endIndex() {
90
- return this.startIndex + this.length;
91
- }
92
- /** Returns `true` if this candidate's span overlaps with `other`. */
93
- overlaps(other) {
94
- return this.startIndex < other.endIndex && other.startIndex < this.endIndex;
95
- }
96
- /** Returns `true` if this candidate's span fully contains `other`. */
97
- contains(other) {
98
- return this.startIndex <= other.startIndex && this.endIndex >= other.endIndex;
99
- }
100
- };
101
-
102
- // src/text-scanning/text-match-confidence.ts
103
- var TextMatchConfidence = {
104
- /**
105
- * Pattern match only. High false-positive risk — the matched text merely
106
- * fits a syntactic pattern (e.g. a run of digits that happens to be the
107
- * right length).
108
- */
109
- Low: 0,
110
- /**
111
- * Strong match with checksum or format-specific validation (e.g. a personal
112
- * identity number with a valid Luhn check digit and plausible date, or an
113
- * IBAN with valid MOD-97).
114
- */
115
- High: 2
116
- };
117
-
118
- // src/finance/currency.ts
119
- var KNOWN_CURRENCIES = [
120
- { code: "SEK", en: "Swedish krona", sv: "Svensk krona", symbol: "kr", decimalPlaces: 2 },
121
- { code: "NOK", en: "Norwegian krone", sv: "Norsk krona", symbol: "kr", decimalPlaces: 2 },
122
- { code: "DKK", en: "Danish krone", sv: "Dansk krona", symbol: "kr", decimalPlaces: 2 },
123
- { code: "ISK", en: "Icelandic kr\xF3na", sv: "Isl\xE4ndsk krona", symbol: "kr", decimalPlaces: 0 },
124
- { code: "EUR", en: "Euro", sv: "Euro", symbol: "\u20AC", decimalPlaces: 2 },
125
- {
126
- code: "USD",
127
- en: "United States dollar",
128
- sv: "Amerikansk dollar",
129
- symbol: "$",
130
- decimalPlaces: 2
131
- },
132
- { code: "GBP", en: "Pound sterling", sv: "Brittiskt pund", symbol: "\xA3", decimalPlaces: 2 },
133
- { code: "CHF", en: "Swiss franc", sv: "Schweizisk franc", symbol: "CHF", decimalPlaces: 2 },
134
- { code: "JPY", en: "Japanese yen", sv: "Japansk yen", symbol: "\xA5", decimalPlaces: 0 },
135
- { code: "CNY", en: "Chinese yuan", sv: "Kinesisk yuan", symbol: "\xA5", decimalPlaces: 2 },
136
- { code: "CAD", en: "Canadian dollar", sv: "Kanadensisk dollar", symbol: "CA$", decimalPlaces: 2 },
137
- { code: "AUD", en: "Australian dollar", sv: "Australisk dollar", symbol: "A$", decimalPlaces: 2 },
138
- {
139
- code: "NZD",
140
- en: "New Zealand dollar",
141
- sv: "Nyzeel\xE4ndsk dollar",
142
- symbol: "NZ$",
143
- decimalPlaces: 2
144
- },
145
- { code: "PLN", en: "Polish z\u0142oty", sv: "Polsk zloty", symbol: "z\u0142", decimalPlaces: 2 },
146
- { code: "CZK", en: "Czech koruna", sv: "Tjeckisk koruna", symbol: "K\u010D", decimalPlaces: 2 },
147
- { code: "HUF", en: "Hungarian forint", sv: "Ungersk forint", symbol: "Ft", decimalPlaces: 2 },
148
- { code: "RON", en: "Romanian leu", sv: "Rum\xE4nsk leu", symbol: "lei", decimalPlaces: 2 },
149
- { code: "BGN", en: "Bulgarian lev", sv: "Bulgarisk lev", symbol: "\u043B\u0432", decimalPlaces: 2 },
150
- { code: "HRK", en: "Croatian kuna", sv: "Kroatisk kuna", symbol: "kn", decimalPlaces: 2 },
151
- { code: "TRY", en: "Turkish lira", sv: "Turkisk lira", symbol: "\u20BA", decimalPlaces: 2 },
152
- { code: "RUB", en: "Russian ruble", sv: "Rysk rubel", symbol: "\u20BD", decimalPlaces: 2 },
153
- { code: "INR", en: "Indian rupee", sv: "Indisk rupie", symbol: "\u20B9", decimalPlaces: 2 },
154
- { code: "BRL", en: "Brazilian real", sv: "Brasiliansk real", symbol: "R$", decimalPlaces: 2 },
155
- { code: "ZAR", en: "South African rand", sv: "Sydafrikansk rand", symbol: "R", decimalPlaces: 2 },
156
- { code: "MXN", en: "Mexican peso", sv: "Mexikansk peso", symbol: "MX$", decimalPlaces: 2 },
157
- {
158
- code: "SGD",
159
- en: "Singapore dollar",
160
- sv: "Singaporiansk dollar",
161
- symbol: "S$",
162
- decimalPlaces: 2
163
- },
164
- { code: "HKD", en: "Hong Kong dollar", sv: "Hongkongdollar", symbol: "HK$", decimalPlaces: 2 },
165
- { code: "KRW", en: "South Korean won", sv: "Sydkoreansk won", symbol: "\u20A9", decimalPlaces: 0 },
166
- { code: "THB", en: "Thai baht", sv: "Thail\xE4ndsk baht", symbol: "\u0E3F", decimalPlaces: 2 },
167
- {
168
- code: "TWD",
169
- en: "New Taiwan dollar",
170
- sv: "Taiwanesisk dollar",
171
- symbol: "NT$",
172
- decimalPlaces: 2
173
- },
174
- { code: "ILS", en: "Israeli new shekel", sv: "Israelisk shekel", symbol: "\u20AA", decimalPlaces: 2 },
175
- {
176
- code: "AED",
177
- en: "United Arab Emirates dirham",
178
- sv: "Emiratisk dirham",
179
- symbol: "\u062F.\u0625",
180
- decimalPlaces: 2
181
- },
182
- { code: "SAR", en: "Saudi riyal", sv: "Saudisk riyal", symbol: "\uFDFC", decimalPlaces: 2 },
183
- { code: "PHP", en: "Philippine peso", sv: "Filippinsk peso", symbol: "\u20B1", decimalPlaces: 2 },
184
- { code: "IDR", en: "Indonesian rupiah", sv: "Indonesisk rupiah", symbol: "Rp", decimalPlaces: 2 },
185
- { code: "MYR", en: "Malaysian ringgit", sv: "Malaysisk ringgit", symbol: "RM", decimalPlaces: 2 },
186
- { code: "VND", en: "Vietnamese \u0111\u1ED3ng", sv: "Vietnamesisk dong", symbol: "\u20AB", decimalPlaces: 0 },
187
- { code: "UAH", en: "Ukrainian hryvnia", sv: "Ukrainsk hryvnia", symbol: "\u20B4", decimalPlaces: 2 },
188
- { code: "EGP", en: "Egyptian pound", sv: "Egyptiskt pund", symbol: "E\xA3", decimalPlaces: 2 },
189
- { code: "NGN", en: "Nigerian naira", sv: "Nigeriansk naira", symbol: "\u20A6", decimalPlaces: 2 },
190
- { code: "KES", en: "Kenyan shilling", sv: "Kenyansk shilling", symbol: "KSh", decimalPlaces: 2 },
191
- { code: "COP", en: "Colombian peso", sv: "Colombiansk peso", symbol: "CO$", decimalPlaces: 2 },
192
- { code: "ARS", en: "Argentine peso", sv: "Argentinsk peso", symbol: "AR$", decimalPlaces: 2 },
193
- { code: "CLP", en: "Chilean peso", sv: "Chilensk peso", symbol: "CL$", decimalPlaces: 0 },
194
- { code: "PEN", en: "Peruvian sol", sv: "Peruansk sol", symbol: "S/.", decimalPlaces: 2 }
195
- ];
196
- var Currency = class _Currency {
197
- static typeInfo = Object.freeze({
198
- englishName: "Currency",
199
- localizedName: "Valuta",
200
- emoji: "\u{1F4B1}",
201
- sources: Object.freeze([
202
- "https://www.iso.org/iso-4217-currency-codes.html",
203
- "https://en.wikipedia.org/wiki/ISO_4217"
204
- ])
205
- });
206
- code;
207
- englishName;
208
- localizedName;
209
- symbol;
210
- decimalPlaces;
211
- constructor(row) {
212
- this.code = row.code;
213
- this.englishName = row.en;
214
- this.localizedName = row.sv;
215
- this.symbol = row.symbol;
216
- this.decimalPlaces = row.decimalPlaces;
217
- }
218
- /** @internal */
219
- static _fromRow(row) {
220
- return new _Currency(row);
221
- }
222
- /** Display name in current UI culture (Swedish or English). */
223
- /**
224
- * The currency name as used in its issuing country. Falls back to
225
- * {@link englishName} when no issuing country is known.
226
- */
227
- get nativeName() {
228
- const country = Country.all.find(
229
- (c) => c.currencyCode != null && c.currencyCode.toUpperCase() === this.code.toUpperCase()
230
- );
231
- if (country === void 0) return this.englishName;
232
- return country.nativeName === country.englishName ? this.englishName : this.localizedName;
233
- }
234
- get displayName() {
235
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
236
- }
237
- static tryParse(input) {
238
- if (input == null || input.trim() === "") return null;
239
- const trimmed = sanitizeInput(input).trim();
240
- const byCode = BY_CODE.get(trimmed.toUpperCase());
241
- if (byCode) return byCode;
242
- const byName = BY_NAME.get(trimmed.toLowerCase());
243
- if (byName) return byName;
244
- return null;
245
- }
246
- static parse(input) {
247
- const r = _Currency.tryParse(input);
248
- if (r === null) throw new Error("Unknown currency.");
249
- return r;
250
- }
251
- static isValid(input) {
252
- return _Currency.tryParse(input) !== null;
253
- }
254
- static format(input, options) {
255
- const r = _Currency.tryParse(input);
256
- if (r) return r.displayName;
257
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
258
- return input.trim();
259
- }
260
- return null;
261
- }
262
- static normalize(input, options) {
263
- const r = _Currency.tryParse(input);
264
- if (r) return r.code;
265
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
266
- return input.trim();
267
- }
268
- return null;
269
- }
270
- static isNormalized(input) {
271
- return input != null && _Currency.normalize(input) === input;
272
- }
273
- /** All known currencies. */
274
- static get all() {
275
- return ALL_CURRENCIES;
276
- }
277
- /** @internal Lookup by symbol. */
278
- static tryParseSymbol(symbol) {
279
- if (symbol == null || symbol.trim() === "") return null;
280
- return BY_SYMBOL.get(symbol.trim().toLowerCase()) ?? null;
281
- }
282
- toNormalizedString() {
283
- return this.code;
284
- }
285
- toString() {
286
- return this.displayName;
287
- }
288
- toDisplayString() {
289
- return this.displayName;
290
- }
291
- toEnglishString() {
292
- return this.englishName;
293
- }
294
- toNativeString() {
295
- return this.nativeName;
296
- }
297
- equals(other) {
298
- return other != null && this.code === other.code;
299
- }
300
- compareTo(other) {
301
- if (other == null) return 1;
302
- return this.code < other.code ? -1 : this.code > other.code ? 1 : 0;
303
- }
304
- static get SEK() {
305
- return BY_CODE.get("SEK");
306
- }
307
- static get EUR() {
308
- return BY_CODE.get("EUR");
309
- }
310
- static get USD() {
311
- return BY_CODE.get("USD");
312
- }
313
- static get NOK() {
314
- return BY_CODE.get("NOK");
315
- }
316
- static get DKK() {
317
- return BY_CODE.get("DKK");
318
- }
319
- static get GBP() {
320
- return BY_CODE.get("GBP");
321
- }
322
- };
323
- var ALL_CURRENCIES = KNOWN_CURRENCIES.map((r) => Currency._fromRow(r));
324
- var BY_CODE = /* @__PURE__ */ new Map();
325
- for (const c of ALL_CURRENCIES) BY_CODE.set(c.code.toUpperCase(), c);
326
- var BY_NAME = /* @__PURE__ */ new Map();
327
- for (const c of ALL_CURRENCIES) {
328
- BY_NAME.set(c.englishName.toLowerCase(), c);
329
- BY_NAME.set(c.localizedName.toLowerCase(), c);
330
- }
331
- var BY_SYMBOL = /* @__PURE__ */ new Map();
332
- for (const c of ALL_CURRENCIES) {
333
- if (!BY_SYMBOL.has(c.symbol.toLowerCase())) BY_SYMBOL.set(c.symbol.toLowerCase(), c);
334
- }
335
-
336
- // src/geography/geo-coordinate.ts
337
- var GeoCoordinate = class _GeoCoordinate {
338
- static typeInfo = Object.freeze({
339
- englishName: "Geographic Coordinate",
340
- localizedName: "Geografisk koordinat",
341
- emoji: "\u{1F4CD}",
342
- sources: Object.freeze([
343
- "https://en.wikipedia.org/wiki/Geographic_coordinate_system",
344
- "https://epsg.io/4326"
345
- ])
346
- });
347
- latitude;
348
- longitude;
349
- constructor(latitude, longitude) {
350
- this.latitude = latitude;
351
- this.longitude = longitude;
352
- }
353
- /** @internal */
354
- static _unsafe(latitude, longitude) {
355
- return new _GeoCoordinate(latitude, longitude);
356
- }
357
- get latitudeDirection() {
358
- return this.latitude >= 0 ? "N" : "S";
359
- }
360
- get longitudeDirection() {
361
- return this.longitude >= 0 ? "E" : "W";
362
- }
363
- /** Creates a coordinate from explicit latitude and longitude values. */
364
- static create(latitude, longitude) {
365
- if (!Number.isFinite(latitude) || latitude < -90 || latitude > 90) {
366
- throw new RangeError("Latitude must be between -90 and 90.");
367
- }
368
- if (!Number.isFinite(longitude) || longitude < -180 || longitude > 180) {
369
- throw new RangeError("Longitude must be between -180 and 180.");
370
- }
371
- return _GeoCoordinate._unsafe(latitude, longitude);
372
- }
373
- static tryParse(input) {
374
- if (input == null || input.trim() === "") return null;
375
- const sanitized = sanitizeInput(input).trim();
376
- if (sanitized.length === 0 || sanitized.length > 200) return null;
377
- let m;
378
- m = sanitized.match(DECIMAL_DEGREES);
379
- if (m) return tryDecimal(m.groups.lat, m.groups.lon);
380
- m = sanitized.match(SPACE_SEPARATED);
381
- if (m) return tryDecimal(m.groups.lat, m.groups.lon);
382
- m = sanitized.match(DECIMAL_CARDINAL_SUFFIX);
383
- if (m) {
384
- return tryDecimalCardinal(
385
- m.groups.lat,
386
- m.groups.latDir,
387
- m.groups.lon,
388
- m.groups.lonDir
389
- );
390
- }
391
- m = sanitized.match(CARDINAL_PREFIX);
392
- if (m) {
393
- return tryDecimalCardinal(
394
- m.groups.lat,
395
- m.groups.latDir,
396
- m.groups.lon,
397
- m.groups.lonDir
398
- );
399
- }
400
- m = sanitized.match(DMS);
401
- if (m) return tryDms(m.groups);
402
- m = sanitized.match(DDM);
403
- if (m) return tryDdm(m.groups);
404
- return null;
405
- }
406
- static parse(input) {
407
- const r = _GeoCoordinate.tryParse(input);
408
- if (r === null) throw new Error("Invalid geographic coordinate.");
409
- return r;
410
- }
411
- static isValid(input) {
412
- return _GeoCoordinate.tryParse(input) !== null;
413
- }
414
- static format(input, options) {
415
- const r = _GeoCoordinate.tryParse(input);
416
- if (r) return r.toString();
417
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
418
- return input.trim();
419
- }
420
- return null;
421
- }
422
- static normalize(input, options) {
423
- const r = _GeoCoordinate.tryParse(input);
424
- if (r) return r.toNormalizedString();
425
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null) {
426
- const trimmed = input.trim();
427
- return trimmed.length > 0 ? trimmed : null;
428
- }
429
- return null;
430
- }
431
- static isNormalized(input) {
432
- return input != null && _GeoCoordinate.normalize(input) === input;
433
- }
434
- toNormalizedString() {
435
- return `${formatNumber(this.latitude)}, ${formatNumber(this.longitude)}`;
436
- }
437
- toString() {
438
- return `${formatNumber(Math.abs(this.latitude))}\xB0${this.latitudeDirection}, ${formatNumber(Math.abs(this.longitude))}\xB0${this.longitudeDirection}`;
439
- }
440
- /** Returns the coordinate in degrees, minutes, and seconds, e.g. `59°19'45.5"N, 18°4'7"E`. */
441
- toDmsString() {
442
- const [latDeg, latMin, latSec] = toDmsParts(Math.abs(this.latitude));
443
- const [lonDeg, lonMin, lonSec] = toDmsParts(Math.abs(this.longitude));
444
- return `${latDeg}\xB0${latMin}'${formatSeconds(latSec)}"${this.latitudeDirection}, ${lonDeg}\xB0${lonMin}'${formatSeconds(lonSec)}"${this.longitudeDirection}`;
445
- }
446
- /** Distance in kilometers (Haversine) between two coordinates. */
447
- static distanceKilometers(a, b) {
448
- return haversineKm(a, b);
449
- }
450
- /** Returns true if coordinates `a` and `b` are within `radiusKm` kilometers of each other. */
451
- static isWithinKilometers(a, b, radiusKm) {
452
- return _GeoCoordinate.distanceKilometers(a, b) <= radiusKm;
453
- }
454
- /** Distance in kilometers from this coordinate to `other`. */
455
- distanceKilometersTo(other) {
456
- return haversineKm(this, other);
457
- }
458
- /**
459
- * Returns true if `other` is within `radiusKm` kilometers of this
460
- * coordinate (inclusive).
461
- */
462
- isWithinKilometers(other, radiusKm) {
463
- return this.distanceKilometersTo(other) <= radiusKm;
464
- }
465
- equals(other) {
466
- return other != null && this.latitude === other.latitude && this.longitude === other.longitude;
467
- }
468
- };
469
- var DECIMAL_DEGREES = /^\s*\(?\s*(?<lat>[+-]?\d+(?:\.\d+)?)\s*[,;]\s*(?<lon>[+-]?\d+(?:\.\d+)?)\s*\)?\s*$/;
470
- var SPACE_SEPARATED = /^\s*\(?\s*(?<lat>[+-]?\d+(?:\.\d+)?)\s+(?<lon>[+-]?\d+(?:\.\d+)?)\s*\)?\s*$/;
471
- var DECIMAL_CARDINAL_SUFFIX = /^\s*\(?\s*(?<lat>\d+(?:\.\d+)?)\s*°?\s*(?<latDir>[NSns])\s*[,;\s]\s*(?<lon>\d+(?:\.\d+)?)\s*°?\s*(?<lonDir>[EWewÖöVv])\s*\)?\s*$/u;
472
- var CARDINAL_PREFIX = /^\s*\(?\s*(?<latDir>[NSns])\s*(?<lat>\d+(?:\.\d+)?)\s*°?\s*[,;\s]\s*(?<lonDir>[EWewÖöVv])\s*(?<lon>\d+(?:\.\d+)?)\s*°?\s*\)?\s*$/u;
473
- var DMS = /^\s*\(?\s*(?<latDeg>\d+)\s*°\s*(?<latMin>\d+)\s*[′']\s*(?<latSec>\d+(?:\.\d+)?)\s*[″"]\s*(?<latDir>[NSns])\s*[,;\s]\s*(?<lonDeg>\d+)\s*°\s*(?<lonMin>\d+)\s*[′']\s*(?<lonSec>\d+(?:\.\d+)?)\s*[″"]\s*(?<lonDir>[EWewÖöVv])\s*\)?\s*$/u;
474
- var DDM = /^\s*\(?\s*(?<latDeg>\d+)\s*°\s*(?<latDecMin>\d+(?:\.\d+)?)\s*[′']\s*(?<latDir>[NSns])\s*[,;\s]\s*(?<lonDeg>\d+)\s*°\s*(?<lonDecMin>\d+(?:\.\d+)?)\s*[′']\s*(?<lonDir>[EWewÖöVv])\s*\)?\s*$/u;
475
- function tryDecimal(latStr, lonStr) {
476
- const lat = parseFloat(latStr);
477
- const lon = parseFloat(lonStr);
478
- if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
479
- if (!isInRange(lat, lon)) return null;
480
- return GeoCoordinate._unsafe(lat, lon);
481
- }
482
- function tryDecimalCardinal(latStr, latDir, lonStr, lonDir) {
483
- const lat = applyLatDirection(parseFloat(latStr), latDir);
484
- const lon = applyLonDirection(parseFloat(lonStr), lonDir);
485
- if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
486
- if (!isInRange(lat, lon)) return null;
487
- return GeoCoordinate._unsafe(lat, lon);
488
- }
489
- function tryDms(g) {
490
- const latDeg = parseFloat(g.latDeg);
491
- const latMin = parseFloat(g.latMin);
492
- const latSec = parseFloat(g.latSec);
493
- const lonDeg = parseFloat(g.lonDeg);
494
- const lonMin = parseFloat(g.lonMin);
495
- const lonSec = parseFloat(g.lonSec);
496
- if (latMin >= 60 || latSec >= 60 || lonMin >= 60 || lonSec >= 60) return null;
497
- let lat = round8(latDeg + latMin / 60 + latSec / 3600);
498
- let lon = round8(lonDeg + lonMin / 60 + lonSec / 3600);
499
- lat = applyLatDirection(lat, g.latDir);
500
- lon = applyLonDirection(lon, g.lonDir);
501
- if (!isInRange(lat, lon)) return null;
502
- return GeoCoordinate._unsafe(lat, lon);
503
- }
504
- function tryDdm(g) {
505
- const latDeg = parseFloat(g.latDeg);
506
- const latDecMin = parseFloat(g.latDecMin);
507
- const lonDeg = parseFloat(g.lonDeg);
508
- const lonDecMin = parseFloat(g.lonDecMin);
509
- if (latDecMin >= 60 || lonDecMin >= 60) return null;
510
- let lat = round8(latDeg + latDecMin / 60);
511
- let lon = round8(lonDeg + lonDecMin / 60);
512
- lat = applyLatDirection(lat, g.latDir);
513
- lon = applyLonDirection(lon, g.lonDir);
514
- if (!isInRange(lat, lon)) return null;
515
- return GeoCoordinate._unsafe(lat, lon);
516
- }
517
- function applyLatDirection(lat, dir) {
518
- return dir.toUpperCase() === "S" ? -lat : lat;
519
- }
520
- function applyLonDirection(lon, dir) {
521
- const u = dir.toUpperCase();
522
- return u === "W" || u === "V" ? -lon : lon;
523
- }
524
- function isInRange(lat, lon) {
525
- return lat >= -90 && lat <= 90 && lon >= -180 && lon <= 180;
526
- }
527
- function round8(v) {
528
- return Math.round(v * 1e8) / 1e8;
529
- }
530
- function toDmsParts(dd) {
531
- const degrees = Math.trunc(dd);
532
- const fracMinutes = (dd - degrees) * 60;
533
- const minutes = Math.trunc(fracMinutes);
534
- const seconds = Math.round((fracMinutes - minutes) * 600) / 10;
535
- return [degrees, minutes, seconds];
536
- }
537
- function formatNumber(value) {
538
- return value.toString();
539
- }
540
- function formatSeconds(seconds) {
541
- if (Number.isInteger(seconds)) return seconds.toString();
542
- return seconds.toString().replace(/(\.\d*?)0+$/, "$1");
543
- }
544
- function haversineKm(a, b) {
545
- const R = 6371;
546
- const dLat = toRadians(b.latitude - a.latitude);
547
- const dLon = toRadians(b.longitude - a.longitude);
548
- const lat1 = toRadians(a.latitude);
549
- const lat2 = toRadians(b.latitude);
550
- const h = Math.sin(dLat / 2) ** 2 + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLon / 2) ** 2;
551
- return R * 2 * Math.atan2(Math.sqrt(h), Math.sqrt(1 - h));
552
- }
553
- function toRadians(degrees) {
554
- return degrees * (Math.PI / 180);
555
- }
556
-
557
- // src/geography/language.ts
558
- var TextDirection = {
559
- LeftToRight: "LeftToRight",
560
- RightToLeft: "RightToLeft"
561
- };
562
- var WritingScript = {
563
- Unknown: "Unknown",
564
- Latin: "Latin",
565
- Cyrillic: "Cyrillic",
566
- Arabic: "Arabic",
567
- Greek: "Greek",
568
- Hebrew: "Hebrew",
569
- Devanagari: "Devanagari",
570
- Bengali: "Bengali",
571
- Gurmukhi: "Gurmukhi",
572
- Gujarati: "Gujarati",
573
- Oriya: "Oriya",
574
- Tamil: "Tamil",
575
- Telugu: "Telugu",
576
- Kannada: "Kannada",
577
- Malayalam: "Malayalam",
578
- Sinhala: "Sinhala",
579
- Thai: "Thai",
580
- Lao: "Lao",
581
- Tibetan: "Tibetan",
582
- Myanmar: "Myanmar",
583
- Georgian: "Georgian",
584
- Hangul: "Hangul",
585
- Ethiopic: "Ethiopic",
586
- Canadian: "Canadian",
587
- Khmer: "Khmer",
588
- Han: "Han",
589
- Armenian: "Armenian",
590
- Thaana: "Thaana"
591
- };
592
- var MAX_INPUT_LENGTH = 100;
593
- var Language = class _Language {
594
- static typeInfo = Object.freeze({
595
- englishName: "Language",
596
- localizedName: "Spr\xE5k",
597
- emoji: "\u{1F5E3}\uFE0F",
598
- sources: Object.freeze([
599
- "https://www.loc.gov/standards/iso639-2/php/code_list.php",
600
- "https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes",
601
- "https://iso639-3.sil.org/"
602
- ])
603
- });
604
- alpha2Code;
605
- alpha3Code;
606
- englishName;
607
- localizedName;
608
- nativeName;
609
- script;
610
- direction;
611
- constructor(alpha2, alpha3, en, sv, native, script, direction) {
612
- this.alpha2Code = alpha2;
613
- this.alpha3Code = alpha3;
614
- this.englishName = en;
615
- this.localizedName = sv;
616
- this.nativeName = native;
617
- this.script = script;
618
- this.direction = direction;
619
- }
620
- get displayName() {
621
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
622
- }
623
- get value() {
624
- return this.alpha2Code;
625
- }
626
- /** @internal Used by Country and other types. */
627
- static _create(alpha2, alpha3, en, sv, native, script, direction = TextDirection.LeftToRight) {
628
- return new _Language(alpha2, alpha3, en, sv, native, script, direction);
629
- }
630
- static tryParse(input) {
631
- if (input == null || input.trim() === "") return null;
632
- const trimmed = sanitizeInput(input).trim();
633
- if (trimmed.length === 0 || trimmed.length > MAX_INPUT_LENGTH) return null;
634
- const lower = trimmed.toLowerCase();
635
- return BY_KEY.get(lower) ?? null;
636
- }
637
- static parse(input) {
638
- const r = _Language.tryParse(input);
639
- if (r === null) throw new Error("Unknown language.");
640
- return r;
641
- }
642
- static isValid(input) {
643
- return _Language.tryParse(input) !== null;
644
- }
645
- static format(input, options) {
646
- const r = _Language.tryParse(input);
647
- if (r) return r.displayName;
648
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
649
- return input.trim();
650
- }
651
- return null;
652
- }
653
- static normalize(input, options) {
654
- const r = _Language.tryParse(input);
655
- if (r) return r.alpha2Code;
656
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null) {
657
- const trimmed = input.trim();
658
- return trimmed.length > 0 ? trimmed : null;
659
- }
660
- return null;
661
- }
662
- static isNormalized(input) {
663
- return input != null && _Language.normalize(input) === input;
664
- }
665
- toNormalizedString() {
666
- return this.alpha2Code;
667
- }
668
- toDisplayString() {
669
- return this.displayName;
670
- }
671
- toEnglishString() {
672
- return this.englishName;
673
- }
674
- toNativeString() {
675
- return this.nativeName;
676
- }
677
- toString() {
678
- return this.displayName;
679
- }
680
- equals(other) {
681
- return other != null && this.alpha2Code === other.alpha2Code;
682
- }
683
- compareTo(other) {
684
- if (other == null) return 1;
685
- return this.alpha2Code < other.alpha2Code ? -1 : this.alpha2Code > other.alpha2Code ? 1 : 0;
686
- }
687
- /** All recognized ISO 639-1 languages. */
688
- static get all() {
689
- return ALL;
690
- }
691
- // Frequently used language constants — populated below ALL.
692
- static Afrikaans;
693
- static Albanian;
694
- static Arabic;
695
- static Bulgarian;
696
- static Catalan;
697
- static Chinese;
698
- static Croatian;
699
- static Czech;
700
- static Danish;
701
- static Dutch;
702
- static English;
703
- static Estonian;
704
- static Faroese;
705
- static Finnish;
706
- static French;
707
- static German;
708
- static Greek;
709
- static Hindi;
710
- static Hungarian;
711
- static Icelandic;
712
- static Italian;
713
- static Japanese;
714
- static Korean;
715
- static Latvian;
716
- static Lithuanian;
717
- static NorthernSami;
718
- static Norwegian;
719
- static NorwegianBokmal;
720
- static NorwegianNynorsk;
721
- static Polish;
722
- static Portuguese;
723
- static Romanian;
724
- static Russian;
725
- static Slovak;
726
- static Slovenian;
727
- static Spanish;
728
- static Swahili;
729
- static Swedish;
730
- static Turkish;
731
- static Ukrainian;
732
- };
733
- var L = Language._create;
734
- var ALL = Object.freeze([
735
- L("aa", "aar", "Afar", "Afar", "Afaraf", WritingScript.Latin),
736
- L("ab", "abk", "Abkhazian", "Abchaziska", "\u0410\u04A7\u0441\u0443\u0430", WritingScript.Cyrillic),
737
- L("af", "afr", "Afrikaans", "Afrikaans", "Afrikaans", WritingScript.Latin),
738
- L("ak", "aka", "Akan", "Akan", "Akan", WritingScript.Latin),
739
- L("am", "amh", "Amharic", "Amhariska", "\u12A0\u121B\u122D\u129B", WritingScript.Ethiopic),
740
- L("an", "arg", "Aragonese", "Aragonesiska", "Aragon\xE9s", WritingScript.Latin),
741
- L("ar", "ara", "Arabic", "Arabiska", "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", WritingScript.Arabic, TextDirection.RightToLeft),
742
- L("as", "asm", "Assamese", "Assamesiska", "\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE", WritingScript.Bengali),
743
- L("av", "ava", "Avaric", "Avariska", "\u0410\u0432\u0430\u0440", WritingScript.Cyrillic),
744
- L("ay", "aym", "Aymara", "Aymara", "Aymar", WritingScript.Latin),
745
- L("az", "aze", "Azerbaijani", "Azerbajdzjanska", "Az\u0259rbaycan", WritingScript.Latin),
746
- L("ba", "bak", "Bashkir", "Basjkiriska", "\u0411\u0430\u0448\u04A1\u043E\u0440\u0442", WritingScript.Cyrillic),
747
- L("be", "bel", "Belarusian", "Vitryska", "\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F", WritingScript.Cyrillic),
748
- L("bg", "bul", "Bulgarian", "Bulgariska", "\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", WritingScript.Cyrillic),
749
- L("bh", "bih", "Bihari", "Bihari", "\u092D\u094B\u091C\u092A\u0941\u0930\u0940", WritingScript.Devanagari),
750
- L("bi", "bis", "Bislama", "Bislama", "Bislama", WritingScript.Latin),
751
- L("bm", "bam", "Bambara", "Bambara", "Bamanankan", WritingScript.Latin),
752
- L("bn", "ben", "Bengali", "Bengali", "\u09AC\u09BE\u0982\u09B2\u09BE", WritingScript.Bengali),
753
- L("bo", "bod", "Tibetan", "Tibetanska", "\u0F56\u0F7C\u0F51\u0F0B\u0F61\u0F72\u0F42", WritingScript.Tibetan),
754
- L("br", "bre", "Breton", "Bretonska", "Brezhoneg", WritingScript.Latin),
755
- L("bs", "bos", "Bosnian", "Bosniska", "Bosanski", WritingScript.Latin),
756
- L("ca", "cat", "Catalan", "Katalanska", "Catal\xE0", WritingScript.Latin),
757
- L("ce", "che", "Chechen", "Tjetjenska", "\u041D\u043E\u0445\u0447\u0438\u0439\u043D", WritingScript.Cyrillic),
758
- L("ch", "cha", "Chamorro", "Chamorro", "Chamoru", WritingScript.Latin),
759
- L("co", "cos", "Corsican", "Korsikanska", "Corsu", WritingScript.Latin),
760
- L("cr", "cre", "Cree", "Cree", "\u14C0\u1426\u1403\u152D\u140D\u140F\u1423", WritingScript.Canadian),
761
- L("cs", "ces", "Czech", "Tjeckiska", "\u010Ce\u0161tina", WritingScript.Latin),
762
- L("cu", "chu", "Church Slavonic", "Kyrkoslaviska", "\u0421\u043B\u043E\u0432\u0463\u043D\u044C\u0441\u043A\u044A", WritingScript.Cyrillic),
763
- L("cv", "chv", "Chuvash", "Tjuvasjiska", "\u0427\u04D1\u0432\u0430\u0448", WritingScript.Cyrillic),
764
- L("cy", "cym", "Welsh", "Walesiska", "Cymraeg", WritingScript.Latin),
765
- L("da", "dan", "Danish", "Danska", "Dansk", WritingScript.Latin),
766
- L("de", "deu", "German", "Tyska", "Deutsch", WritingScript.Latin),
767
- L("dv", "div", "Divehi", "Divehi", "\u078B\u07A8\u0788\u07AC\u0780\u07A8", WritingScript.Thaana, TextDirection.RightToLeft),
768
- L("dz", "dzo", "Dzongkha", "Dzongkha", "\u0F62\u0FAB\u0F7C\u0F44\u0F0B\u0F41", WritingScript.Tibetan),
769
- L("ee", "ewe", "Ewe", "Ewe", "E\u028Begbe", WritingScript.Latin),
770
- L("el", "ell", "Greek", "Grekiska", "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", WritingScript.Greek),
771
- L("en", "eng", "English", "Engelska", "English", WritingScript.Latin),
772
- L("eo", "epo", "Esperanto", "Esperanto", "Esperanto", WritingScript.Latin),
773
- L("es", "spa", "Spanish", "Spanska", "Espa\xF1ol", WritingScript.Latin),
774
- L("et", "est", "Estonian", "Estniska", "Eesti", WritingScript.Latin),
775
- L("eu", "eus", "Basque", "Baskiska", "Euskara", WritingScript.Latin),
776
- L("fa", "fas", "Persian", "Persiska", "\u0641\u0627\u0631\u0633\u06CC", WritingScript.Arabic, TextDirection.RightToLeft),
777
- L("ff", "ful", "Fulah", "Fulani", "Fulfulde", WritingScript.Latin),
778
- L("fi", "fin", "Finnish", "Finska", "Suomi", WritingScript.Latin),
779
- L("fj", "fij", "Fijian", "Fijianska", "Vosa Vakaviti", WritingScript.Latin),
780
- L("fo", "fao", "Faroese", "F\xE4r\xF6iska", "F\xF8royskt", WritingScript.Latin),
781
- L("fr", "fra", "French", "Franska", "Fran\xE7ais", WritingScript.Latin),
782
- L("fy", "fry", "Western Frisian", "Frisiska", "Frysk", WritingScript.Latin),
783
- L("ga", "gle", "Irish", "Iriska", "Gaeilge", WritingScript.Latin),
784
- L("gd", "gla", "Scottish Gaelic", "Skotsk gaeliska", "G\xE0idhlig", WritingScript.Latin),
785
- L("gl", "glg", "Galician", "Galiciska", "Galego", WritingScript.Latin),
786
- L("gn", "grn", "Guarani", "Guaran\xED", "Ava\xF1e'\u1EBD", WritingScript.Latin),
787
- L("gu", "guj", "Gujarati", "Gujarati", "\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0", WritingScript.Gujarati),
788
- L("gv", "glv", "Manx", "Manx", "Gaelg", WritingScript.Latin),
789
- L("ha", "hau", "Hausa", "Hausa", "Hausa", WritingScript.Latin),
790
- L("he", "heb", "Hebrew", "Hebreiska", "\u05E2\u05D1\u05E8\u05D9\u05EA", WritingScript.Hebrew, TextDirection.RightToLeft),
791
- L("hi", "hin", "Hindi", "Hindi", "\u0939\u093F\u0928\u094D\u0926\u0940", WritingScript.Devanagari),
792
- L("ho", "hmo", "Hiri Motu", "Hiri Motu", "Hiri Motu", WritingScript.Latin),
793
- L("hr", "hrv", "Croatian", "Kroatiska", "Hrvatski", WritingScript.Latin),
794
- L("ht", "hat", "Haitian Creole", "Haitisk kreol", "Krey\xF2l Ayisyen", WritingScript.Latin),
795
- L("hu", "hun", "Hungarian", "Ungerska", "Magyar", WritingScript.Latin),
796
- L("hy", "hye", "Armenian", "Armeniska", "\u0540\u0561\u0575\u0565\u0580\u0565\u0576", WritingScript.Armenian),
797
- L("ia", "ina", "Interlingua", "Interlingua", "Interlingua", WritingScript.Latin),
798
- L("id", "ind", "Indonesian", "Indonesiska", "Bahasa Indonesia", WritingScript.Latin),
799
- L("ie", "ile", "Interlingue", "Interlingue", "Interlingue", WritingScript.Latin),
800
- L("ig", "ibo", "Igbo", "Igbo", "Igbo", WritingScript.Latin),
801
- L("ii", "iii", "Sichuan Yi", "Yi", "\uA188\uA320\uA4A1", WritingScript.Unknown),
802
- L("ik", "ipk", "Inupiaq", "Inupiaq", "I\xF1upiaq", WritingScript.Latin),
803
- L("io", "ido", "Ido", "Ido", "Ido", WritingScript.Latin),
804
- L("is", "isl", "Icelandic", "Isl\xE4ndska", "\xCDslenska", WritingScript.Latin),
805
- L("it", "ita", "Italian", "Italienska", "Italiano", WritingScript.Latin),
806
- L("iu", "iku", "Inuktitut", "Inuktitut", "\u1403\u14C4\u1483\u144E\u1450\u1466", WritingScript.Canadian),
807
- L("ja", "jpn", "Japanese", "Japanska", "\u65E5\u672C\u8A9E", WritingScript.Han),
808
- L("jv", "jav", "Javanese", "Javanesiska", "Basa Jawa", WritingScript.Latin),
809
- L("ka", "kat", "Georgian", "Georgiska", "\u10E5\u10D0\u10E0\u10D7\u10E3\u10DA\u10D8", WritingScript.Georgian),
810
- L("kg", "kon", "Kongo", "Kikongo", "KiKongo", WritingScript.Latin),
811
- L("ki", "kik", "Kikuyu", "Kikuyu", "G\u0129k\u0169y\u0169", WritingScript.Latin),
812
- L("kj", "kua", "Kuanyama", "Kuanyama", "Kuanyama", WritingScript.Latin),
813
- L("kk", "kaz", "Kazakh", "Kazakiska", "\u049A\u0430\u0437\u0430\u049B\u0448\u0430", WritingScript.Cyrillic),
814
- L("kl", "kal", "Kalaallisut", "Gr\xF6nl\xE4ndska", "Kalaallisut", WritingScript.Latin),
815
- L("km", "khm", "Khmer", "Khmer", "\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A", WritingScript.Khmer),
816
- L("kn", "kan", "Kannada", "Kannada", "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1", WritingScript.Kannada),
817
- L("ko", "kor", "Korean", "Koreanska", "\uD55C\uAD6D\uC5B4", WritingScript.Hangul),
818
- L("kr", "kau", "Kanuri", "Kanuri", "Kanuri", WritingScript.Latin),
819
- L(
820
- "ks",
821
- "kas",
822
- "Kashmiri",
823
- "Kashmiri",
824
- "\u0915\u0936\u094D\u092E\u0940\u0930\u0940",
825
- WritingScript.Arabic,
826
- TextDirection.RightToLeft
827
- ),
828
- L("ku", "kur", "Kurdish", "Kurdiska", "Kurd\xEE", WritingScript.Latin),
829
- L("kv", "kom", "Komi", "Komi", "\u041A\u043E\u043C\u0438", WritingScript.Cyrillic),
830
- L("kw", "cor", "Cornish", "Korniska", "Kernewek", WritingScript.Latin),
831
- L("ky", "kir", "Kyrgyz", "Kirgiziska", "\u041A\u044B\u0440\u0433\u044B\u0437\u0447\u0430", WritingScript.Cyrillic),
832
- L("la", "lat", "Latin", "Latin", "Latina", WritingScript.Latin),
833
- L("lb", "ltz", "Luxembourgish", "Luxemburgiska", "L\xEBtzebuergesch", WritingScript.Latin),
834
- L("lg", "lug", "Ganda", "Luganda", "Luganda", WritingScript.Latin),
835
- L("li", "lim", "Limburgish", "Limburgiska", "Limburgs", WritingScript.Latin),
836
- L("ln", "lin", "Lingala", "Lingala", "Ling\xE1la", WritingScript.Latin),
837
- L("lo", "lao", "Lao", "Laotiska", "\u0E9E\u0EB2\u0EAA\u0EB2\u0EA5\u0EB2\u0EA7", WritingScript.Lao),
838
- L("lt", "lit", "Lithuanian", "Litauiska", "Lietuvi\u0173", WritingScript.Latin),
839
- L("lu", "lub", "Luba-Katanga", "Luba-Katanga", "Kiluba", WritingScript.Latin),
840
- L("lv", "lav", "Latvian", "Lettiska", "Latvie\u0161u", WritingScript.Latin),
841
- L("mg", "mlg", "Malagasy", "Malagassiska", "Malagasy", WritingScript.Latin),
842
- L("mh", "mah", "Marshallese", "Marshallesiska", "Kajin M\u0327aje\u013C", WritingScript.Latin),
843
- L("mi", "mri", "Maori", "Maori", "Te Reo M\u0101ori", WritingScript.Latin),
844
- L("mk", "mkd", "Macedonian", "Makedonska", "\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438", WritingScript.Cyrillic),
845
- L("ml", "mal", "Malayalam", "Malayalam", "\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02", WritingScript.Malayalam),
846
- L("mn", "mon", "Mongolian", "Mongoliska", "\u041C\u043E\u043D\u0433\u043E\u043B", WritingScript.Cyrillic),
847
- L("mr", "mar", "Marathi", "Marathi", "\u092E\u0930\u093E\u0920\u0940", WritingScript.Devanagari),
848
- L("ms", "msa", "Malay", "Malajiska", "Bahasa Melayu", WritingScript.Latin),
849
- L("mt", "mlt", "Maltese", "Maltesiska", "Malti", WritingScript.Latin),
850
- L("my", "mya", "Burmese", "Burmesiska", "\u1019\u103C\u1014\u103A\u1019\u102C\u1005\u102C", WritingScript.Myanmar),
851
- L("na", "nau", "Nauru", "Nauru", "Dorerin Naoero", WritingScript.Latin),
852
- L("nb", "nob", "Norwegian Bokm\xE5l", "Norska (bokm\xE5l)", "Norsk bokm\xE5l", WritingScript.Latin),
853
- L("nd", "nde", "Northern Ndebele", "Nordndebele", "isiNdebele", WritingScript.Latin),
854
- L("ne", "nep", "Nepali", "Nepalesiska", "\u0928\u0947\u092A\u093E\u0932\u0940", WritingScript.Devanagari),
855
- L("ng", "ndo", "Ndonga", "Ndonga", "Owambo", WritingScript.Latin),
856
- L("nl", "nld", "Dutch", "Nederl\xE4ndska", "Nederlands", WritingScript.Latin),
857
- L("nn", "nno", "Norwegian Nynorsk", "Norska (nynorsk)", "Norsk nynorsk", WritingScript.Latin),
858
- L("no", "nor", "Norwegian", "Norska", "Norsk", WritingScript.Latin),
859
- L("nr", "nbl", "Southern Ndebele", "Sydndebele", "isiNdebele", WritingScript.Latin),
860
- L("nv", "nav", "Navajo", "Navajo", "Din\xE9 Bizaad", WritingScript.Latin),
861
- L("ny", "nya", "Chichewa", "Chichewa", "Chichewa", WritingScript.Latin),
862
- L("oc", "oci", "Occitan", "Occitanska", "Occitan", WritingScript.Latin),
863
- L("oj", "oji", "Ojibwa", "Ojibwa", "\u140A\u14C2\u1511\u14C8\u142F\u14A7\u140E\u14D0", WritingScript.Canadian),
864
- L("om", "orm", "Oromo", "Oromo", "Afaan Oromoo", WritingScript.Latin),
865
- L("or", "ori", "Oriya", "Oriya", "\u0B13\u0B21\u0B3C\u0B3F\u0B06", WritingScript.Oriya),
866
- L("os", "oss", "Ossetian", "Ossetiska", "\u0418\u0440\u043E\u043D", WritingScript.Cyrillic),
867
- L("pa", "pan", "Punjabi", "Punjabi", "\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40", WritingScript.Gurmukhi),
868
- L("pi", "pli", "Pali", "Pali", "\u092A\u093E\u0932\u093F", WritingScript.Devanagari),
869
- L("pl", "pol", "Polish", "Polska", "Polski", WritingScript.Latin),
870
- L("ps", "pus", "Pashto", "Pashto", "\u067E\u069A\u062A\u0648", WritingScript.Arabic, TextDirection.RightToLeft),
871
- L("pt", "por", "Portuguese", "Portugisiska", "Portugu\xEAs", WritingScript.Latin),
872
- L("qu", "que", "Quechua", "Quechua", "Runa Simi", WritingScript.Latin),
873
- L("rm", "roh", "Romansh", "R\xE4toromanska", "Rumantsch", WritingScript.Latin),
874
- L("rn", "run", "Rundi", "Kirundi", "Ikirundi", WritingScript.Latin),
875
- L("ro", "ron", "Romanian", "Rum\xE4nska", "Rom\xE2n\u0103", WritingScript.Latin),
876
- L("ru", "rus", "Russian", "Ryska", "\u0420\u0443\u0441\u0441\u043A\u0438\u0439", WritingScript.Cyrillic),
877
- L("rw", "kin", "Kinyarwanda", "Kinyarwanda", "Ikinyarwanda", WritingScript.Latin),
878
- L("sa", "san", "Sanskrit", "Sanskrit", "\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D", WritingScript.Devanagari),
879
- L("sc", "srd", "Sardinian", "Sardiska", "Sardu", WritingScript.Latin),
880
- L("sd", "snd", "Sindhi", "Sindhi", "\u0633\u0646\u068C\u064A", WritingScript.Arabic, TextDirection.RightToLeft),
881
- L("se", "sme", "Northern Sami", "Nordsamiska", "Davvis\xE1megiella", WritingScript.Latin),
882
- L("sg", "sag", "Sango", "Sango", "Y\xE2ng\xE2 t\xEE S\xE4ng\xF6", WritingScript.Latin),
883
- L("si", "sin", "Sinhala", "Singalesiska", "\u0DC3\u0DD2\u0D82\u0DC4\u0DBD", WritingScript.Sinhala),
884
- L("sk", "slk", "Slovak", "Slovakiska", "Sloven\u010Dina", WritingScript.Latin),
885
- L("sl", "slv", "Slovenian", "Slovenska", "Sloven\u0161\u010Dina", WritingScript.Latin),
886
- L("sm", "smo", "Samoan", "Samoanska", "Gagana S\u0101moa", WritingScript.Latin),
887
- L("sn", "sna", "Shona", "Shona", "ChiShona", WritingScript.Latin),
888
- L("so", "som", "Somali", "Somaliska", "Soomaali", WritingScript.Latin),
889
- L("sq", "sqi", "Albanian", "Albanska", "Shqip", WritingScript.Latin),
890
- L("sr", "srp", "Serbian", "Serbiska", "\u0421\u0440\u043F\u0441\u043A\u0438", WritingScript.Cyrillic),
891
- L("ss", "ssw", "Swati", "Swati", "SiSwati", WritingScript.Latin),
892
- L("st", "sot", "Southern Sotho", "Sotho", "Sesotho", WritingScript.Latin),
893
- L("su", "sun", "Sundanese", "Sundanesiska", "Basa Sunda", WritingScript.Latin),
894
- L("sv", "swe", "Swedish", "Svenska", "Svenska", WritingScript.Latin),
895
- L("sw", "swa", "Swahili", "Swahili", "Kiswahili", WritingScript.Latin),
896
- L("ta", "tam", "Tamil", "Tamil", "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD", WritingScript.Tamil),
897
- L("te", "tel", "Telugu", "Telugu", "\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41", WritingScript.Telugu),
898
- L("tg", "tgk", "Tajik", "Tadzjikiska", "\u0422\u043E\u04B7\u0438\u043A\u04E3", WritingScript.Cyrillic),
899
- L("th", "tha", "Thai", "Thail\xE4ndska", "\u0E44\u0E17\u0E22", WritingScript.Thai),
900
- L("ti", "tir", "Tigrinya", "Tigrinja", "\u1275\u130D\u122D\u129B", WritingScript.Ethiopic),
901
- L("tk", "tuk", "Turkmen", "Turkmeniska", "T\xFCrkmen", WritingScript.Latin),
902
- L("tl", "tgl", "Tagalog", "Tagalog", "Tagalog", WritingScript.Latin),
903
- L("tn", "tsn", "Tswana", "Tswana", "Setswana", WritingScript.Latin),
904
- L("to", "ton", "Tongan", "Tonganska", "Lea Faka-Tonga", WritingScript.Latin),
905
- L("tr", "tur", "Turkish", "Turkiska", "T\xFCrk\xE7e", WritingScript.Latin),
906
- L("ts", "tso", "Tsonga", "Tsonga", "Xitsonga", WritingScript.Latin),
907
- L("tt", "tat", "Tatar", "Tatariska", "\u0422\u0430\u0442\u0430\u0440", WritingScript.Cyrillic),
908
- L("tw", "twi", "Twi", "Twi", "Twi", WritingScript.Latin),
909
- L("ty", "tah", "Tahitian", "Tahitiska", "Reo Tahiti", WritingScript.Latin),
910
- L(
911
- "ug",
912
- "uig",
913
- "Uyghur",
914
- "Uiguriska",
915
- "\u0626\u06C7\u064A\u063A\u06C7\u0631\u0686\u06D5",
916
- WritingScript.Arabic,
917
- TextDirection.RightToLeft
918
- ),
919
- L("uk", "ukr", "Ukrainian", "Ukrainska", "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", WritingScript.Cyrillic),
920
- L("ur", "urd", "Urdu", "Urdu", "\u0627\u0631\u062F\u0648", WritingScript.Arabic, TextDirection.RightToLeft),
921
- L("uz", "uzb", "Uzbek", "Uzbekiska", "O\u02BBzbek", WritingScript.Latin),
922
- L("ve", "ven", "Venda", "Venda", "Tshiven\u1E13a", WritingScript.Latin),
923
- L("vi", "vie", "Vietnamese", "Vietnamesiska", "Ti\u1EBFng Vi\u1EC7t", WritingScript.Latin),
924
- L("vo", "vol", "Volap\xFCk", "Volap\xFCk", "Volap\xFCk", WritingScript.Latin),
925
- L("wa", "wln", "Walloon", "Vallonska", "Walon", WritingScript.Latin),
926
- L("wo", "wol", "Wolof", "Wolof", "Wollof", WritingScript.Latin),
927
- L("xh", "xho", "Xhosa", "Xhosa", "isiXhosa", WritingScript.Latin),
928
- L("yi", "yid", "Yiddish", "Jiddisch", "\u05D9\u05D9\u05B4\u05D3\u05D9\u05E9", WritingScript.Hebrew, TextDirection.RightToLeft),
929
- L("yo", "yor", "Yoruba", "Yoruba", "Yor\xF9b\xE1", WritingScript.Latin),
930
- L("za", "zha", "Zhuang", "Zhuang", "Sa\u026F cue\u014B\u0185", WritingScript.Latin),
931
- L("zh", "zho", "Chinese", "Kinesiska", "\u4E2D\u6587", WritingScript.Han),
932
- L("zu", "zul", "Zulu", "Zulu", "isiZulu", WritingScript.Latin)
933
- ]);
934
- var BY_KEY = (() => {
935
- const m = /* @__PURE__ */ new Map();
936
- for (const lang of ALL) {
937
- m.set(lang.alpha2Code, lang);
938
- m.set(lang.alpha3Code, lang);
939
- m.set(lang.englishName.toLowerCase(), lang);
940
- if (!m.has(lang.localizedName.toLowerCase())) {
941
- m.set(lang.localizedName.toLowerCase(), lang);
942
- }
943
- if (lang.nativeName.toLowerCase() !== lang.englishName.toLowerCase() && !m.has(lang.nativeName.toLowerCase())) {
944
- m.set(lang.nativeName.toLowerCase(), lang);
945
- }
946
- }
947
- return m;
948
- })();
949
- var byA2 = (a2) => BY_KEY.get(a2);
950
- Language.Afrikaans = byA2("af");
951
- Language.Albanian = byA2("sq");
952
- Language.Arabic = byA2("ar");
953
- Language.Bulgarian = byA2("bg");
954
- Language.Catalan = byA2("ca");
955
- Language.Chinese = byA2("zh");
956
- Language.Croatian = byA2("hr");
957
- Language.Czech = byA2("cs");
958
- Language.Danish = byA2("da");
959
- Language.Dutch = byA2("nl");
960
- Language.English = byA2("en");
961
- Language.Estonian = byA2("et");
962
- Language.Faroese = byA2("fo");
963
- Language.Finnish = byA2("fi");
964
- Language.French = byA2("fr");
965
- Language.German = byA2("de");
966
- Language.Greek = byA2("el");
967
- Language.Hindi = byA2("hi");
968
- Language.Hungarian = byA2("hu");
969
- Language.Icelandic = byA2("is");
970
- Language.Italian = byA2("it");
971
- Language.Japanese = byA2("ja");
972
- Language.Korean = byA2("ko");
973
- Language.Latvian = byA2("lv");
974
- Language.Lithuanian = byA2("lt");
975
- Language.NorthernSami = byA2("se");
976
- Language.Norwegian = byA2("no");
977
- Language.NorwegianBokmal = byA2("nb");
978
- Language.NorwegianNynorsk = byA2("nn");
979
- Language.Polish = byA2("pl");
980
- Language.Portuguese = byA2("pt");
981
- Language.Romanian = byA2("ro");
982
- Language.Russian = byA2("ru");
983
- Language.Slovak = byA2("sk");
984
- Language.Slovenian = byA2("sl");
985
- Language.Spanish = byA2("es");
986
- Language.Swahili = byA2("sw");
987
- Language.Swedish = byA2("sv");
988
- Language.Turkish = byA2("tr");
989
- Language.Ukrainian = byA2("uk");
990
-
991
- // src/geography/continent.ts
992
- var MAX_INPUT_LENGTH2 = 50;
993
- var Continent = class _Continent {
994
- static typeInfo = Object.freeze({
995
- englishName: "Continent",
996
- localizedName: "Kontinent",
997
- emoji: "\u{1F5FA}\uFE0F",
998
- sources: Object.freeze([
999
- "https://unstats.un.org/unsd/methodology/m49/",
1000
- "https://datahub.io/core/continent-codes"
1001
- ])
1002
- });
1003
- static Africa = new _Continent("AF", "Africa", "Afrika");
1004
- static Antarctica = new _Continent("AN", "Antarctica", "Antarktis");
1005
- static Asia = new _Continent("AS", "Asia", "Asien");
1006
- static Europe = new _Continent("EU", "Europe", "Europa");
1007
- static NorthAmerica = new _Continent("NA", "North America", "Nordamerika");
1008
- static Oceania = new _Continent("OC", "Oceania", "Oceanien");
1009
- static SouthAmerica = new _Continent("SA", "South America", "Sydamerika");
1010
- /** All seven continents. */
1011
- static all = Object.freeze([
1012
- _Continent.Africa,
1013
- _Continent.Antarctica,
1014
- _Continent.Asia,
1015
- _Continent.Europe,
1016
- _Continent.NorthAmerica,
1017
- _Continent.Oceania,
1018
- _Continent.SouthAmerica
1019
- ]);
1020
- code;
1021
- englishName;
1022
- localizedName;
1023
- constructor(code, englishName, localizedName) {
1024
- this.code = code;
1025
- this.englishName = englishName;
1026
- this.localizedName = localizedName;
1027
- }
1028
- get displayName() {
1029
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
1030
- }
1031
- get value() {
1032
- return this.code;
1033
- }
1034
- static tryParse(input) {
1035
- if (input == null) return null;
1036
- const trimmed = input.trim();
1037
- if (trimmed.length === 0 || trimmed.length > MAX_INPUT_LENGTH2) return null;
1038
- const lower = trimmed.toLowerCase();
1039
- return BY_KEY2.get(lower) ?? null;
1040
- }
1041
- static parse(input) {
1042
- const r = _Continent.tryParse(input);
1043
- if (r === null) throw new Error("Unknown continent.");
1044
- return r;
1045
- }
1046
- static isValid(input) {
1047
- return _Continent.tryParse(input) !== null;
1048
- }
1049
- static format(input, options) {
1050
- const r = _Continent.tryParse(input);
1051
- if (r) return r.displayName;
1052
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
1053
- return input.trim();
1054
- }
1055
- return null;
1056
- }
1057
- static normalize(input, options) {
1058
- const r = _Continent.tryParse(input);
1059
- if (r) return r.code;
1060
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null) {
1061
- const trimmed = input.trim();
1062
- return trimmed.length > 0 ? trimmed : null;
1063
- }
1064
- return null;
1065
- }
1066
- static isNormalized(input) {
1067
- return input != null && _Continent.normalize(input) === input;
1068
- }
1069
- toNormalizedString() {
1070
- return this.code;
1071
- }
1072
- toString() {
1073
- return this.displayName;
1074
- }
1075
- equals(other) {
1076
- return other != null && this.code === other.code;
1077
- }
1078
- compareTo(other) {
1079
- if (other == null) return 1;
1080
- return this.code < other.code ? -1 : this.code > other.code ? 1 : 0;
1081
- }
1082
- };
1083
- var BY_KEY2 = (() => {
1084
- const m = /* @__PURE__ */ new Map();
1085
- for (const c of Continent.all) {
1086
- m.set(c.code.toLowerCase(), c);
1087
- m.set(c.englishName.toLowerCase(), c);
1088
- m.set(c.localizedName.toLowerCase(), c);
1089
- }
1090
- return m;
1091
- })();
1092
-
1093
- // src/geography/country-data.ts
1094
- var C = (alpha2, alpha3, numeric, en, sv, native, callingCode, tld, continent) => ({ alpha2, alpha3, numeric, en, sv, native, callingCode, tld, continent });
1095
- var COUNTRY_ROWS = [
1096
- C("AF", "AFG", 4, "Afghanistan", "Afghanistan", "\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646", "93", ".af", Continent.Asia),
1097
- C("AL", "ALB", 8, "Albania", "Albanien", "Shqip\xEBria", "355", ".al", Continent.Europe),
1098
- C("DZ", "DZA", 12, "Algeria", "Algeriet", "\u0627\u0644\u062C\u0632\u0627\u0626\u0631", "213", ".dz", Continent.Africa),
1099
- C(
1100
- "AS",
1101
- "ASM",
1102
- 16,
1103
- "American Samoa",
1104
- "Amerikanska Samoa",
1105
- "American Samoa",
1106
- "1",
1107
- ".as",
1108
- Continent.Oceania
1109
- ),
1110
- C("AD", "AND", 20, "Andorra", "Andorra", "Andorra", "376", ".ad", Continent.Europe),
1111
- C("AO", "AGO", 24, "Angola", "Angola", "Angola", "244", ".ao", Continent.Africa),
1112
- C(
1113
- "AG",
1114
- "ATG",
1115
- 28,
1116
- "Antigua and Barbuda",
1117
- "Antigua och Barbuda",
1118
- "Antigua and Barbuda",
1119
- "1",
1120
- ".ag",
1121
- Continent.NorthAmerica
1122
- ),
1123
- C("AR", "ARG", 32, "Argentina", "Argentina", "Argentina", "54", ".ar", Continent.SouthAmerica),
1124
- C("AM", "ARM", 51, "Armenia", "Armenien", "\u0540\u0561\u0575\u0561\u057D\u057F\u0561\u0576", "374", ".am", Continent.Asia),
1125
- C("AW", "ABW", 533, "Aruba", "Aruba", "Aruba", "297", ".aw", Continent.NorthAmerica),
1126
- C("AU", "AUS", 36, "Australia", "Australien", "Australia", "61", ".au", Continent.Oceania),
1127
- C("AT", "AUT", 40, "Austria", "\xD6sterrike", "\xD6sterreich", "43", ".at", Continent.Europe),
1128
- C("AZ", "AZE", 31, "Azerbaijan", "Azerbajdzjan", "Az\u0259rbaycan", "994", ".az", Continent.Asia),
1129
- C("BS", "BHS", 44, "Bahamas", "Bahamas", "Bahamas", "1", ".bs", Continent.NorthAmerica),
1130
- C("BH", "BHR", 48, "Bahrain", "Bahrain", "\u0627\u0644\u0628\u062D\u0631\u064A\u0646", "973", ".bh", Continent.Asia),
1131
- C("BD", "BGD", 50, "Bangladesh", "Bangladesh", "\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6", "880", ".bd", Continent.Asia),
1132
- C("BB", "BRB", 52, "Barbados", "Barbados", "Barbados", "1", ".bb", Continent.NorthAmerica),
1133
- C("BY", "BLR", 112, "Belarus", "Belarus", "\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C", "375", ".by", Continent.Europe),
1134
- C("BE", "BEL", 56, "Belgium", "Belgien", "Belgi\xEB", "32", ".be", Continent.Europe),
1135
- C("BZ", "BLZ", 84, "Belize", "Belize", "Belize", "501", ".bz", Continent.NorthAmerica),
1136
- C("BJ", "BEN", 204, "Benin", "Benin", "B\xE9nin", "229", ".bj", Continent.Africa),
1137
- C("BM", "BMU", 60, "Bermuda", "Bermuda", "Bermuda", "1", ".bm", Continent.NorthAmerica),
1138
- C("BT", "BTN", 64, "Bhutan", "Bhutan", "\u0F60\u0F56\u0FB2\u0F74\u0F42", "975", ".bt", Continent.Asia),
1139
- C("BO", "BOL", 68, "Bolivia", "Bolivia", "Bolivia", "591", ".bo", Continent.SouthAmerica),
1140
- C(
1141
- "BA",
1142
- "BIH",
1143
- 70,
1144
- "Bosnia and Herzegovina",
1145
- "Bosnien och Hercegovina",
1146
- "Bosna i Hercegovina",
1147
- "387",
1148
- ".ba",
1149
- Continent.Europe
1150
- ),
1151
- C("BW", "BWA", 72, "Botswana", "Botswana", "Botswana", "267", ".bw", Continent.Africa),
1152
- C("BR", "BRA", 76, "Brazil", "Brasilien", "Brasil", "55", ".br", Continent.SouthAmerica),
1153
- C("BN", "BRN", 96, "Brunei", "Brunei", "Brunei", "673", ".bn", Continent.Asia),
1154
- C("BG", "BGR", 100, "Bulgaria", "Bulgarien", "\u0411\u044A\u043B\u0433\u0430\u0440\u0438\u044F", "359", ".bg", Continent.Europe),
1155
- C(
1156
- "BF",
1157
- "BFA",
1158
- 854,
1159
- "Burkina Faso",
1160
- "Burkina Faso",
1161
- "Burkina Faso",
1162
- "226",
1163
- ".bf",
1164
- Continent.Africa
1165
- ),
1166
- C("BI", "BDI", 108, "Burundi", "Burundi", "Burundi", "257", ".bi", Continent.Africa),
1167
- C("CV", "CPV", 132, "Cabo Verde", "Kap Verde", "Cabo Verde", "238", ".cv", Continent.Africa),
1168
- C("KH", "KHM", 116, "Cambodia", "Kambodja", "\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6", "855", ".kh", Continent.Asia),
1169
- C("CM", "CMR", 120, "Cameroon", "Kamerun", "Cameroun", "237", ".cm", Continent.Africa),
1170
- C("CA", "CAN", 124, "Canada", "Kanada", "Canada", "1", ".ca", Continent.NorthAmerica),
1171
- C(
1172
- "CF",
1173
- "CAF",
1174
- 140,
1175
- "Central African Republic",
1176
- "Centralafrikanska republiken",
1177
- "R\xE9publique centrafricaine",
1178
- "236",
1179
- ".cf",
1180
- Continent.Africa
1181
- ),
1182
- C("TD", "TCD", 148, "Chad", "Tchad", "Tchad", "235", ".td", Continent.Africa),
1183
- C("CL", "CHL", 152, "Chile", "Chile", "Chile", "56", ".cl", Continent.SouthAmerica),
1184
- C("CN", "CHN", 156, "China", "Kina", "\u4E2D\u56FD", "86", ".cn", Continent.Asia),
1185
- C("CO", "COL", 170, "Colombia", "Colombia", "Colombia", "57", ".co", Continent.SouthAmerica),
1186
- C("KM", "COM", 174, "Comoros", "Komorerna", "Komori", "269", ".km", Continent.Africa),
1187
- C("CG", "COG", 178, "Congo", "Kongo", "Congo", "242", ".cg", Continent.Africa),
1188
- C(
1189
- "CD",
1190
- "COD",
1191
- 180,
1192
- "Congo (Democratic Republic)",
1193
- "Demokratiska republiken Kongo",
1194
- "R\xE9publique d\xE9mocratique du Congo",
1195
- "243",
1196
- ".cd",
1197
- Continent.Africa
1198
- ),
1199
- C(
1200
- "CR",
1201
- "CRI",
1202
- 188,
1203
- "Costa Rica",
1204
- "Costa Rica",
1205
- "Costa Rica",
1206
- "506",
1207
- ".cr",
1208
- Continent.NorthAmerica
1209
- ),
1210
- C(
1211
- "CI",
1212
- "CIV",
1213
- 384,
1214
- "C\xF4te d'Ivoire",
1215
- "Elfenbenskusten",
1216
- "C\xF4te d'Ivoire",
1217
- "225",
1218
- ".ci",
1219
- Continent.Africa
1220
- ),
1221
- C("HR", "HRV", 191, "Croatia", "Kroatien", "Hrvatska", "385", ".hr", Continent.Europe),
1222
- C("CU", "CUB", 192, "Cuba", "Kuba", "Cuba", "53", ".cu", Continent.NorthAmerica),
1223
- C("CW", "CUW", 531, "Cura\xE7ao", "Cura\xE7ao", "Cura\xE7ao", "599", ".cw", Continent.NorthAmerica),
1224
- C("CY", "CYP", 196, "Cyprus", "Cypern", "\u039A\u03CD\u03C0\u03C1\u03BF\u03C2", "357", ".cy", Continent.Europe),
1225
- C("CZ", "CZE", 203, "Czechia", "Tjeckien", "\u010Cesko", "420", ".cz", Continent.Europe),
1226
- C("DK", "DNK", 208, "Denmark", "Danmark", "Danmark", "45", ".dk", Continent.Europe),
1227
- C("DJ", "DJI", 262, "Djibouti", "Djibouti", "Djibouti", "253", ".dj", Continent.Africa),
1228
- C("DM", "DMA", 212, "Dominica", "Dominica", "Dominica", "1", ".dm", Continent.NorthAmerica),
1229
- C(
1230
- "DO",
1231
- "DOM",
1232
- 214,
1233
- "Dominican Republic",
1234
- "Dominikanska republiken",
1235
- "Rep\xFAblica Dominicana",
1236
- "1",
1237
- ".do",
1238
- Continent.NorthAmerica
1239
- ),
1240
- C("EC", "ECU", 218, "Ecuador", "Ecuador", "Ecuador", "593", ".ec", Continent.SouthAmerica),
1241
- C("EG", "EGY", 818, "Egypt", "Egypten", "\u0645\u0635\u0631", "20", ".eg", Continent.Africa),
1242
- C(
1243
- "SV",
1244
- "SLV",
1245
- 222,
1246
- "El Salvador",
1247
- "El Salvador",
1248
- "El Salvador",
1249
- "503",
1250
- ".sv",
1251
- Continent.NorthAmerica
1252
- ),
1253
- C(
1254
- "GQ",
1255
- "GNQ",
1256
- 226,
1257
- "Equatorial Guinea",
1258
- "Ekvatorialguinea",
1259
- "Guinea Ecuatorial",
1260
- "240",
1261
- ".gq",
1262
- Continent.Africa
1263
- ),
1264
- C("ER", "ERI", 232, "Eritrea", "Eritrea", "\u12A4\u122D\u1275\u122B", "291", ".er", Continent.Africa),
1265
- C("EE", "EST", 233, "Estonia", "Estland", "Eesti", "372", ".ee", Continent.Europe),
1266
- C("SZ", "SWZ", 748, "Eswatini", "Eswatini", "eSwatini", "268", ".sz", Continent.Africa),
1267
- C("ET", "ETH", 231, "Ethiopia", "Etiopien", "\u12A2\u1275\u12EE\u1335\u12EB", "251", ".et", Continent.Africa),
1268
- C("FJ", "FJI", 242, "Fiji", "Fiji", "Fiji", "679", ".fj", Continent.Oceania),
1269
- C("FI", "FIN", 246, "Finland", "Finland", "Suomi", "358", ".fi", Continent.Europe),
1270
- C("FR", "FRA", 250, "France", "Frankrike", "France", "33", ".fr", Continent.Europe),
1271
- C("GA", "GAB", 266, "Gabon", "Gabon", "Gabon", "241", ".ga", Continent.Africa),
1272
- C("GM", "GMB", 270, "Gambia", "Gambia", "Gambia", "220", ".gm", Continent.Africa),
1273
- C("GE", "GEO", 268, "Georgia", "Georgien", "\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD", "995", ".ge", Continent.Asia),
1274
- C("DE", "DEU", 276, "Germany", "Tyskland", "Deutschland", "49", ".de", Continent.Europe),
1275
- C("GH", "GHA", 288, "Ghana", "Ghana", "Ghana", "233", ".gh", Continent.Africa),
1276
- C("GI", "GIB", 292, "Gibraltar", "Gibraltar", "Gibraltar", "350", ".gi", Continent.Europe),
1277
- C("GR", "GRC", 300, "Greece", "Grekland", "\u0395\u03BB\u03BB\u03AC\u03B4\u03B1", "30", ".gr", Continent.Europe),
1278
- C(
1279
- "GL",
1280
- "GRL",
1281
- 304,
1282
- "Greenland",
1283
- "Gr\xF6nland",
1284
- "Kalaallit Nunaat",
1285
- "299",
1286
- ".gl",
1287
- Continent.NorthAmerica
1288
- ),
1289
- C("GD", "GRD", 308, "Grenada", "Grenada", "Grenada", "1", ".gd", Continent.NorthAmerica),
1290
- C("GU", "GUM", 316, "Guam", "Guam", "Guam", "1", ".gu", Continent.Oceania),
1291
- C("GT", "GTM", 320, "Guatemala", "Guatemala", "Guatemala", "502", ".gt", Continent.NorthAmerica),
1292
- C("GG", "GGY", 831, "Guernsey", "Guernsey", "Guernsey", "44", ".gg", Continent.Europe),
1293
- C("GN", "GIN", 324, "Guinea", "Guinea", "Guin\xE9e", "224", ".gn", Continent.Africa),
1294
- C(
1295
- "GW",
1296
- "GNB",
1297
- 624,
1298
- "Guinea-Bissau",
1299
- "Guinea-Bissau",
1300
- "Guin\xE9-Bissau",
1301
- "245",
1302
- ".gw",
1303
- Continent.Africa
1304
- ),
1305
- C("GY", "GUY", 328, "Guyana", "Guyana", "Guyana", "592", ".gy", Continent.SouthAmerica),
1306
- C("HT", "HTI", 332, "Haiti", "Haiti", "Ha\xEFti", "509", ".ht", Continent.NorthAmerica),
1307
- C("HN", "HND", 340, "Honduras", "Honduras", "Honduras", "504", ".hn", Continent.NorthAmerica),
1308
- C("HK", "HKG", 344, "Hong Kong", "Hongkong", "\u9999\u6E2F", "852", ".hk", Continent.Asia),
1309
- C("HU", "HUN", 348, "Hungary", "Ungern", "Magyarorsz\xE1g", "36", ".hu", Continent.Europe),
1310
- C("IS", "ISL", 352, "Iceland", "Island", "\xCDsland", "354", ".is", Continent.Europe),
1311
- C("IN", "IND", 356, "India", "Indien", "\u092D\u093E\u0930\u0924", "91", ".in", Continent.Asia),
1312
- C("ID", "IDN", 360, "Indonesia", "Indonesien", "Indonesia", "62", ".id", Continent.Asia),
1313
- C("IR", "IRN", 364, "Iran", "Iran", "\u0627\u06CC\u0631\u0627\u0646", "98", ".ir", Continent.Asia),
1314
- C("IQ", "IRQ", 368, "Iraq", "Irak", "\u0627\u0644\u0639\u0631\u0627\u0642", "964", ".iq", Continent.Asia),
1315
- C("IE", "IRL", 372, "Ireland", "Irland", "\xC9ire", "353", ".ie", Continent.Europe),
1316
- C("IM", "IMN", 833, "Isle of Man", "Isle of Man", "Isle of Man", "44", ".im", Continent.Europe),
1317
- C("IL", "ISR", 376, "Israel", "Israel", "\u05D9\u05E9\u05E8\u05D0\u05DC", "972", ".il", Continent.Asia),
1318
- C("IT", "ITA", 380, "Italy", "Italien", "Italia", "39", ".it", Continent.Europe),
1319
- C("JM", "JAM", 388, "Jamaica", "Jamaica", "Jamaica", "1", ".jm", Continent.NorthAmerica),
1320
- C("JP", "JPN", 392, "Japan", "Japan", "\u65E5\u672C", "81", ".jp", Continent.Asia),
1321
- C("JE", "JEY", 832, "Jersey", "Jersey", "Jersey", "44", ".je", Continent.Europe),
1322
- C("JO", "JOR", 400, "Jordan", "Jordanien", "\u0627\u0644\u0623\u0631\u062F\u0646", "962", ".jo", Continent.Asia),
1323
- C("KZ", "KAZ", 398, "Kazakhstan", "Kazakstan", "\u049A\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D", "7", ".kz", Continent.Asia),
1324
- C("KE", "KEN", 404, "Kenya", "Kenya", "Kenya", "254", ".ke", Continent.Africa),
1325
- C("KI", "KIR", 296, "Kiribati", "Kiribati", "Kiribati", "686", ".ki", Continent.Oceania),
1326
- C("KP", "PRK", 408, "North Korea", "Nordkorea", "\uC870\uC120", "850", ".kp", Continent.Asia),
1327
- C("KR", "KOR", 410, "South Korea", "Sydkorea", "\uB300\uD55C\uBBFC\uAD6D", "82", ".kr", Continent.Asia),
1328
- C("KW", "KWT", 414, "Kuwait", "Kuwait", "\u0627\u0644\u0643\u0648\u064A\u062A", "965", ".kw", Continent.Asia),
1329
- C("KG", "KGZ", 417, "Kyrgyzstan", "Kirgizistan", "\u041A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D", "996", ".kg", Continent.Asia),
1330
- C("LA", "LAO", 418, "Laos", "Laos", "\u0EA5\u0EB2\u0EA7", "856", ".la", Continent.Asia),
1331
- C("LV", "LVA", 428, "Latvia", "Lettland", "Latvija", "371", ".lv", Continent.Europe),
1332
- C("LB", "LBN", 422, "Lebanon", "Libanon", "\u0644\u0628\u0646\u0627\u0646", "961", ".lb", Continent.Asia),
1333
- C("LS", "LSO", 426, "Lesotho", "Lesotho", "Lesotho", "266", ".ls", Continent.Africa),
1334
- C("LR", "LBR", 430, "Liberia", "Liberia", "Liberia", "231", ".lr", Continent.Africa),
1335
- C("LY", "LBY", 434, "Libya", "Libyen", "\u0644\u064A\u0628\u064A\u0627", "218", ".ly", Continent.Africa),
1336
- C(
1337
- "LI",
1338
- "LIE",
1339
- 438,
1340
- "Liechtenstein",
1341
- "Liechtenstein",
1342
- "Liechtenstein",
1343
- "423",
1344
- ".li",
1345
- Continent.Europe
1346
- ),
1347
- C("LT", "LTU", 440, "Lithuania", "Litauen", "Lietuva", "370", ".lt", Continent.Europe),
1348
- C("LU", "LUX", 442, "Luxembourg", "Luxemburg", "L\xEBtzebuerg", "352", ".lu", Continent.Europe),
1349
- C("MO", "MAC", 446, "Macao", "Macao", "\u6FB3\u9580", "853", ".mo", Continent.Asia),
1350
- C("MG", "MDG", 450, "Madagascar", "Madagaskar", "Madagasikara", "261", ".mg", Continent.Africa),
1351
- C("MW", "MWI", 454, "Malawi", "Malawi", "Malawi", "265", ".mw", Continent.Africa),
1352
- C("MY", "MYS", 458, "Malaysia", "Malaysia", "Malaysia", "60", ".my", Continent.Asia),
1353
- C("MV", "MDV", 462, "Maldives", "Maldiverna", "\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AC", "960", ".mv", Continent.Asia),
1354
- C("ML", "MLI", 466, "Mali", "Mali", "Mali", "223", ".ml", Continent.Africa),
1355
- C("MT", "MLT", 470, "Malta", "Malta", "Malta", "356", ".mt", Continent.Europe),
1356
- C(
1357
- "MH",
1358
- "MHL",
1359
- 584,
1360
- "Marshall Islands",
1361
- "Marshall\xF6arna",
1362
- "Marshall Islands",
1363
- "692",
1364
- ".mh",
1365
- Continent.Oceania
1366
- ),
1367
- C("MR", "MRT", 478, "Mauritania", "Mauretanien", "\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627", "222", ".mr", Continent.Africa),
1368
- C("MU", "MUS", 480, "Mauritius", "Mauritius", "Maurice", "230", ".mu", Continent.Africa),
1369
- C("MX", "MEX", 484, "Mexico", "Mexiko", "M\xE9xico", "52", ".mx", Continent.NorthAmerica),
1370
- C("FM", "FSM", 583, "Micronesia", "Mikronesien", "Micronesia", "691", ".fm", Continent.Oceania),
1371
- C("MD", "MDA", 498, "Moldova", "Moldavien", "Moldova", "373", ".md", Continent.Europe),
1372
- C("MC", "MCO", 492, "Monaco", "Monaco", "Monaco", "377", ".mc", Continent.Europe),
1373
- C("MN", "MNG", 496, "Mongolia", "Mongoliet", "\u041C\u043E\u043D\u0433\u043E\u043B", "976", ".mn", Continent.Asia),
1374
- C("ME", "MNE", 499, "Montenegro", "Montenegro", "Crna Gora", "382", ".me", Continent.Europe),
1375
- C("MA", "MAR", 504, "Morocco", "Marocko", "\u0627\u0644\u0645\u063A\u0631\u0628", "212", ".ma", Continent.Africa),
1376
- C("MZ", "MOZ", 508, "Mozambique", "Mo\xE7ambique", "Mo\xE7ambique", "258", ".mz", Continent.Africa),
1377
- C("MM", "MMR", 104, "Myanmar", "Myanmar", "\u1019\u103C\u1014\u103A\u1019\u102C", "95", ".mm", Continent.Asia),
1378
- C("NA", "NAM", 516, "Namibia", "Namibia", "Namibia", "264", ".na", Continent.Africa),
1379
- C("NR", "NRU", 520, "Nauru", "Nauru", "Nauru", "674", ".nr", Continent.Oceania),
1380
- C("NP", "NPL", 524, "Nepal", "Nepal", "\u0928\u0947\u092A\u093E\u0932", "977", ".np", Continent.Asia),
1381
- C("NL", "NLD", 528, "Netherlands", "Nederl\xE4nderna", "Nederland", "31", ".nl", Continent.Europe),
1382
- C("NZ", "NZL", 554, "New Zealand", "Nya Zeeland", "Aotearoa", "64", ".nz", Continent.Oceania),
1383
- C("NI", "NIC", 558, "Nicaragua", "Nicaragua", "Nicaragua", "505", ".ni", Continent.NorthAmerica),
1384
- C("NE", "NER", 562, "Niger", "Niger", "Niger", "227", ".ne", Continent.Africa),
1385
- C("NG", "NGA", 566, "Nigeria", "Nigeria", "Nigeria", "234", ".ng", Continent.Africa),
1386
- C(
1387
- "MK",
1388
- "MKD",
1389
- 807,
1390
- "North Macedonia",
1391
- "Nordmakedonien",
1392
- "\u0421\u0435\u0432\u0435\u0440\u043D\u0430 \u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430",
1393
- "389",
1394
- ".mk",
1395
- Continent.Europe
1396
- ),
1397
- C("NO", "NOR", 578, "Norway", "Norge", "Norge", "47", ".no", Continent.Europe),
1398
- C("OM", "OMN", 512, "Oman", "Oman", "\u0639\u0645\u0627\u0646", "968", ".om", Continent.Asia),
1399
- C("PK", "PAK", 586, "Pakistan", "Pakistan", "\u067E\u0627\u06A9\u0633\u062A\u0627\u0646", "92", ".pk", Continent.Asia),
1400
- C("PW", "PLW", 585, "Palau", "Palau", "Palau", "680", ".pw", Continent.Oceania),
1401
- C("PS", "PSE", 275, "Palestine", "Palestina", "\u0641\u0644\u0633\u0637\u064A\u0646", "970", ".ps", Continent.Asia),
1402
- C("PA", "PAN", 591, "Panama", "Panama", "Panam\xE1", "507", ".pa", Continent.NorthAmerica),
1403
- C(
1404
- "PG",
1405
- "PNG",
1406
- 598,
1407
- "Papua New Guinea",
1408
- "Papua Nya Guinea",
1409
- "Papua Niugini",
1410
- "675",
1411
- ".pg",
1412
- Continent.Oceania
1413
- ),
1414
- C("PY", "PRY", 600, "Paraguay", "Paraguay", "Paraguay", "595", ".py", Continent.SouthAmerica),
1415
- C("PE", "PER", 604, "Peru", "Peru", "Per\xFA", "51", ".pe", Continent.SouthAmerica),
1416
- C("PH", "PHL", 608, "Philippines", "Filippinerna", "Pilipinas", "63", ".ph", Continent.Asia),
1417
- C("PL", "POL", 616, "Poland", "Polen", "Polska", "48", ".pl", Continent.Europe),
1418
- C("PT", "PRT", 620, "Portugal", "Portugal", "Portugal", "351", ".pt", Continent.Europe),
1419
- C(
1420
- "PR",
1421
- "PRI",
1422
- 630,
1423
- "Puerto Rico",
1424
- "Puerto Rico",
1425
- "Puerto Rico",
1426
- "1",
1427
- ".pr",
1428
- Continent.NorthAmerica
1429
- ),
1430
- C("QA", "QAT", 634, "Qatar", "Qatar", "\u0642\u0637\u0631", "974", ".qa", Continent.Asia),
1431
- C("RO", "ROU", 642, "Romania", "Rum\xE4nien", "Rom\xE2nia", "40", ".ro", Continent.Europe),
1432
- C("RU", "RUS", 643, "Russia", "Ryssland", "\u0420\u043E\u0441\u0441\u0438\u044F", "7", ".ru", Continent.Europe),
1433
- C("RW", "RWA", 646, "Rwanda", "Rwanda", "Rwanda", "250", ".rw", Continent.Africa),
1434
- C(
1435
- "KN",
1436
- "KNA",
1437
- 659,
1438
- "Saint Kitts and Nevis",
1439
- "Saint Kitts och Nevis",
1440
- "Saint Kitts and Nevis",
1441
- "1",
1442
- ".kn",
1443
- Continent.NorthAmerica
1444
- ),
1445
- C(
1446
- "LC",
1447
- "LCA",
1448
- 662,
1449
- "Saint Lucia",
1450
- "Saint Lucia",
1451
- "Saint Lucia",
1452
- "1",
1453
- ".lc",
1454
- Continent.NorthAmerica
1455
- ),
1456
- C(
1457
- "VC",
1458
- "VCT",
1459
- 670,
1460
- "Saint Vincent and the Grenadines",
1461
- "Saint Vincent och Grenadinerna",
1462
- "Saint Vincent and the Grenadines",
1463
- "1",
1464
- ".vc",
1465
- Continent.NorthAmerica
1466
- ),
1467
- C("WS", "WSM", 882, "Samoa", "Samoa", "S\u0101moa", "685", ".ws", Continent.Oceania),
1468
- C("SM", "SMR", 674, "San Marino", "San Marino", "San Marino", "378", ".sm", Continent.Europe),
1469
- C(
1470
- "ST",
1471
- "STP",
1472
- 678,
1473
- "S\xE3o Tom\xE9 and Pr\xEDncipe",
1474
- "S\xE3o Tom\xE9 och Pr\xEDncipe",
1475
- "S\xE3o Tom\xE9 e Pr\xEDncipe",
1476
- "239",
1477
- ".st",
1478
- Continent.Africa
1479
- ),
1480
- C("SA", "SAU", 682, "Saudi Arabia", "Saudiarabien", "\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629", "966", ".sa", Continent.Asia),
1481
- C("SN", "SEN", 686, "Senegal", "Senegal", "S\xE9n\xE9gal", "221", ".sn", Continent.Africa),
1482
- C("RS", "SRB", 688, "Serbia", "Serbien", "\u0421\u0440\u0431\u0438\u0458\u0430", "381", ".rs", Continent.Europe),
1483
- C("SC", "SYC", 690, "Seychelles", "Seychellerna", "Seychelles", "248", ".sc", Continent.Africa),
1484
- C(
1485
- "SL",
1486
- "SLE",
1487
- 694,
1488
- "Sierra Leone",
1489
- "Sierra Leone",
1490
- "Sierra Leone",
1491
- "232",
1492
- ".sl",
1493
- Continent.Africa
1494
- ),
1495
- C("SG", "SGP", 702, "Singapore", "Singapore", "Singapore", "65", ".sg", Continent.Asia),
1496
- C("SK", "SVK", 703, "Slovakia", "Slovakien", "Slovensko", "421", ".sk", Continent.Europe),
1497
- C("SI", "SVN", 705, "Slovenia", "Slovenien", "Slovenija", "386", ".si", Continent.Europe),
1498
- C(
1499
- "SB",
1500
- "SLB",
1501
- 90,
1502
- "Solomon Islands",
1503
- "Salomon\xF6arna",
1504
- "Solomon Islands",
1505
- "677",
1506
- ".sb",
1507
- Continent.Oceania
1508
- ),
1509
- C("SO", "SOM", 706, "Somalia", "Somalia", "Soomaaliya", "252", ".so", Continent.Africa),
1510
- C("ZA", "ZAF", 710, "South Africa", "Sydafrika", "Suid-Afrika", "27", ".za", Continent.Africa),
1511
- C("SS", "SSD", 728, "South Sudan", "Sydsudan", "South Sudan", "211", ".ss", Continent.Africa),
1512
- C("ES", "ESP", 724, "Spain", "Spanien", "Espa\xF1a", "34", ".es", Continent.Europe),
1513
- C("LK", "LKA", 144, "Sri Lanka", "Sri Lanka", "\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0", "94", ".lk", Continent.Asia),
1514
- C("SD", "SDN", 729, "Sudan", "Sudan", "\u0627\u0644\u0633\u0648\u062F\u0627\u0646", "249", ".sd", Continent.Africa),
1515
- C("SR", "SUR", 740, "Suriname", "Surinam", "Suriname", "597", ".sr", Continent.SouthAmerica),
1516
- C("SE", "SWE", 752, "Sweden", "Sverige", "Sverige", "46", ".se", Continent.Europe),
1517
- C("CH", "CHE", 756, "Switzerland", "Schweiz", "Schweiz", "41", ".ch", Continent.Europe),
1518
- C("SY", "SYR", 760, "Syria", "Syrien", "\u0633\u0648\u0631\u064A\u0627", "963", ".sy", Continent.Asia),
1519
- C("TW", "TWN", 158, "Taiwan", "Taiwan", "\u81FA\u7063", "886", ".tw", Continent.Asia),
1520
- C("TJ", "TJK", 762, "Tajikistan", "Tadzjikistan", "\u0422\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D", "992", ".tj", Continent.Asia),
1521
- C("TZ", "TZA", 834, "Tanzania", "Tanzania", "Tanzania", "255", ".tz", Continent.Africa),
1522
- C("TH", "THA", 764, "Thailand", "Thailand", "\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E44\u0E17\u0E22", "66", ".th", Continent.Asia),
1523
- C("TL", "TLS", 626, "Timor-Leste", "\xD6sttimor", "Timor-Leste", "670", ".tl", Continent.Asia),
1524
- C("TG", "TGO", 768, "Togo", "Togo", "Togo", "228", ".tg", Continent.Africa),
1525
- C("TO", "TON", 776, "Tonga", "Tonga", "Tonga", "676", ".to", Continent.Oceania),
1526
- C(
1527
- "TT",
1528
- "TTO",
1529
- 780,
1530
- "Trinidad and Tobago",
1531
- "Trinidad och Tobago",
1532
- "Trinidad and Tobago",
1533
- "1",
1534
- ".tt",
1535
- Continent.NorthAmerica
1536
- ),
1537
- C("TN", "TUN", 788, "Tunisia", "Tunisien", "\u062A\u0648\u0646\u0633", "216", ".tn", Continent.Africa),
1538
- C("TR", "TUR", 792, "Turkey", "Turkiet", "T\xFCrkiye", "90", ".tr", Continent.Asia),
1539
- C("TM", "TKM", 795, "Turkmenistan", "Turkmenistan", "T\xFCrkmenistan", "993", ".tm", Continent.Asia),
1540
- C("TV", "TUV", 798, "Tuvalu", "Tuvalu", "Tuvalu", "688", ".tv", Continent.Oceania),
1541
- C("UG", "UGA", 800, "Uganda", "Uganda", "Uganda", "256", ".ug", Continent.Africa),
1542
- C("UA", "UKR", 804, "Ukraine", "Ukraina", "\u0423\u043A\u0440\u0430\u0457\u043D\u0430", "380", ".ua", Continent.Europe),
1543
- C(
1544
- "AE",
1545
- "ARE",
1546
- 784,
1547
- "United Arab Emirates",
1548
- "F\xF6renade Arabemiraten",
1549
- "\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A",
1550
- "971",
1551
- ".ae",
1552
- Continent.Asia
1553
- ),
1554
- C(
1555
- "GB",
1556
- "GBR",
1557
- 826,
1558
- "United Kingdom",
1559
- "Storbritannien",
1560
- "United Kingdom",
1561
- "44",
1562
- ".uk",
1563
- Continent.Europe
1564
- ),
1565
- C(
1566
- "US",
1567
- "USA",
1568
- 840,
1569
- "United States",
1570
- "F\xF6renta staterna",
1571
- "United States",
1572
- "1",
1573
- ".us",
1574
- Continent.NorthAmerica
1575
- ),
1576
- C("UY", "URY", 858, "Uruguay", "Uruguay", "Uruguay", "598", ".uy", Continent.SouthAmerica),
1577
- C("UZ", "UZB", 860, "Uzbekistan", "Uzbekistan", "O\u02BBzbekiston", "998", ".uz", Continent.Asia),
1578
- C("VU", "VUT", 548, "Vanuatu", "Vanuatu", "Vanuatu", "678", ".vu", Continent.Oceania),
1579
- C(
1580
- "VA",
1581
- "VAT",
1582
- 336,
1583
- "Vatican City",
1584
- "Vatikanstaten",
1585
- "Citt\xE0 del Vaticano",
1586
- "379",
1587
- ".va",
1588
- Continent.Europe
1589
- ),
1590
- C("VE", "VEN", 862, "Venezuela", "Venezuela", "Venezuela", "58", ".ve", Continent.SouthAmerica),
1591
- C("VN", "VNM", 704, "Vietnam", "Vietnam", "Vi\u1EC7t Nam", "84", ".vn", Continent.Asia),
1592
- C("YE", "YEM", 887, "Yemen", "Jemen", "\u0627\u0644\u064A\u0645\u0646", "967", ".ye", Continent.Asia),
1593
- C("ZM", "ZMB", 894, "Zambia", "Zambia", "Zambia", "260", ".zm", Continent.Africa),
1594
- C("ZW", "ZWE", 716, "Zimbabwe", "Zimbabwe", "Zimbabwe", "263", ".zw", Continent.Africa),
1595
- C("AX", "ALA", 248, "\xC5land Islands", "\xC5land", "\xC5land", "358", ".ax", Continent.Europe),
1596
- C("FO", "FRO", 234, "Faroe Islands", "F\xE4r\xF6arna", "F\xF8royar", "298", ".fo", Continent.Europe),
1597
- C("XK", "XKX", 0, "Kosovo", "Kosovo", "Kosova", "383", ".xk", Continent.Europe)
1598
- ];
1599
-
1600
- // src/geography/country-coordinates.ts
1601
- var COUNTRY_COORDINATES = Object.freeze({
1602
- AF: [33, 65],
1603
- AL: [41, 20],
1604
- DZ: [28, 3],
1605
- AS: [-14.27, -170.7],
1606
- AD: [42.5, 1.5],
1607
- AO: [-12.5, 18.5],
1608
- AG: [17.05, -61.8],
1609
- AR: [-34, -64],
1610
- AM: [40, 45],
1611
- AW: [12.5, -69.97],
1612
- AU: [-27, 133],
1613
- AT: [47.33, 13.33],
1614
- AZ: [40.5, 47.5],
1615
- BS: [24.25, -76],
1616
- BH: [26, 50.55],
1617
- BD: [24, 90],
1618
- BB: [13.17, -59.53],
1619
- BY: [53, 28],
1620
- BE: [50.83, 4],
1621
- BZ: [17.25, -88.75],
1622
- BJ: [9.5, 2.25],
1623
- BM: [32.33, -64.75],
1624
- BT: [27.5, 90.5],
1625
- BO: [-17, -65],
1626
- BA: [44, 18],
1627
- BW: [-22, 24],
1628
- BR: [-10, -55],
1629
- BN: [4.5, 114.67],
1630
- BG: [43, 25],
1631
- BF: [13, -2],
1632
- BI: [-3.5, 30],
1633
- CV: [16, -24],
1634
- KH: [13, 105],
1635
- CM: [6, 12],
1636
- CA: [60, -95],
1637
- CF: [7, 21],
1638
- TD: [15, 19],
1639
- CL: [-30, -71],
1640
- CN: [35, 105],
1641
- CO: [4, -72],
1642
- KM: [-12.17, 44.25],
1643
- CG: [-1, 15],
1644
- CD: [0, 25],
1645
- CR: [10, -84],
1646
- CI: [8, -5],
1647
- HR: [45.17, 15.5],
1648
- CU: [21.5, -80],
1649
- CW: [12.17, -68.98],
1650
- CY: [35, 33],
1651
- CZ: [49.75, 15.5],
1652
- DK: [56, 10],
1653
- DJ: [11.5, 43],
1654
- DM: [15.42, -61.33],
1655
- DO: [19, -70.67],
1656
- EC: [-2, -77.5],
1657
- EG: [27, 30],
1658
- SV: [13.83, -88.92],
1659
- GQ: [2, 10],
1660
- ER: [15, 39],
1661
- EE: [59, 26],
1662
- SZ: [-26.5, 31.5],
1663
- ET: [8, 38],
1664
- FJ: [-18, 175],
1665
- FI: [64, 26],
1666
- FR: [46, 2],
1667
- GA: [-1, 11.75],
1668
- GM: [13.47, -16.57],
1669
- GE: [42, 43.5],
1670
- DE: [51, 9],
1671
- GH: [8, -2],
1672
- GI: [36.13, -5.35],
1673
- GR: [39, 22],
1674
- GL: [72, -40],
1675
- GD: [12.12, -61.67],
1676
- GU: [13.47, 144.78],
1677
- GT: [15.5, -90.25],
1678
- GG: [49.45, -2.54],
1679
- GN: [11, -10],
1680
- GW: [12, -15],
1681
- GY: [5, -59],
1682
- HT: [19, -72.42],
1683
- HN: [15, -86.5],
1684
- HK: [22.25, 114.17],
1685
- HU: [47, 20],
1686
- IS: [65, -18],
1687
- IN: [20, 77],
1688
- ID: [-5, 120],
1689
- IR: [32, 53],
1690
- IQ: [33, 44],
1691
- IE: [53, -8],
1692
- IM: [54.23, -4.55],
1693
- IL: [31.5, 34.75],
1694
- IT: [42.83, 12.83],
1695
- JM: [18.25, -77.5],
1696
- JP: [36, 138],
1697
- JE: [49.21, -2.13],
1698
- JO: [31, 36],
1699
- KZ: [48, 68],
1700
- KE: [1, 38],
1701
- KI: [1.42, 173],
1702
- KP: [40, 127],
1703
- KR: [37, 127.5],
1704
- KW: [29.34, 47.66],
1705
- KG: [41, 75],
1706
- LA: [18, 105],
1707
- LV: [57, 25],
1708
- LB: [33.83, 35.83],
1709
- LS: [-29.5, 28.5],
1710
- LR: [6.5, -9.5],
1711
- LY: [25, 17],
1712
- LI: [47.17, 9.53],
1713
- LT: [56, 24],
1714
- LU: [49.75, 6.17],
1715
- MO: [22.17, 113.55],
1716
- MG: [-20, 47],
1717
- MW: [-13.5, 34],
1718
- MY: [2.5, 112.5],
1719
- MV: [3.25, 73],
1720
- ML: [17, -4],
1721
- MT: [35.83, 14.58],
1722
- MH: [9, 168],
1723
- MR: [20, -12],
1724
- MU: [-20.28, 57.55],
1725
- MX: [23, -102],
1726
- FM: [6.92, 158.25],
1727
- MD: [47, 29],
1728
- MC: [43.73, 7.42],
1729
- MN: [46, 105],
1730
- ME: [42, 19],
1731
- MA: [32, -5],
1732
- MZ: [-18.25, 35],
1733
- MM: [22, 98],
1734
- NA: [-22, 17],
1735
- NR: [-0.53, 166.92],
1736
- NP: [28, 84],
1737
- NL: [52.5, 5.75],
1738
- NZ: [-41, 174],
1739
- NI: [13, -85],
1740
- NE: [16, 8],
1741
- NG: [10, 8],
1742
- MK: [41.83, 22],
1743
- NO: [62, 10],
1744
- OM: [21, 57],
1745
- PK: [30, 70],
1746
- PW: [7.5, 134.5],
1747
- PS: [32, 35.25],
1748
- PA: [9, -80],
1749
- PG: [-6, 147],
1750
- PY: [-23, -58],
1751
- PE: [-10, -76],
1752
- PH: [13, 122],
1753
- PL: [52, 20],
1754
- PT: [39.5, -8],
1755
- PR: [18.25, -66.5],
1756
- QA: [25.5, 51.25],
1757
- RO: [46, 25],
1758
- RU: [60, 100],
1759
- RW: [-2, 30],
1760
- KN: [17.33, -62.75],
1761
- LC: [13.88, -61.13],
1762
- VC: [13.25, -61.2],
1763
- WS: [-13.58, -172.33],
1764
- SM: [43.77, 12.42],
1765
- ST: [1, 7],
1766
- SA: [25, 45],
1767
- SN: [14, -14],
1768
- RS: [44, 21],
1769
- SC: [-4.58, 55.67],
1770
- SL: [8.5, -11.5],
1771
- SG: [1.37, 103.8],
1772
- SK: [48.67, 19.5],
1773
- SI: [46.12, 14.82],
1774
- SB: [-8, 159],
1775
- SO: [10, 49],
1776
- ZA: [-29, 24],
1777
- SS: [8, 30],
1778
- ES: [40, -4],
1779
- LK: [7, 81],
1780
- SD: [15, 30],
1781
- SR: [4, -56],
1782
- SE: [62, 15],
1783
- CH: [47, 8],
1784
- SY: [35, 38],
1785
- TW: [23.5, 121],
1786
- TJ: [39, 71],
1787
- TZ: [-6, 35],
1788
- TH: [15, 100],
1789
- TL: [-8.55, 125.73],
1790
- TG: [8, 1.17],
1791
- TO: [-20, -175],
1792
- TT: [11, -61],
1793
- TN: [34, 9],
1794
- TR: [39, 35],
1795
- TM: [40, 60],
1796
- TV: [-8, 178],
1797
- UG: [1, 32],
1798
- UA: [49, 32],
1799
- AE: [24, 54],
1800
- GB: [54, -2],
1801
- US: [38, -97],
1802
- UY: [-33, -56],
1803
- UZ: [41, 64],
1804
- VU: [-16, 167],
1805
- VA: [41.9, 12.45],
1806
- VE: [8, -66],
1807
- VN: [16, 106],
1808
- YE: [15, 48],
1809
- ZM: [-15, 30],
1810
- ZW: [-20, 30],
1811
- AX: [60.12, 19.9],
1812
- FO: [62, -7],
1813
- XK: [42.67, 21.17]
1814
- });
1815
-
1816
- // src/geography/country-capital.ts
1817
- var CountryCapital = class {
1818
- englishName;
1819
- localizedName;
1820
- nativeName;
1821
- coordinate;
1822
- /** @internal */
1823
- constructor(englishName, localizedName, nativeName, coordinate) {
1824
- this.englishName = englishName;
1825
- this.localizedName = localizedName;
1826
- this.nativeName = nativeName;
1827
- this.coordinate = coordinate;
1828
- }
1829
- /** Capital city name in the current display language. */
1830
- get displayName() {
1831
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
1832
- }
1833
- toString() {
1834
- return this.displayName;
1835
- }
1836
- };
1837
-
1838
- // src/geography/country-capitals.ts
1839
- var RAW = {
1840
- AF: { en: "Kabul", sv: "Kabul", native: "\u06A9\u0627\u0628\u0644", lat: 34.53, lon: 69.17 },
1841
- AL: { en: "Tirana", sv: "Tirana", native: "Tiran\xEB", lat: 41.33, lon: 19.82 },
1842
- DZ: { en: "Algiers", sv: "Alger", native: "\u0627\u0644\u062C\u0632\u0627\u0626\u0631", lat: 36.75, lon: 3.04 },
1843
- AD: {
1844
- en: "Andorra la Vella",
1845
- sv: "Andorra la Vella",
1846
- native: "Andorra la Vella",
1847
- lat: 42.51,
1848
- lon: 1.52
1849
- },
1850
- AO: { en: "Luanda", sv: "Luanda", native: "Luanda", lat: -8.84, lon: 13.23 },
1851
- AG: { en: "St. John's", sv: "Saint John's", native: "St. John's", lat: 17.12, lon: -61.85 },
1852
- AR: { en: "Buenos Aires", sv: "Buenos Aires", native: "Buenos Aires", lat: -34.61, lon: -58.38 },
1853
- AM: { en: "Yerevan", sv: "Jerevan", native: "\u0535\u0580\u0587\u0561\u0576", lat: 40.18, lon: 44.51 },
1854
- AU: { en: "Canberra", sv: "Canberra", native: "Canberra", lat: -35.28, lon: 149.13 },
1855
- AT: { en: "Vienna", sv: "Wien", native: "Wien", lat: 48.21, lon: 16.37 },
1856
- AZ: { en: "Baku", sv: "Baku", native: "Bak\u0131", lat: 40.41, lon: 49.87 },
1857
- BS: { en: "Nassau", sv: "Nassau", native: "Nassau", lat: 25.06, lon: -77.34 },
1858
- BH: { en: "Manama", sv: "Manama", native: "\u0627\u0644\u0645\u0646\u0627\u0645\u0629", lat: 26.23, lon: 50.59 },
1859
- BD: { en: "Dhaka", sv: "Dhaka", native: "\u09A2\u09BE\u0995\u09BE", lat: 23.71, lon: 90.41 },
1860
- BB: { en: "Bridgetown", sv: "Bridgetown", native: "Bridgetown", lat: 13.1, lon: -59.62 },
1861
- BY: { en: "Minsk", sv: "Minsk", native: "\u041C\u0456\u043D\u0441\u043A", lat: 53.9, lon: 27.57 },
1862
- BE: { en: "Brussels", sv: "Bryssel", native: "Bruxelles", lat: 50.85, lon: 4.35 },
1863
- BZ: { en: "Belmopan", sv: "Belmopan", native: "Belmopan", lat: 17.25, lon: -88.77 },
1864
- BJ: { en: "Porto-Novo", sv: "Porto-Novo", native: "Porto-Novo", lat: 6.5, lon: 2.6 },
1865
- BT: { en: "Thimphu", sv: "Thimphu", native: "\u0F50\u0F72\u0F58\u0F0B\u0F55\u0F74", lat: 27.47, lon: 89.64 },
1866
- BO: { en: "Sucre", sv: "Sucre", native: "Sucre", lat: -19.04, lon: -65.26 },
1867
- BA: { en: "Sarajevo", sv: "Sarajevo", native: "Sarajevo", lat: 43.86, lon: 18.41 },
1868
- BW: { en: "Gaborone", sv: "Gaborone", native: "Gaborone", lat: -24.65, lon: 25.91 },
1869
- BR: { en: "Bras\xEDlia", sv: "Bras\xEDlia", native: "Bras\xEDlia", lat: -15.79, lon: -47.88 },
1870
- BN: {
1871
- en: "Bandar Seri Begawan",
1872
- sv: "Bandar Seri Begawan",
1873
- native: "Bandar Seri Begawan",
1874
- lat: 4.94,
1875
- lon: 114.95
1876
- },
1877
- BG: { en: "Sofia", sv: "Sofia", native: "\u0421\u043E\u0444\u0438\u044F", lat: 42.7, lon: 23.32 },
1878
- BF: { en: "Ouagadougou", sv: "Ouagadougou", native: "Ouagadougou", lat: 12.37, lon: -1.52 },
1879
- BI: { en: "Gitega", sv: "Gitega", native: "Gitega", lat: -3.43, lon: 29.93 },
1880
- CV: { en: "Praia", sv: "Praia", native: "Praia", lat: 14.92, lon: -23.51 },
1881
- KH: { en: "Phnom Penh", sv: "Phnom Penh", native: "\u1797\u17D2\u1793\u17C6\u1796\u17C1\u1789", lat: 11.56, lon: 104.93 },
1882
- CM: { en: "Yaound\xE9", sv: "Yaound\xE9", native: "Yaound\xE9", lat: 3.87, lon: 11.52 },
1883
- CA: { en: "Ottawa", sv: "Ottawa", native: "Ottawa", lat: 45.42, lon: -75.7 },
1884
- CF: { en: "Bangui", sv: "Bangui", native: "Bangui", lat: 4.37, lon: 18.59 },
1885
- TD: { en: "N'Djamena", sv: "N'Djamena", native: "N'Djamena", lat: 12.11, lon: 15.05 },
1886
- CL: { en: "Santiago", sv: "Santiago", native: "Santiago", lat: -33.45, lon: -70.67 },
1887
- CN: { en: "Beijing", sv: "Peking", native: "\u5317\u4EAC", lat: 39.91, lon: 116.39 },
1888
- CO: { en: "Bogot\xE1", sv: "Bogot\xE1", native: "Bogot\xE1", lat: 4.71, lon: -74.07 },
1889
- KM: { en: "Moroni", sv: "Moroni", native: "Moroni", lat: -11.7, lon: 43.26 },
1890
- CG: { en: "Brazzaville", sv: "Brazzaville", native: "Brazzaville", lat: -4.27, lon: 15.28 },
1891
- CD: { en: "Kinshasa", sv: "Kinshasa", native: "Kinshasa", lat: -4.32, lon: 15.31 },
1892
- CR: { en: "San Jos\xE9", sv: "San Jos\xE9", native: "San Jos\xE9", lat: 9.93, lon: -84.08 },
1893
- CI: { en: "Yamoussoukro", sv: "Yamoussoukro", native: "Yamoussoukro", lat: 6.82, lon: -5.28 },
1894
- HR: { en: "Zagreb", sv: "Zagreb", native: "Zagreb", lat: 45.81, lon: 15.98 },
1895
- CU: { en: "Havana", sv: "Havanna", native: "La Habana", lat: 23.13, lon: -82.38 },
1896
- CY: { en: "Nicosia", sv: "Nicosia", native: "\u039B\u03B5\u03C5\u03BA\u03C9\u03C3\u03AF\u03B1", lat: 35.17, lon: 33.37 },
1897
- CZ: { en: "Prague", sv: "Prag", native: "Praha", lat: 50.09, lon: 14.42 },
1898
- DK: { en: "Copenhagen", sv: "K\xF6penhamn", native: "K\xF8benhavn", lat: 55.68, lon: 12.57 },
1899
- DJ: { en: "Djibouti", sv: "Djibouti", native: "Djibouti", lat: 11.59, lon: 43.15 },
1900
- DM: { en: "Roseau", sv: "Roseau", native: "Roseau", lat: 15.3, lon: -61.39 },
1901
- DO: { en: "Santo Domingo", sv: "Santo Domingo", native: "Santo Domingo", lat: 18.47, lon: -69.9 },
1902
- EC: { en: "Quito", sv: "Quito", native: "Quito", lat: -0.18, lon: -78.47 },
1903
- EG: { en: "Cairo", sv: "Kairo", native: "\u0627\u0644\u0642\u0627\u0647\u0631\u0629", lat: 30.04, lon: 31.24 },
1904
- SV: { en: "San Salvador", sv: "San Salvador", native: "San Salvador", lat: 13.69, lon: -89.19 },
1905
- GQ: { en: "Malabo", sv: "Malabo", native: "Malabo", lat: 3.75, lon: 8.78 },
1906
- ER: { en: "Asmara", sv: "Asmara", native: "\u12A3\u1235\u1218\u122B", lat: 15.33, lon: 38.93 },
1907
- EE: { en: "Tallinn", sv: "Tallinn", native: "Tallinn", lat: 59.44, lon: 24.75 },
1908
- SZ: { en: "Mbabane", sv: "Mbabane", native: "Mbabane", lat: -26.32, lon: 31.13 },
1909
- ET: { en: "Addis Ababa", sv: "Addis Abeba", native: "\u12A0\u12F2\u1235 \u12A0\u1260\u1263", lat: 9.02, lon: 38.75 },
1910
- FJ: { en: "Suva", sv: "Suva", native: "Suva", lat: -18.14, lon: 178.44 },
1911
- FI: { en: "Helsinki", sv: "Helsingfors", native: "Helsinki", lat: 60.17, lon: 24.94 },
1912
- FR: { en: "Paris", sv: "Paris", native: "Paris", lat: 48.86, lon: 2.35 },
1913
- GA: { en: "Libreville", sv: "Libreville", native: "Libreville", lat: 0.39, lon: 9.45 },
1914
- GM: { en: "Banjul", sv: "Banjul", native: "Banjul", lat: 13.45, lon: -16.58 },
1915
- GE: { en: "Tbilisi", sv: "Tbilisi", native: "\u10D7\u10D1\u10D8\u10DA\u10D8\u10E1\u10D8", lat: 41.69, lon: 44.8 },
1916
- DE: { en: "Berlin", sv: "Berlin", native: "Berlin", lat: 52.52, lon: 13.41 },
1917
- GH: { en: "Accra", sv: "Accra", native: "Accra", lat: 5.56, lon: -0.19 },
1918
- GR: { en: "Athens", sv: "Aten", native: "\u0391\u03B8\u03AE\u03BD\u03B1", lat: 37.98, lon: 23.73 },
1919
- GD: { en: "St. George's", sv: "Saint George's", native: "St. George's", lat: 12.05, lon: -61.75 },
1920
- GT: {
1921
- en: "Guatemala City",
1922
- sv: "Guatemala City",
1923
- native: "Ciudad de Guatemala",
1924
- lat: 14.63,
1925
- lon: -90.51
1926
- },
1927
- GN: { en: "Conakry", sv: "Conakry", native: "Conakry", lat: 9.54, lon: -13.68 },
1928
- GW: { en: "Bissau", sv: "Bissau", native: "Bissau", lat: 11.86, lon: -15.6 },
1929
- GY: { en: "Georgetown", sv: "Georgetown", native: "Georgetown", lat: 6.8, lon: -58.16 },
1930
- HT: { en: "Port-au-Prince", sv: "Port-au-Prince", native: "P\xF2toprens", lat: 18.54, lon: -72.34 },
1931
- HN: { en: "Tegucigalpa", sv: "Tegucigalpa", native: "Tegucigalpa", lat: 14.1, lon: -87.22 },
1932
- HK: { en: "Hong Kong", sv: "Hongkong", native: "\u9999\u6E2F", lat: 22.28, lon: 114.16 },
1933
- HU: { en: "Budapest", sv: "Budapest", native: "Budapest", lat: 47.5, lon: 19.04 },
1934
- IS: { en: "Reykjavik", sv: "Reykjavik", native: "Reykjav\xEDk", lat: 64.14, lon: -21.9 },
1935
- IN: { en: "New Delhi", sv: "New Delhi", native: "\u0928\u0908 \u0926\u093F\u0932\u094D\u0932\u0940", lat: 28.61, lon: 77.21 },
1936
- ID: { en: "Jakarta", sv: "Jakarta", native: "Jakarta", lat: -6.21, lon: 106.85 },
1937
- IR: { en: "Tehran", sv: "Teheran", native: "\u062A\u0647\u0631\u0627\u0646", lat: 35.69, lon: 51.39 },
1938
- IQ: { en: "Baghdad", sv: "Bagdad", native: "\u0628\u063A\u062F\u0627\u062F", lat: 33.34, lon: 44.4 },
1939
- IE: { en: "Dublin", sv: "Dublin", native: "Baile \xC1tha Cliath", lat: 53.35, lon: -6.26 },
1940
- IL: { en: "Jerusalem", sv: "Jerusalem", native: "\u05D9\u05E8\u05D5\u05E9\u05DC\u05D9\u05DD", lat: 31.77, lon: 35.23 },
1941
- IT: { en: "Rome", sv: "Rom", native: "Roma", lat: 41.9, lon: 12.5 },
1942
- JM: { en: "Kingston", sv: "Kingston", native: "Kingston", lat: 18, lon: -76.79 },
1943
- JP: { en: "Tokyo", sv: "Tokyo", native: "\u6771\u4EAC", lat: 35.68, lon: 139.69 },
1944
- JO: { en: "Amman", sv: "Amman", native: "\u0639\u0645\u0651\u0627\u0646", lat: 31.95, lon: 35.93 },
1945
- KZ: { en: "Astana", sv: "Astana", native: "\u0410\u0441\u0442\u0430\u043D\u0430", lat: 51.17, lon: 71.43 },
1946
- KE: { en: "Nairobi", sv: "Nairobi", native: "Nairobi", lat: -1.29, lon: 36.82 },
1947
- KI: { en: "Tarawa", sv: "Tarawa", native: "Tarawa", lat: 1.45, lon: 173 },
1948
- KP: { en: "Pyongyang", sv: "Pyongyang", native: "\uD3C9\uC591", lat: 39.02, lon: 125.75 },
1949
- KR: { en: "Seoul", sv: "Seoul", native: "\uC11C\uC6B8", lat: 37.57, lon: 126.98 },
1950
- KW: { en: "Kuwait City", sv: "Kuwait City", native: "\u0645\u062F\u064A\u0646\u0629 \u0627\u0644\u0643\u0648\u064A\u062A", lat: 29.37, lon: 47.98 },
1951
- KG: { en: "Bishkek", sv: "Bisjkek", native: "\u0411\u0438\u0448\u043A\u0435\u043A", lat: 42.87, lon: 74.59 },
1952
- LA: { en: "Vientiane", sv: "Vientiane", native: "\u0EA7\u0EBD\u0E87\u0E88\u0EB1\u0E99", lat: 17.97, lon: 102.63 },
1953
- LV: { en: "Riga", sv: "Riga", native: "R\u012Bga", lat: 56.95, lon: 24.11 },
1954
- LB: { en: "Beirut", sv: "Beirut", native: "\u0628\u064A\u0631\u0648\u062A", lat: 33.89, lon: 35.5 },
1955
- LS: { en: "Maseru", sv: "Maseru", native: "Maseru", lat: -29.31, lon: 27.48 },
1956
- LR: { en: "Monrovia", sv: "Monrovia", native: "Monrovia", lat: 6.3, lon: -10.8 },
1957
- LY: { en: "Tripoli", sv: "Tripoli", native: "\u0637\u0631\u0627\u0628\u0644\u0633", lat: 32.9, lon: 13.18 },
1958
- LI: { en: "Vaduz", sv: "Vaduz", native: "Vaduz", lat: 47.14, lon: 9.52 },
1959
- LT: { en: "Vilnius", sv: "Vilnius", native: "Vilnius", lat: 54.69, lon: 25.28 },
1960
- LU: { en: "Luxembourg City", sv: "Luxemburg", native: "L\xEBtzebuerg", lat: 49.61, lon: 6.13 },
1961
- MO: { en: "Macao", sv: "Macao", native: "\u6FB3\u9580", lat: 22.2, lon: 113.54 },
1962
- MG: { en: "Antananarivo", sv: "Antananarivo", native: "Antananarivo", lat: -18.91, lon: 47.53 },
1963
- MW: { en: "Lilongwe", sv: "Lilongwe", native: "Lilongwe", lat: -13.97, lon: 33.79 },
1964
- MY: { en: "Kuala Lumpur", sv: "Kuala Lumpur", native: "Kuala Lumpur", lat: 3.14, lon: 101.69 },
1965
- MV: { en: "Mal\xE9", sv: "Mal\xE9", native: "\u0789\u07A7\u078D\u07AC", lat: 4.18, lon: 73.51 },
1966
- ML: { en: "Bamako", sv: "Bamako", native: "Bamako", lat: 12.65, lon: -8 },
1967
- MT: { en: "Valletta", sv: "Valletta", native: "Valletta", lat: 35.9, lon: 14.51 },
1968
- MH: { en: "Majuro", sv: "Majuro", native: "Majuro", lat: 7.09, lon: 171.38 },
1969
- MR: { en: "Nouakchott", sv: "Nouakchott", native: "\u0646\u0648\u0627\u0643\u0634\u0648\u0637", lat: 18.09, lon: -15.98 },
1970
- MU: { en: "Port Louis", sv: "Port Louis", native: "Port Louis", lat: -20.16, lon: 57.5 },
1971
- MX: { en: "Mexico City", sv: "Mexico City", native: "Ciudad de M\xE9xico", lat: 19.43, lon: -99.13 },
1972
- FM: { en: "Palikir", sv: "Palikir", native: "Palikir", lat: 6.92, lon: 158.16 },
1973
- MD: { en: "Chi\u0219in\u0103u", sv: "Chi\u0219in\u0103u", native: "Chi\u0219in\u0103u", lat: 47.01, lon: 28.86 },
1974
- MC: { en: "Monaco", sv: "Monaco", native: "Monaco", lat: 43.73, lon: 7.42 },
1975
- MN: { en: "Ulaanbaatar", sv: "Ulaanbaatar", native: "\u0423\u043B\u0430\u0430\u043D\u0431\u0430\u0430\u0442\u0430\u0440", lat: 47.91, lon: 106.91 },
1976
- ME: { en: "Podgorica", sv: "Podgorica", native: "Podgorica", lat: 42.44, lon: 19.26 },
1977
- MA: { en: "Rabat", sv: "Rabat", native: "\u0627\u0644\u0631\u0628\u0627\u0637", lat: 34.01, lon: -6.84 },
1978
- MZ: { en: "Maputo", sv: "Maputo", native: "Maputo", lat: -25.97, lon: 32.57 },
1979
- MM: { en: "Naypyidaw", sv: "Naypyidaw", native: "\u1014\u1031\u1015\u103C\u100A\u103A\u1010\u1031\u102C\u103A", lat: 19.76, lon: 96.07 },
1980
- NA: { en: "Windhoek", sv: "Windhoek", native: "Windhoek", lat: -22.57, lon: 17.08 },
1981
- NR: { en: "Yaren", sv: "Yaren", native: "Yaren", lat: -0.55, lon: 166.93 },
1982
- NP: { en: "Kathmandu", sv: "Kathmandu", native: "\u0915\u093E\u0920\u092E\u093E\u0921\u094C\u0902", lat: 27.7, lon: 85.32 },
1983
- NL: { en: "Amsterdam", sv: "Amsterdam", native: "Amsterdam", lat: 52.37, lon: 4.9 },
1984
- NZ: { en: "Wellington", sv: "Wellington", native: "Wellington", lat: -41.29, lon: 174.78 },
1985
- NI: { en: "Managua", sv: "Managua", native: "Managua", lat: 12.15, lon: -86.27 },
1986
- NE: { en: "Niamey", sv: "Niamey", native: "Niamey", lat: 13.51, lon: 2.11 },
1987
- NG: { en: "Abuja", sv: "Abuja", native: "Abuja", lat: 9.06, lon: 7.49 },
1988
- MK: { en: "Skopje", sv: "Skopje", native: "\u0421\u043A\u043E\u043F\u0458\u0435", lat: 42, lon: 21.43 },
1989
- NO: { en: "Oslo", sv: "Oslo", native: "Oslo", lat: 59.91, lon: 10.75 },
1990
- OM: { en: "Muscat", sv: "Muskat", native: "\u0645\u0633\u0642\u0637", lat: 23.59, lon: 58.54 },
1991
- PK: { en: "Islamabad", sv: "Islamabad", native: "\u0627\u0633\u0644\u0627\u0645 \u0622\u0628\u0627\u062F", lat: 33.69, lon: 73.04 },
1992
- PW: { en: "Ngerulmud", sv: "Ngerulmud", native: "Ngerulmud", lat: 7.5, lon: 134.62 },
1993
- PS: { en: "Ramallah", sv: "Ramallah", native: "\u0631\u0627\u0645 \u0627\u0644\u0644\u0647", lat: 31.9, lon: 35.2 },
1994
- PA: { en: "Panama City", sv: "Panama City", native: "Ciudad de Panam\xE1", lat: 8.98, lon: -79.52 },
1995
- PG: { en: "Port Moresby", sv: "Port Moresby", native: "Port Moresby", lat: -9.48, lon: 147.15 },
1996
- PY: { en: "Asunci\xF3n", sv: "Asunci\xF3n", native: "Asunci\xF3n", lat: -25.26, lon: -57.58 },
1997
- PE: { en: "Lima", sv: "Lima", native: "Lima", lat: -12.05, lon: -77.04 },
1998
- PH: { en: "Manila", sv: "Manila", native: "Maynila", lat: 14.6, lon: 120.98 },
1999
- PL: { en: "Warsaw", sv: "Warszawa", native: "Warszawa", lat: 52.23, lon: 21.01 },
2000
- PT: { en: "Lisbon", sv: "Lissabon", native: "Lisboa", lat: 38.72, lon: -9.14 },
2001
- PR: { en: "San Juan", sv: "San Juan", native: "San Juan", lat: 18.47, lon: -66.11 },
2002
- QA: { en: "Doha", sv: "Doha", native: "\u0627\u0644\u062F\u0648\u062D\u0629", lat: 25.29, lon: 51.53 },
2003
- RO: { en: "Bucharest", sv: "Bukarest", native: "Bucure\u0219ti", lat: 44.43, lon: 26.1 },
2004
- RU: { en: "Moscow", sv: "Moskva", native: "\u041C\u043E\u0441\u043A\u0432\u0430", lat: 55.76, lon: 37.62 },
2005
- RW: { en: "Kigali", sv: "Kigali", native: "Kigali", lat: -1.94, lon: 30.06 },
2006
- KN: { en: "Basseterre", sv: "Basseterre", native: "Basseterre", lat: 17.3, lon: -62.72 },
2007
- LC: { en: "Castries", sv: "Castries", native: "Castries", lat: 14.01, lon: -61 },
2008
- VC: { en: "Kingstown", sv: "Kingstown", native: "Kingstown", lat: 13.15, lon: -61.22 },
2009
- WS: { en: "Apia", sv: "Apia", native: "Apia", lat: -13.83, lon: -171.76 },
2010
- SM: { en: "San Marino", sv: "San Marino", native: "San Marino", lat: 43.94, lon: 12.45 },
2011
- ST: { en: "S\xE3o Tom\xE9", sv: "S\xE3o Tom\xE9", native: "S\xE3o Tom\xE9", lat: 0.34, lon: 6.73 },
2012
- SA: { en: "Riyadh", sv: "Riyadh", native: "\u0627\u0644\u0631\u064A\u0627\u0636", lat: 24.69, lon: 46.72 },
2013
- SN: { en: "Dakar", sv: "Dakar", native: "Dakar", lat: 14.69, lon: -17.44 },
2014
- RS: { en: "Belgrade", sv: "Belgrad", native: "\u0411\u0435\u043E\u0433\u0440\u0430\u0434", lat: 44.82, lon: 20.46 },
2015
- SC: { en: "Victoria", sv: "Victoria", native: "Victoria", lat: -4.62, lon: 55.45 },
2016
- SL: { en: "Freetown", sv: "Freetown", native: "Freetown", lat: 8.48, lon: -13.23 },
2017
- SG: { en: "Singapore", sv: "Singapore", native: "Singapore", lat: 1.29, lon: 103.85 },
2018
- SK: { en: "Bratislava", sv: "Bratislava", native: "Bratislava", lat: 48.14, lon: 17.11 },
2019
- SI: { en: "Ljubljana", sv: "Ljubljana", native: "Ljubljana", lat: 46.05, lon: 14.51 },
2020
- SB: { en: "Honiara", sv: "Honiara", native: "Honiara", lat: -9.43, lon: 159.96 },
2021
- SO: { en: "Mogadishu", sv: "Mogadishu", native: "Muqdisho", lat: 2.05, lon: 45.32 },
2022
- ZA: { en: "Pretoria", sv: "Pretoria", native: "Pretoria", lat: -25.75, lon: 28.19 },
2023
- SS: { en: "Juba", sv: "Juba", native: "Juba", lat: 4.85, lon: 31.58 },
2024
- ES: { en: "Madrid", sv: "Madrid", native: "Madrid", lat: 40.42, lon: -3.7 },
2025
- LK: {
2026
- en: "Sri Jayawardenepura Kotte",
2027
- sv: "Sri Jayawardenepura Kotte",
2028
- native: "\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DA2\u0DBA\u0DC0\u0DBB\u0DCA\u0DB0\u0DB1\u0DB4\u0DD4\u0DBB \u0D9A\u0DDD\u0DA7\u0DCA\u0DA7\u0DDA",
2029
- lat: 6.89,
2030
- lon: 79.92
2031
- },
2032
- SD: { en: "Khartoum", sv: "Khartoum", native: "\u0627\u0644\u062E\u0631\u0637\u0648\u0645", lat: 15.59, lon: 32.53 },
2033
- SR: { en: "Paramaribo", sv: "Paramaribo", native: "Paramaribo", lat: 5.83, lon: -55.17 },
2034
- SE: { en: "Stockholm", sv: "Stockholm", native: "Stockholm", lat: 59.33, lon: 18.07 },
2035
- CH: { en: "Bern", sv: "Bern", native: "Bern", lat: 46.95, lon: 7.45 },
2036
- SY: { en: "Damascus", sv: "Damaskus", native: "\u062F\u0645\u0634\u0642", lat: 33.51, lon: 36.29 },
2037
- TW: { en: "Taipei", sv: "Taipei", native: "\u81FA\u5317", lat: 25.03, lon: 121.57 },
2038
- TJ: { en: "Dushanbe", sv: "Dusjanbe", native: "\u0414\u0443\u0448\u0430\u043D\u0431\u0435", lat: 38.56, lon: 68.77 },
2039
- TZ: { en: "Dodoma", sv: "Dodoma", native: "Dodoma", lat: -6.16, lon: 35.75 },
2040
- TH: { en: "Bangkok", sv: "Bangkok", native: "\u0E01\u0E23\u0E38\u0E07\u0E40\u0E17\u0E1E\u0E21\u0E2B\u0E32\u0E19\u0E04\u0E23", lat: 13.76, lon: 100.5 },
2041
- TL: { en: "Dili", sv: "Dili", native: "Dili", lat: -8.56, lon: 125.57 },
2042
- TG: { en: "Lom\xE9", sv: "Lom\xE9", native: "Lom\xE9", lat: 6.14, lon: 1.21 },
2043
- TO: { en: "Nuku\u02BBalofa", sv: "Nuku\u02BBalofa", native: "Nuku\u02BBalofa", lat: -21.21, lon: -175.2 },
2044
- TT: {
2045
- en: "Port of Spain",
2046
- sv: "Port of Spain",
2047
- native: "Port of Spain",
2048
- lat: 10.66,
2049
- lon: -61.51
2050
- },
2051
- TN: { en: "Tunis", sv: "Tunis", native: "\u062A\u0648\u0646\u0633", lat: 36.81, lon: 10.17 },
2052
- TR: { en: "Ankara", sv: "Ankara", native: "Ankara", lat: 39.93, lon: 32.86 },
2053
- TM: { en: "Ashgabat", sv: "Asjchabad", native: "A\u015Fgabat", lat: 37.95, lon: 58.38 },
2054
- TV: { en: "Funafuti", sv: "Funafuti", native: "Funafuti", lat: -8.52, lon: 179.2 },
2055
- UG: { en: "Kampala", sv: "Kampala", native: "Kampala", lat: 0.31, lon: 32.58 },
2056
- UA: { en: "Kyiv", sv: "Kiev", native: "\u041A\u0438\u0457\u0432", lat: 50.45, lon: 30.52 },
2057
- AE: { en: "Abu Dhabi", sv: "Abu Dhabi", native: "\u0623\u0628\u0648 \u0638\u0628\u064A", lat: 24.45, lon: 54.65 },
2058
- GB: { en: "London", sv: "London", native: "London", lat: 51.51, lon: -0.13 },
2059
- US: {
2060
- en: "Washington, D.C.",
2061
- sv: "Washington, D.C.",
2062
- native: "Washington, D.C.",
2063
- lat: 38.9,
2064
- lon: -77.04
2065
- },
2066
- UY: { en: "Montevideo", sv: "Montevideo", native: "Montevideo", lat: -34.88, lon: -56.19 },
2067
- UZ: { en: "Tashkent", sv: "Tasjkent", native: "Toshkent", lat: 41.3, lon: 69.28 },
2068
- VU: { en: "Port Vila", sv: "Port Vila", native: "Port Vila", lat: -17.74, lon: 168.31 },
2069
- VA: {
2070
- en: "Vatican City",
2071
- sv: "Vatikanstaden",
2072
- native: "Citt\xE0 del Vaticano",
2073
- lat: 41.9,
2074
- lon: 12.45
2075
- },
2076
- VE: { en: "Caracas", sv: "Caracas", native: "Caracas", lat: 10.49, lon: -66.9 },
2077
- VN: { en: "Hanoi", sv: "Hanoi", native: "H\xE0 N\u1ED9i", lat: 21.03, lon: 105.85 },
2078
- YE: { en: "Sana'a", sv: "Sana'a", native: "\u0635\u0646\u0639\u0627\u0621", lat: 15.35, lon: 44.21 },
2079
- ZM: { en: "Lusaka", sv: "Lusaka", native: "Lusaka", lat: -15.39, lon: 28.32 },
2080
- ZW: { en: "Harare", sv: "Harare", native: "Harare", lat: -17.83, lon: 31.05 },
2081
- AX: { en: "Mariehamn", sv: "Mariehamn", native: "Mariehamn", lat: 60.1, lon: 19.94 },
2082
- FO: { en: "T\xF3rshavn", sv: "Torshamn", native: "T\xF3rshavn", lat: 62.01, lon: -6.77 },
2083
- XK: { en: "Pristina", sv: "Pristina", native: "Prishtin\xEB", lat: 42.66, lon: 21.17 },
2084
- GI: { en: "Gibraltar", sv: "Gibraltar", native: "Gibraltar", lat: 36.14, lon: -5.35 },
2085
- GL: { en: "Nuuk", sv: "Nuuk", native: "Nuuk", lat: 64.17, lon: -51.74 },
2086
- GG: {
2087
- en: "St. Peter Port",
2088
- sv: "Saint Peter Port",
2089
- native: "St. Peter Port",
2090
- lat: 49.46,
2091
- lon: -2.54
2092
- },
2093
- IM: { en: "Douglas", sv: "Douglas", native: "Douglas", lat: 54.15, lon: -4.48 },
2094
- JE: { en: "St. Helier", sv: "Saint Helier", native: "St. Helier", lat: 49.19, lon: -2.1 }
2095
- };
2096
- function getCountryCapital(alpha2) {
2097
- const r = RAW[alpha2];
2098
- if (!r) return null;
2099
- return new CountryCapital(r.en, r.sv, r.native, GeoCoordinate.create(r.lat, r.lon));
2100
- }
2101
-
2102
- // src/geography/country-metadata.ts
2103
- var set = (codes) => {
2104
- const s = /* @__PURE__ */ new Set();
2105
- for (const c of codes) s.add(c.toUpperCase());
2106
- return s;
2107
- };
2108
- var EU_COUNTRIES = set([
2109
- "AT",
2110
- "BE",
2111
- "BG",
2112
- "HR",
2113
- "CY",
2114
- "CZ",
2115
- "DK",
2116
- "EE",
2117
- "FI",
2118
- "FR",
2119
- "DE",
2120
- "GR",
2121
- "HU",
2122
- "IE",
2123
- "IT",
2124
- "LV",
2125
- "LT",
2126
- "LU",
2127
- "MT",
2128
- "NL",
2129
- "PL",
2130
- "PT",
2131
- "RO",
2132
- "SK",
2133
- "SI",
2134
- "ES",
2135
- "SE"
2136
- ]);
2137
- var EEA_COUNTRIES = set([
2138
- "AT",
2139
- "BE",
2140
- "BG",
2141
- "HR",
2142
- "CY",
2143
- "CZ",
2144
- "DK",
2145
- "EE",
2146
- "FI",
2147
- "FR",
2148
- "DE",
2149
- "GR",
2150
- "HU",
2151
- "IE",
2152
- "IT",
2153
- "LV",
2154
- "LT",
2155
- "LU",
2156
- "MT",
2157
- "NL",
2158
- "PL",
2159
- "PT",
2160
- "RO",
2161
- "SK",
2162
- "SI",
2163
- "ES",
2164
- "SE",
2165
- "IS",
2166
- "LI",
2167
- "NO"
2168
- ]);
2169
- var SCHENGEN_COUNTRIES = set([
2170
- "AT",
2171
- "BE",
2172
- "BG",
2173
- "HR",
2174
- "CZ",
2175
- "DK",
2176
- "EE",
2177
- "FI",
2178
- "FR",
2179
- "DE",
2180
- "GR",
2181
- "HU",
2182
- "IT",
2183
- "LV",
2184
- "LT",
2185
- "LU",
2186
- "MT",
2187
- "NL",
2188
- "PL",
2189
- "PT",
2190
- "RO",
2191
- "SK",
2192
- "SI",
2193
- "ES",
2194
- "SE",
2195
- "IS",
2196
- "LI",
2197
- "NO",
2198
- "CH"
2199
- ]);
2200
- var NORDIC_COUNTRIES = set(["DK", "FI", "IS", "NO", "SE"]);
2201
- var SEPA_COUNTRIES = set([
2202
- "AT",
2203
- "BE",
2204
- "BG",
2205
- "HR",
2206
- "CY",
2207
- "CZ",
2208
- "DK",
2209
- "EE",
2210
- "FI",
2211
- "FR",
2212
- "DE",
2213
- "GR",
2214
- "HU",
2215
- "IE",
2216
- "IT",
2217
- "LV",
2218
- "LT",
2219
- "LU",
2220
- "MT",
2221
- "NL",
2222
- "PL",
2223
- "PT",
2224
- "RO",
2225
- "SK",
2226
- "SI",
2227
- "ES",
2228
- "SE",
2229
- "IS",
2230
- "LI",
2231
- "NO",
2232
- "AL",
2233
- "AD",
2234
- "MD",
2235
- "MC",
2236
- "ME",
2237
- "MK",
2238
- "SM",
2239
- "RS",
2240
- "CH",
2241
- "GB",
2242
- "VA",
2243
- "GG",
2244
- "IM",
2245
- "JE"
2246
- ]);
2247
- var COUNTRY_CURRENCIES = Object.freeze({
2248
- AF: ["AFN"],
2249
- AL: ["ALL"],
2250
- DZ: ["DZD"],
2251
- AS: ["USD"],
2252
- AD: ["EUR"],
2253
- AO: ["AOA"],
2254
- AG: ["XCD"],
2255
- AR: ["ARS"],
2256
- AM: ["AMD"],
2257
- AW: ["AWG"],
2258
- AU: ["AUD"],
2259
- AT: ["EUR"],
2260
- AZ: ["AZN"],
2261
- BS: ["BSD"],
2262
- BH: ["BHD"],
2263
- BD: ["BDT"],
2264
- BB: ["BBD"],
2265
- BY: ["BYN"],
2266
- BE: ["EUR"],
2267
- BZ: ["BZD"],
2268
- BJ: ["XOF"],
2269
- BM: ["BMD"],
2270
- BT: ["BTN"],
2271
- BO: ["BOB"],
2272
- BA: ["BAM"],
2273
- BW: ["BWP"],
2274
- BR: ["BRL"],
2275
- BN: ["BND"],
2276
- BG: ["BGN"],
2277
- BF: ["XOF"],
2278
- BI: ["BIF"],
2279
- CV: ["CVE"],
2280
- KH: ["KHR"],
2281
- CM: ["XAF"],
2282
- CA: ["CAD"],
2283
- CF: ["XAF"],
2284
- TD: ["XAF"],
2285
- CL: ["CLP"],
2286
- CN: ["CNY"],
2287
- CO: ["COP"],
2288
- KM: ["KMF"],
2289
- CG: ["XAF"],
2290
- CD: ["CDF"],
2291
- CR: ["CRC"],
2292
- CI: ["XOF"],
2293
- HR: ["EUR"],
2294
- CU: ["CUP"],
2295
- CW: ["ANG"],
2296
- CY: ["EUR"],
2297
- CZ: ["CZK"],
2298
- DK: ["DKK"],
2299
- DJ: ["DJF"],
2300
- DM: ["XCD"],
2301
- DO: ["DOP"],
2302
- EC: ["USD"],
2303
- EG: ["EGP"],
2304
- SV: ["USD"],
2305
- GQ: ["XAF"],
2306
- ER: ["ERN"],
2307
- EE: ["EUR"],
2308
- SZ: ["SZL"],
2309
- ET: ["ETB"],
2310
- FJ: ["FJD"],
2311
- FI: ["EUR"],
2312
- FR: ["EUR"],
2313
- GA: ["XAF"],
2314
- GM: ["GMD"],
2315
- GE: ["GEL"],
2316
- DE: ["EUR"],
2317
- GH: ["GHS"],
2318
- GI: ["GIP"],
2319
- GR: ["EUR"],
2320
- GL: ["DKK"],
2321
- GD: ["XCD"],
2322
- GU: ["USD"],
2323
- GT: ["GTQ"],
2324
- GG: ["GBP"],
2325
- GN: ["GNF"],
2326
- GW: ["XOF"],
2327
- GY: ["GYD"],
2328
- HT: ["HTG"],
2329
- HN: ["HNL"],
2330
- HK: ["HKD"],
2331
- HU: ["HUF"],
2332
- IS: ["ISK"],
2333
- IN: ["INR"],
2334
- ID: ["IDR"],
2335
- IR: ["IRR"],
2336
- IQ: ["IQD"],
2337
- IE: ["EUR"],
2338
- IM: ["GBP"],
2339
- IL: ["ILS"],
2340
- IT: ["EUR"],
2341
- JM: ["JMD"],
2342
- JP: ["JPY"],
2343
- JE: ["GBP"],
2344
- JO: ["JOD"],
2345
- KZ: ["KZT"],
2346
- KE: ["KES"],
2347
- KI: ["AUD"],
2348
- KP: ["KPW"],
2349
- KR: ["KRW"],
2350
- KW: ["KWD"],
2351
- KG: ["KGS"],
2352
- LA: ["LAK"],
2353
- LV: ["EUR"],
2354
- LB: ["LBP"],
2355
- LS: ["LSL"],
2356
- LR: ["LRD"],
2357
- LY: ["LYD"],
2358
- LI: ["CHF"],
2359
- LT: ["EUR"],
2360
- LU: ["EUR"],
2361
- MO: ["MOP"],
2362
- MG: ["MGA"],
2363
- MW: ["MWK"],
2364
- MY: ["MYR"],
2365
- MV: ["MVR"],
2366
- ML: ["XOF"],
2367
- MT: ["EUR"],
2368
- MH: ["USD"],
2369
- MR: ["MRU"],
2370
- MU: ["MUR"],
2371
- MX: ["MXN"],
2372
- FM: ["USD"],
2373
- MD: ["MDL"],
2374
- MC: ["EUR"],
2375
- MN: ["MNT"],
2376
- ME: ["EUR"],
2377
- MA: ["MAD"],
2378
- MZ: ["MZN"],
2379
- MM: ["MMK"],
2380
- NA: ["NAD"],
2381
- NR: ["AUD"],
2382
- NP: ["NPR"],
2383
- NL: ["EUR"],
2384
- NZ: ["NZD"],
2385
- NI: ["NIO"],
2386
- NE: ["XOF"],
2387
- NG: ["NGN"],
2388
- MK: ["MKD"],
2389
- NO: ["NOK"],
2390
- OM: ["OMR"],
2391
- PK: ["PKR"],
2392
- PW: ["USD"],
2393
- PS: ["ILS"],
2394
- PA: ["PAB"],
2395
- PG: ["PGK"],
2396
- PY: ["PYG"],
2397
- PE: ["PEN"],
2398
- PH: ["PHP"],
2399
- PL: ["PLN"],
2400
- PT: ["EUR"],
2401
- PR: ["USD"],
2402
- QA: ["QAR"],
2403
- RO: ["RON"],
2404
- RU: ["RUB"],
2405
- RW: ["RWF"],
2406
- KN: ["XCD"],
2407
- LC: ["XCD"],
2408
- VC: ["XCD"],
2409
- WS: ["WST"],
2410
- SM: ["EUR"],
2411
- ST: ["STN"],
2412
- SA: ["SAR"],
2413
- SN: ["XOF"],
2414
- RS: ["RSD"],
2415
- SC: ["SCR"],
2416
- SL: ["SLE"],
2417
- SG: ["SGD"],
2418
- SK: ["EUR"],
2419
- SI: ["EUR"],
2420
- SB: ["SBD"],
2421
- SO: ["SOS"],
2422
- ZA: ["ZAR"],
2423
- SS: ["SSP"],
2424
- ES: ["EUR"],
2425
- LK: ["LKR"],
2426
- SD: ["SDG"],
2427
- SR: ["SRD"],
2428
- SE: ["SEK"],
2429
- CH: ["CHF"],
2430
- SY: ["SYP"],
2431
- TW: ["TWD"],
2432
- TJ: ["TJS"],
2433
- TZ: ["TZS"],
2434
- TH: ["THB"],
2435
- TL: ["USD"],
2436
- TG: ["XOF"],
2437
- TO: ["TOP"],
2438
- TT: ["TTD"],
2439
- TN: ["TND"],
2440
- TR: ["TRY"],
2441
- TM: ["TMT"],
2442
- TV: ["AUD"],
2443
- UG: ["UGX"],
2444
- UA: ["UAH"],
2445
- AE: ["AED"],
2446
- GB: ["GBP"],
2447
- US: ["USD"],
2448
- UY: ["UYU"],
2449
- UZ: ["UZS"],
2450
- VU: ["VUV"],
2451
- VA: ["EUR"],
2452
- VE: ["VES"],
2453
- VN: ["VND"],
2454
- YE: ["YER"],
2455
- ZM: ["ZMW"],
2456
- ZW: ["ZWG"],
2457
- AX: ["EUR"],
2458
- FO: ["DKK"],
2459
- XK: ["EUR"]
2460
- });
2461
- var COUNTRY_LANGUAGES = Object.freeze({
2462
- AF: ["ps", "fa"],
2463
- AL: ["sq"],
2464
- DZ: ["ar"],
2465
- AD: ["ca"],
2466
- AO: ["pt"],
2467
- AG: ["en"],
2468
- AR: ["es"],
2469
- AM: ["hy"],
2470
- AU: ["en"],
2471
- AT: ["de"],
2472
- AZ: ["az"],
2473
- BS: ["en"],
2474
- BH: ["ar"],
2475
- BD: ["bn"],
2476
- BB: ["en"],
2477
- BY: ["be", "ru"],
2478
- BE: ["nl", "fr", "de"],
2479
- BZ: ["en"],
2480
- BJ: ["fr"],
2481
- BT: ["dz"],
2482
- BO: ["es", "qu", "ay"],
2483
- BA: ["bs", "hr", "sr"],
2484
- BW: ["en", "tn"],
2485
- BR: ["pt"],
2486
- BN: ["ms"],
2487
- BG: ["bg"],
2488
- BF: ["fr"],
2489
- BI: ["rn", "fr"],
2490
- CV: ["pt"],
2491
- KH: ["km"],
2492
- CM: ["fr", "en"],
2493
- CA: ["en", "fr"],
2494
- CF: ["fr", "sg"],
2495
- TD: ["fr", "ar"],
2496
- CL: ["es"],
2497
- CN: ["zh"],
2498
- CO: ["es"],
2499
- KM: ["ar", "fr"],
2500
- CG: ["fr"],
2501
- CD: ["fr"],
2502
- CR: ["es"],
2503
- CI: ["fr"],
2504
- HR: ["hr"],
2505
- CU: ["es"],
2506
- CY: ["el", "tr"],
2507
- CZ: ["cs"],
2508
- DK: ["da"],
2509
- DJ: ["fr", "ar"],
2510
- DM: ["en"],
2511
- DO: ["es"],
2512
- EC: ["es"],
2513
- EG: ["ar"],
2514
- SV: ["es"],
2515
- GQ: ["es", "fr", "pt"],
2516
- ER: ["ti", "ar", "en"],
2517
- EE: ["et"],
2518
- SZ: ["en", "ss"],
2519
- ET: ["am"],
2520
- FJ: ["en", "fj"],
2521
- FI: ["fi", "sv"],
2522
- FR: ["fr"],
2523
- GA: ["fr"],
2524
- GM: ["en"],
2525
- GE: ["ka"],
2526
- DE: ["de"],
2527
- GH: ["en"],
2528
- GR: ["el"],
2529
- GD: ["en"],
2530
- GT: ["es"],
2531
- GN: ["fr"],
2532
- GW: ["pt"],
2533
- GY: ["en"],
2534
- HT: ["ht", "fr"],
2535
- HN: ["es"],
2536
- HU: ["hu"],
2537
- IS: ["is"],
2538
- IN: ["hi", "en"],
2539
- ID: ["id"],
2540
- IR: ["fa"],
2541
- IQ: ["ar", "ku"],
2542
- IE: ["en", "ga"],
2543
- IL: ["he", "ar"],
2544
- IT: ["it"],
2545
- JM: ["en"],
2546
- JP: ["ja"],
2547
- JO: ["ar"],
2548
- KZ: ["kk", "ru"],
2549
- KE: ["en", "sw"],
2550
- KI: ["en"],
2551
- KP: ["ko"],
2552
- KR: ["ko"],
2553
- KW: ["ar"],
2554
- KG: ["ky", "ru"],
2555
- LA: ["lo"],
2556
- LV: ["lv"],
2557
- LB: ["ar", "fr"],
2558
- LS: ["en", "st"],
2559
- LR: ["en"],
2560
- LY: ["ar"],
2561
- LI: ["de"],
2562
- LT: ["lt"],
2563
- LU: ["lb", "fr", "de"],
2564
- MG: ["mg", "fr"],
2565
- MW: ["en", "ny"],
2566
- MY: ["ms"],
2567
- MV: ["dv"],
2568
- ML: ["fr"],
2569
- MT: ["mt", "en"],
2570
- MH: ["en", "mh"],
2571
- MR: ["ar"],
2572
- MU: ["en"],
2573
- MX: ["es"],
2574
- MD: ["ro"],
2575
- MC: ["fr"],
2576
- MN: ["mn"],
2577
- ME: ["sr"],
2578
- MA: ["ar"],
2579
- MZ: ["pt"],
2580
- MM: ["my"],
2581
- NA: ["en"],
2582
- NR: ["en", "na"],
2583
- NP: ["ne"],
2584
- NL: ["nl"],
2585
- NZ: ["en", "mi"],
2586
- NI: ["es"],
2587
- NE: ["fr"],
2588
- NG: ["en"],
2589
- MK: ["mk"],
2590
- NO: ["no", "nb", "nn"],
2591
- OM: ["ar"],
2592
- PK: ["ur", "en"],
2593
- PW: ["en"],
2594
- PA: ["es"],
2595
- PG: ["en"],
2596
- PY: ["es", "gn"],
2597
- PE: ["es", "qu"],
2598
- PH: ["tl", "en"],
2599
- PL: ["pl"],
2600
- PT: ["pt"],
2601
- QA: ["ar"],
2602
- RO: ["ro"],
2603
- RU: ["ru"],
2604
- RW: ["rw", "fr", "en"],
2605
- KN: ["en"],
2606
- LC: ["en"],
2607
- VC: ["en"],
2608
- WS: ["sm", "en"],
2609
- SM: ["it"],
2610
- ST: ["pt"],
2611
- SA: ["ar"],
2612
- SN: ["fr"],
2613
- RS: ["sr"],
2614
- SC: ["en", "fr"],
2615
- SL: ["en"],
2616
- SG: ["en", "ms", "zh", "ta"],
2617
- SK: ["sk"],
2618
- SI: ["sl"],
2619
- SB: ["en"],
2620
- SO: ["so", "ar"],
2621
- ZA: ["en", "af", "zu"],
2622
- SS: ["en"],
2623
- ES: ["es"],
2624
- LK: ["si", "ta"],
2625
- SD: ["ar", "en"],
2626
- SR: ["nl"],
2627
- SE: ["sv"],
2628
- CH: ["de", "fr", "it", "rm"],
2629
- SY: ["ar"],
2630
- TW: ["zh"],
2631
- TJ: ["tg"],
2632
- TZ: ["sw", "en"],
2633
- TH: ["th"],
2634
- TL: ["pt"],
2635
- TG: ["fr"],
2636
- TO: ["en", "to"],
2637
- TT: ["en"],
2638
- TN: ["ar"],
2639
- TR: ["tr"],
2640
- TM: ["tk"],
2641
- TV: ["en"],
2642
- UG: ["en", "sw"],
2643
- UA: ["uk"],
2644
- AE: ["ar"],
2645
- GB: ["en"],
2646
- US: ["en"],
2647
- UY: ["es"],
2648
- UZ: ["uz"],
2649
- VU: ["en", "fr", "bi"],
2650
- VA: ["it", "la"],
2651
- VE: ["es"],
2652
- VN: ["vi"],
2653
- YE: ["ar"],
2654
- ZM: ["en"],
2655
- ZW: ["en", "sn", "nd"],
2656
- AS: ["en", "sm"],
2657
- AW: ["nl"],
2658
- BM: ["en"],
2659
- CW: ["nl"],
2660
- FO: ["fo", "da"],
2661
- GI: ["en"],
2662
- GL: ["kl", "da"],
2663
- GG: ["en"],
2664
- GU: ["en"],
2665
- HK: ["zh", "en"],
2666
- IM: ["en"],
2667
- JE: ["en"],
2668
- XK: ["sq", "sr"],
2669
- MO: ["zh", "pt"],
2670
- PR: ["es", "en"]
2671
- });
2672
- var COUNTRY_ALIASES = Object.freeze({
2673
- USA: "US",
2674
- UK: "GB",
2675
- Holland: "NL",
2676
- "Czech Republic": "CZ",
2677
- "Ivory Coast": "CI",
2678
- Burma: "MM",
2679
- Swaziland: "SZ",
2680
- Persia: "IR",
2681
- "Great Britain": "GB",
2682
- England: "GB",
2683
- UAE: "AE",
2684
- "South Korea": "KR",
2685
- "North Korea": "KP",
2686
- "Republic of Ireland": "IE",
2687
- Suisse: "CH",
2688
- Svizzera: "CH",
2689
- Belgique: "BE",
2690
- Noreg: "NO",
2691
- Vitryssland: "BY"
2692
- });
2693
- var PRIMARY_BY_CALLING_CODE = Object.freeze({
2694
- "1": "US",
2695
- "44": "GB",
2696
- "7": "RU"
2697
- });
2698
-
2699
- // src/geography/country.ts
2700
- var MAX_INPUT_LENGTH3 = 100;
2701
- var Country = class _Country {
2702
- static typeInfo = Object.freeze({
2703
- englishName: "Country",
2704
- localizedName: "Land",
2705
- emoji: "\u{1F30D}",
2706
- sources: Object.freeze([
2707
- "https://www.iso.org/iso-3166-country-codes.html",
2708
- "https://en.wikipedia.org/wiki/ISO_3166-1",
2709
- "https://www.itu.int/rec/T-REC-E.164/",
2710
- "https://www.iana.org/domains/root/db",
2711
- "https://www.wikidata.org/wiki/Property:P625",
2712
- "https://www.wikidata.org/wiki/Property:P36",
2713
- "https://www.wikidata.org/wiki/Property:P47"
2714
- ])
2715
- });
2716
- alpha2Code;
2717
- alpha3Code;
2718
- numericCode;
2719
- englishName;
2720
- localizedName;
2721
- nativeName;
2722
- callingCode;
2723
- topLevelDomain;
2724
- continent;
2725
- currencyCodes;
2726
- languageCodes;
2727
- constructor(row) {
2728
- this.alpha2Code = row.alpha2;
2729
- this.alpha3Code = row.alpha3;
2730
- this.numericCode = row.numeric;
2731
- this.englishName = row.en;
2732
- this.localizedName = row.sv;
2733
- this.nativeName = row.native;
2734
- this.callingCode = row.callingCode;
2735
- this.topLevelDomain = row.tld;
2736
- this.continent = row.continent;
2737
- this.currencyCodes = COUNTRY_CURRENCIES[row.alpha2] ?? [];
2738
- this.languageCodes = COUNTRY_LANGUAGES[row.alpha2] ?? [];
2739
- }
2740
- /** The canonical value of this country: its ISO 3166-1 alpha-2 code. */
2741
- get value() {
2742
- return this.alpha2Code;
2743
- }
2744
- /** Display name in the current culture (Swedish or English). */
2745
- get displayName() {
2746
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedName : this.englishName;
2747
- }
2748
- /** Culture-independent display form. Always the English name. */
2749
- get formatted() {
2750
- return this.englishName;
2751
- }
2752
- /** Geographic coordinate of the country (centroid, from Wikidata P625). */
2753
- get coordinate() {
2754
- const c = COUNTRY_COORDINATES[this.alpha2Code];
2755
- if (!c) throw new Error(`No coordinate for country ${this.alpha2Code}.`);
2756
- return GeoCoordinate.create(c[0], c[1]);
2757
- }
2758
- /** Approximate latitude (WGS 84) of the country centroid. */
2759
- get latitude() {
2760
- return this.coordinate.latitude;
2761
- }
2762
- /** Approximate longitude (WGS 84) of the country centroid. */
2763
- get longitude() {
2764
- return this.coordinate.longitude;
2765
- }
2766
- /** Capital city, or `null` for entries without a capital (e.g. Antarctica). */
2767
- get capital() {
2768
- return getCountryCapital(this.alpha2Code);
2769
- }
2770
- get isInEuropeanUnion() {
2771
- return EU_COUNTRIES.has(this.alpha2Code);
2772
- }
2773
- get isInEea() {
2774
- return EEA_COUNTRIES.has(this.alpha2Code);
2775
- }
2776
- get isInSchengen() {
2777
- return SCHENGEN_COUNTRIES.has(this.alpha2Code);
2778
- }
2779
- get isInNordics() {
2780
- return NORDIC_COUNTRIES.has(this.alpha2Code);
2781
- }
2782
- get isInSepa() {
2783
- return SEPA_COUNTRIES.has(this.alpha2Code);
2784
- }
2785
- /** True when the euro is among the country's legal tenders. */
2786
- get usesEuro() {
2787
- return this.currencyCodes.includes("EUR");
2788
- }
2789
- /** Primary ISO 4217 currency code, or `null` when unknown. */
2790
- get currencyCode() {
2791
- return this.currencyCodes[0] ?? null;
2792
- }
2793
- /**
2794
- * Primary legal-tender currency, or `null` when unknown. Countries with
2795
- * several legal tenders (Cuba, Panama, Namibia) return the first; use
2796
- * {@link currencies} for the full list.
2797
- */
2798
- get currency() {
2799
- const code = this.currencyCode;
2800
- return code == null ? null : Currency.tryParse(code);
2801
- }
2802
- /** All recognized currencies for this country, in priority order. */
2803
- get currencies() {
2804
- return Object.freeze(
2805
- this.currencyCodes.map((code) => Currency.tryParse(code)).filter((c) => c !== null)
2806
- );
2807
- }
2808
- /**
2809
- * Primary official language, or `null` when unknown. Countries with several
2810
- * official languages (Belgium, Switzerland) return the most widely spoken;
2811
- * use {@link officialLanguages} for the full list.
2812
- */
2813
- get primaryLanguage() {
2814
- const code = this.languageCodes[0];
2815
- return code == null ? null : Language.tryParse(code);
2816
- }
2817
- /** All official languages of the country, in priority order. */
2818
- get officialLanguages() {
2819
- return Object.freeze(
2820
- this.languageCodes.map((code) => Language.tryParse(code)).filter((l) => l !== null)
2821
- );
2822
- }
2823
- static tryParse(input) {
2824
- if (input == null) return null;
2825
- const sanitized = sanitizeInput(input).trim();
2826
- if (sanitized.length === 0 || sanitized.length > MAX_INPUT_LENGTH3) return null;
2827
- const direct = lookupCi(sanitized);
2828
- if (direct) return direct;
2829
- if (sanitized.length > 4 && sanitized.slice(0, 4).toLowerCase() === "the ") {
2830
- const without = sanitized.slice(4);
2831
- const stripped = lookupCi(without);
2832
- if (stripped) return stripped;
2833
- }
2834
- return null;
2835
- }
2836
- static parse(input) {
2837
- const r = _Country.tryParse(input);
2838
- if (r === null) throw new Error("Unknown country.");
2839
- return r;
2840
- }
2841
- static isValid(input) {
2842
- return _Country.tryParse(input) !== null;
2843
- }
2844
- static format(input, options) {
2845
- const r = _Country.tryParse(input);
2846
- if (r) return r.displayName;
2847
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
2848
- return input.trim();
2849
- }
2850
- return null;
2851
- }
2852
- static normalize(input, options) {
2853
- const r = _Country.tryParse(input);
2854
- if (r) return r.alpha2Code;
2855
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null) {
2856
- const trimmed = input.trim();
2857
- return trimmed.length > 0 ? trimmed : null;
2858
- }
2859
- return null;
2860
- }
2861
- static isNormalized(input) {
2862
- return input != null && _Country.normalize(input) === input;
2863
- }
2864
- /** Look up a country by its phone calling code. Primary owner wins for shared codes. */
2865
- static tryFindByCallingCode(callingCode) {
2866
- if (callingCode == null) return null;
2867
- const trimmed = callingCode.trim();
2868
- if (trimmed.length === 0) return null;
2869
- return BY_CALLING_CODE.get(trimmed) ?? null;
2870
- }
2871
- /** All known countries. */
2872
- static get all() {
2873
- return ALL_COUNTRIES;
2874
- }
2875
- /**
2876
- * Returns countries within `radiusKm` of this country, ordered by distance.
2877
- */
2878
- findNeighbors(radiusKm) {
2879
- if (!Number.isFinite(radiusKm) || radiusKm <= 0) {
2880
- throw new RangeError("radiusKm must be a positive finite number.");
2881
- }
2882
- return _Country.findNeighbors(this.coordinate, radiusKm).filter((d) => d.country !== this);
2883
- }
2884
- /** Returns countries within `radiusKm` of `coordinate`, ordered by distance. */
2885
- static findNeighbors(coordinate, radiusKm) {
2886
- if (!Number.isFinite(radiusKm) || radiusKm <= 0) {
2887
- throw new RangeError("radiusKm must be a positive finite number.");
2888
- }
2889
- const out = [];
2890
- for (const c of ALL_COUNTRIES) {
2891
- const dist = GeoCoordinate.distanceKilometers(coordinate, c.coordinate);
2892
- if (dist <= radiusKm) out.push({ country: c, distanceKilometers: dist });
2893
- }
2894
- out.sort((a, b) => a.distanceKilometers - b.distanceKilometers);
2895
- return out;
2896
- }
2897
- /**
2898
- * Scans unstructured text for country names (4+ chars, word-bounded). Low confidence
2899
- * because country names can occur in non-geographic contexts.
2900
- */
2901
- static findCandidatesInText(text) {
2902
- if (!text) return [];
2903
- const out = [];
2904
- SCAN_PATTERN.lastIndex = 0;
2905
- let m;
2906
- while ((m = SCAN_PATTERN.exec(text)) !== null) {
2907
- const country = _Country.tryParse(m[0]);
2908
- if (!country) continue;
2909
- out.push(
2910
- new TextCandidate({
2911
- startIndex: m.index,
2912
- length: m[0].length,
2913
- originalText: m[0],
2914
- typeName: "Country",
2915
- category: TextCandidateCategory.Geography,
2916
- normalizedForm: country.toNormalizedString(),
2917
- formattedForm: country.toString(),
2918
- maskedForm: country.localizedName,
2919
- confidence: TextMatchConfidence.Low,
2920
- value: country
2921
- })
2922
- );
2923
- }
2924
- return out;
2925
- }
2926
- toNormalizedString() {
2927
- return this.alpha2Code;
2928
- }
2929
- toString() {
2930
- return this.displayName;
2931
- }
2932
- toDisplayString() {
2933
- return this.displayName;
2934
- }
2935
- toEnglishString() {
2936
- return this.englishName;
2937
- }
2938
- toNativeString() {
2939
- return this.nativeName;
2940
- }
2941
- equals(other) {
2942
- return other != null && this.alpha2Code === other.alpha2Code;
2943
- }
2944
- compareTo(other) {
2945
- if (other == null) return 1;
2946
- return this.alpha2Code < other.alpha2Code ? -1 : this.alpha2Code > other.alpha2Code ? 1 : 0;
2947
- }
2948
- static get Sweden() {
2949
- return getByAlpha2("SE");
2950
- }
2951
- static get Norway() {
2952
- return getByAlpha2("NO");
2953
- }
2954
- static get Finland() {
2955
- return getByAlpha2("FI");
2956
- }
2957
- static get Denmark() {
2958
- return getByAlpha2("DK");
2959
- }
2960
- static get Iceland() {
2961
- return getByAlpha2("IS");
2962
- }
2963
- static get Germany() {
2964
- return getByAlpha2("DE");
2965
- }
2966
- static get Poland() {
2967
- return getByAlpha2("PL");
2968
- }
2969
- static get Estonia() {
2970
- return getByAlpha2("EE");
2971
- }
2972
- static get Lithuania() {
2973
- return getByAlpha2("LT");
2974
- }
2975
- static get Latvia() {
2976
- return getByAlpha2("LV");
2977
- }
2978
- static get Romania() {
2979
- return getByAlpha2("RO");
2980
- }
2981
- static get Bulgaria() {
2982
- return getByAlpha2("BG");
2983
- }
2984
- static get CzechRepublic() {
2985
- return getByAlpha2("CZ");
2986
- }
2987
- static get Spain() {
2988
- return getByAlpha2("ES");
2989
- }
2990
- static get Netherlands() {
2991
- return getByAlpha2("NL");
2992
- }
2993
- static get Greece() {
2994
- return getByAlpha2("GR");
2995
- }
2996
- static get Italy() {
2997
- return getByAlpha2("IT");
2998
- }
2999
- static get Slovenia() {
3000
- return getByAlpha2("SI");
3001
- }
3002
- static get Croatia() {
3003
- return getByAlpha2("HR");
3004
- }
3005
- static get Portugal() {
3006
- return getByAlpha2("PT");
3007
- }
3008
- static get Hungary() {
3009
- return getByAlpha2("HU");
3010
- }
3011
- static get France() {
3012
- return getByAlpha2("FR");
3013
- }
3014
- static get Slovakia() {
3015
- return getByAlpha2("SK");
3016
- }
3017
- static get Belgium() {
3018
- return getByAlpha2("BE");
3019
- }
3020
- static get UnitedKingdom() {
3021
- return getByAlpha2("GB");
3022
- }
3023
- static get Austria() {
3024
- return getByAlpha2("AT");
3025
- }
3026
- static get Cyprus() {
3027
- return getByAlpha2("CY");
3028
- }
3029
- static get Switzerland() {
3030
- return getByAlpha2("CH");
3031
- }
3032
- static get Ireland() {
3033
- return getByAlpha2("IE");
3034
- }
3035
- static get Luxembourg() {
3036
- return getByAlpha2("LU");
3037
- }
3038
- static get Malta() {
3039
- return getByAlpha2("MT");
3040
- }
3041
- static get Liechtenstein() {
3042
- return getByAlpha2("LI");
3043
- }
3044
- /** @internal */
3045
- static _fromRow(row) {
3046
- return new _Country(row);
3047
- }
3048
- };
3049
- var ALL_COUNTRIES = COUNTRY_ROWS.map((r) => Country._fromRow(r));
3050
- var BY_ALPHA2 = /* @__PURE__ */ new Map();
3051
- var BY_NAME2 = /* @__PURE__ */ new Map();
3052
- var BY_CALLING_CODE = /* @__PURE__ */ new Map();
3053
- for (const c of ALL_COUNTRIES) {
3054
- BY_ALPHA2.set(c.alpha2Code.toUpperCase(), c);
3055
- BY_NAME2.set(c.alpha2Code.toUpperCase(), c);
3056
- BY_NAME2.set(c.alpha3Code.toUpperCase(), c);
3057
- BY_NAME2.set(c.englishName.toLowerCase(), c);
3058
- if (!BY_NAME2.has(c.localizedName.toLowerCase())) BY_NAME2.set(c.localizedName.toLowerCase(), c);
3059
- if (c.nativeName.toLowerCase() !== c.englishName.toLowerCase() && !BY_NAME2.has(c.nativeName.toLowerCase())) {
3060
- BY_NAME2.set(c.nativeName.toLowerCase(), c);
3061
- }
3062
- if (!BY_CALLING_CODE.has(c.callingCode)) BY_CALLING_CODE.set(c.callingCode, c);
3063
- }
3064
- for (const [aliasOrCode, alpha2] of Object.entries(COUNTRY_ALIASES)) {
3065
- const target = BY_ALPHA2.get(alpha2.toUpperCase());
3066
- if (target) BY_NAME2.set(aliasOrCode.toLowerCase(), target);
3067
- }
3068
- for (const [code, alpha2] of Object.entries(PRIMARY_BY_CALLING_CODE)) {
3069
- const target = BY_ALPHA2.get(alpha2.toUpperCase());
3070
- if (target) BY_CALLING_CODE.set(code, target);
3071
- }
3072
- var SCAN_PATTERN = (() => {
3073
- const names = [...BY_NAME2.keys()].filter((n) => n.length >= 4).sort((a, b) => b.length - a.length).map(escapeRegex);
3074
- return new RegExp(`(?<![\\p{L}\\p{N}_])(?:${names.join("|")})(?![\\p{L}\\p{N}_])`, "giu");
3075
- })();
3076
- function getByAlpha2(code) {
3077
- const c = BY_ALPHA2.get(code.toUpperCase());
3078
- if (!c) throw new Error(`Unknown country code ${code}.`);
3079
- return c;
3080
- }
3081
- function lookupCi(input) {
3082
- const upper = input.toUpperCase();
3083
- const a2 = BY_ALPHA2.get(upper);
3084
- if (a2) return a2;
3085
- const lower = input.toLowerCase();
3086
- return BY_NAME2.get(lower) ?? BY_NAME2.get(upper) ?? null;
3087
- }
3088
- function escapeRegex(s) {
3089
- return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3090
- }
3091
-
3092
- // src/validation/validation-error-reason.ts
3093
- var ValidationErrorReason = {
3094
- // --- Common ---
3095
- InputIsEmpty: "InputIsEmpty",
3096
- InputTooLong: "InputTooLong",
3097
- InvalidFormat: "InvalidFormat",
3098
- // --- Email ---
3099
- MissingAtSign: "MissingAtSign",
3100
- InvalidDomain: "InvalidDomain"
3101
- };
3102
-
3103
- // src/validation/validation-issue.ts
3104
- var ValidationIssue = class {
3105
- reason;
3106
- englishDescription;
3107
- localizedDescription;
3108
- constructor(reason, englishDescription, localizedDescription) {
3109
- this.reason = reason;
3110
- this.englishDescription = englishDescription;
3111
- this.localizedDescription = localizedDescription;
3112
- }
3113
- /**
3114
- * Returns {@link localizedDescription} when
3115
- * {@link PrimitivesDefaults.useLocalizedDisplayNames} is `true`, otherwise
3116
- * {@link englishDescription}.
3117
- */
3118
- get description() {
3119
- return PrimitivesDefaults.useLocalizedDisplayNames ? this.localizedDescription : this.englishDescription;
3120
- }
3121
- };
3122
-
3123
- // src/validation/validation-result.ts
3124
- var ValidationResult = class {
3125
- rawInput;
3126
- isValid;
3127
- issues;
3128
- /** @internal — use `validResult` / `invalidResult` factories. */
3129
- constructor(rawInput, isValid, issues) {
3130
- this.rawInput = rawInput ?? null;
3131
- this.isValid = isValid;
3132
- this.issues = Object.freeze([...issues]);
3133
- }
3134
- };
3135
- function validResult(rawInput) {
3136
- return new ValidationResult(rawInput, true, []);
3137
- }
3138
- function invalidResult(rawInput, reasonOrIssues, englishDescription, localizedDescription) {
3139
- if (typeof reasonOrIssues === "string") {
3140
- if (englishDescription === void 0 || localizedDescription === void 0) {
3141
- throw new Error("invalidResult requires both english and localized descriptions");
3142
- }
3143
- return new ValidationResult(rawInput, false, [
3144
- new ValidationIssue(reasonOrIssues, englishDescription, localizedDescription)
3145
- ]);
3146
- }
3147
- return new ValidationResult(rawInput, false, reasonOrIssues);
3148
- }
3149
-
3150
- // src/web/email-address.ts
3151
- var PublicEmailProvider = {
3152
- Unknown: "Unknown",
3153
- Gmail: "Gmail",
3154
- Outlook: "Outlook",
3155
- Yahoo: "Yahoo",
3156
- ICloud: "ICloud",
3157
- ProtonMail: "ProtonMail",
3158
- Aol: "Aol",
3159
- Gmx: "Gmx",
3160
- MailCom: "MailCom",
3161
- Yandex: "Yandex",
3162
- Zoho: "Zoho",
3163
- Tuta: "Tuta",
3164
- Hey: "Hey",
3165
- DuckDuckGoEmail: "DuckDuckGoEmail",
3166
- SimpleLogin: "SimpleLogin",
3167
- WebDe: "WebDe",
3168
- MailRu: "MailRu",
3169
- WirtualnaPolska: "WirtualnaPolska",
3170
- Onet: "Onet",
3171
- Interia: "Interia",
3172
- Tlen: "Tlen",
3173
- Seznam: "Seznam",
3174
- Libero: "Libero",
3175
- FreemailHu: "FreemailHu",
3176
- Abv: "Abv",
3177
- InboxLv: "InboxLv",
3178
- UkrNet: "UkrNet",
3179
- Naver: "Naver",
3180
- Telia: "Telia",
3181
- Tele2: "Tele2",
3182
- Comhem: "Comhem",
3183
- Bredbandsbolaget: "Bredbandsbolaget",
3184
- Bredband2: "Bredband2",
3185
- Ownit: "Ownit",
3186
- Spray: "Spray",
3187
- Passagen: "Passagen",
3188
- Bahnhof: "Bahnhof",
3189
- Glocalnet: "Glocalnet",
3190
- OnlineNo: "OnlineNo",
3191
- Kolumbus: "Kolumbus",
3192
- Aland: "Aland"
3193
- };
3194
- var MAX_INPUT_LENGTH4 = 320;
3195
- var PROVIDER_DOMAINS = {
3196
- // International
3197
- "gmail.com": PublicEmailProvider.Gmail,
3198
- "googlemail.com": PublicEmailProvider.Gmail,
3199
- "outlook.com": PublicEmailProvider.Outlook,
3200
- "outlook.se": PublicEmailProvider.Outlook,
3201
- "outlook.fr": PublicEmailProvider.Outlook,
3202
- "outlook.co": PublicEmailProvider.Outlook,
3203
- "hotmail.com": PublicEmailProvider.Outlook,
3204
- "hotmail.se": PublicEmailProvider.Outlook,
3205
- "hotmail.co.uk": PublicEmailProvider.Outlook,
3206
- "hotmail.fr": PublicEmailProvider.Outlook,
3207
- "hotmail.de": PublicEmailProvider.Outlook,
3208
- "hotmail.no": PublicEmailProvider.Outlook,
3209
- "hotmail.dk": PublicEmailProvider.Outlook,
3210
- "hotmail.fi": PublicEmailProvider.Outlook,
3211
- "hotmail.it": PublicEmailProvider.Outlook,
3212
- "hotmail.es": PublicEmailProvider.Outlook,
3213
- "live.com": PublicEmailProvider.Outlook,
3214
- "live.se": PublicEmailProvider.Outlook,
3215
- "live.fr": PublicEmailProvider.Outlook,
3216
- "live.dk": PublicEmailProvider.Outlook,
3217
- "live.co.uk": PublicEmailProvider.Outlook,
3218
- "live.it": PublicEmailProvider.Outlook,
3219
- "live.no": PublicEmailProvider.Outlook,
3220
- "msn.com": PublicEmailProvider.Outlook,
3221
- "windowslive.com": PublicEmailProvider.Outlook,
3222
- "yahoo.com": PublicEmailProvider.Yahoo,
3223
- "yahoo.se": PublicEmailProvider.Yahoo,
3224
- "yahoo.co.uk": PublicEmailProvider.Yahoo,
3225
- "yahoo.fr": PublicEmailProvider.Yahoo,
3226
- "yahoo.de": PublicEmailProvider.Yahoo,
3227
- "yahoo.it": PublicEmailProvider.Yahoo,
3228
- "yahoo.es": PublicEmailProvider.Yahoo,
3229
- "yahoo.gr": PublicEmailProvider.Yahoo,
3230
- "yahoo.ro": PublicEmailProvider.Yahoo,
3231
- "yahoo.co": PublicEmailProvider.Yahoo,
3232
- "yahoo.no": PublicEmailProvider.Yahoo,
3233
- "ymail.com": PublicEmailProvider.Yahoo,
3234
- "rocketmail.com": PublicEmailProvider.Yahoo,
3235
- "icloud.com": PublicEmailProvider.ICloud,
3236
- "me.com": PublicEmailProvider.ICloud,
3237
- "mac.com": PublicEmailProvider.ICloud,
3238
- "protonmail.com": PublicEmailProvider.ProtonMail,
3239
- "protonmail.ch": PublicEmailProvider.ProtonMail,
3240
- "proton.me": PublicEmailProvider.ProtonMail,
3241
- "pm.me": PublicEmailProvider.ProtonMail,
3242
- "aol.com": PublicEmailProvider.Aol,
3243
- "aol.se": PublicEmailProvider.Aol,
3244
- "gmx.com": PublicEmailProvider.Gmx,
3245
- "gmx.de": PublicEmailProvider.Gmx,
3246
- "gmx.net": PublicEmailProvider.Gmx,
3247
- "gmx.at": PublicEmailProvider.Gmx,
3248
- "mail.com": PublicEmailProvider.MailCom,
3249
- "email.com": PublicEmailProvider.MailCom,
3250
- "post.com": PublicEmailProvider.MailCom,
3251
- "europe.com": PublicEmailProvider.MailCom,
3252
- "iname.com": PublicEmailProvider.MailCom,
3253
- "yandex.com": PublicEmailProvider.Yandex,
3254
- "yandex.ru": PublicEmailProvider.Yandex,
3255
- "zoho.com": PublicEmailProvider.Zoho,
3256
- "tuta.io": PublicEmailProvider.Tuta,
3257
- "tutanota.com": PublicEmailProvider.Tuta,
3258
- "hey.com": PublicEmailProvider.Hey,
3259
- "duck.com": PublicEmailProvider.DuckDuckGoEmail,
3260
- "simplelogin.com": PublicEmailProvider.SimpleLogin,
3261
- // Regional (Europe)
3262
- "web.de": PublicEmailProvider.WebDe,
3263
- "mail.ru": PublicEmailProvider.MailRu,
3264
- "wp.pl": PublicEmailProvider.WirtualnaPolska,
3265
- "vp.pl": PublicEmailProvider.WirtualnaPolska,
3266
- "onet.pl": PublicEmailProvider.Onet,
3267
- "onet.eu": PublicEmailProvider.Onet,
3268
- "op.pl": PublicEmailProvider.Onet,
3269
- "o2.pl": PublicEmailProvider.Onet,
3270
- "poczta.onet.pl": PublicEmailProvider.Onet,
3271
- "interia.pl": PublicEmailProvider.Interia,
3272
- "interia.eu": PublicEmailProvider.Interia,
3273
- "tlen.pl": PublicEmailProvider.Tlen,
3274
- "seznam.cz": PublicEmailProvider.Seznam,
3275
- "libero.it": PublicEmailProvider.Libero,
3276
- "freemail.hu": PublicEmailProvider.FreemailHu,
3277
- "abv.bg": PublicEmailProvider.Abv,
3278
- "inbox.lv": PublicEmailProvider.InboxLv,
3279
- "ukr.net": PublicEmailProvider.UkrNet,
3280
- "naver.com": PublicEmailProvider.Naver,
3281
- // Swedish ISP / portal email
3282
- "telia.com": PublicEmailProvider.Telia,
3283
- "telia.se": PublicEmailProvider.Telia,
3284
- "home.se": PublicEmailProvider.Telia,
3285
- "swipnet.se": PublicEmailProvider.Telia,
3286
- "tele2.se": PublicEmailProvider.Tele2,
3287
- "comhem.se": PublicEmailProvider.Comhem,
3288
- "bredband.net": PublicEmailProvider.Bredbandsbolaget,
3289
- "bredbandsbolaget.se": PublicEmailProvider.Bredbandsbolaget,
3290
- "bredband2.com": PublicEmailProvider.Bredband2,
3291
- "ownit.nu": PublicEmailProvider.Ownit,
3292
- "mail.se": PublicEmailProvider.Spray,
3293
- "spray.se": PublicEmailProvider.Spray,
3294
- "passagen.se": PublicEmailProvider.Passagen,
3295
- "bahnhof.se": PublicEmailProvider.Bahnhof,
3296
- "glocalnet.net": PublicEmailProvider.Glocalnet,
3297
- // Nordic ISP
3298
- "online.no": PublicEmailProvider.OnlineNo,
3299
- "kolumbus.fi": PublicEmailProvider.Kolumbus,
3300
- "aland.net": PublicEmailProvider.Aland
3301
- };
3302
- var DOMAIN_CORRECTIONS = {
3303
- // Gmail misspellings
3304
- "gnail.com": "gmail.com",
3305
- "gamil.com": "gmail.com",
3306
- "gmai.com": "gmail.com",
3307
- "gmil.com": "gmail.com",
3308
- "gmsil.com": "gmail.com",
3309
- "gmal.com": "gmail.com",
3310
- "gmaill.com": "gmail.com",
3311
- "gamail.com": "gmail.com",
3312
- "gmail.con": "gmail.com",
3313
- "gmail.vom": "gmail.com",
3314
- "gmail.cim": "gmail.com",
3315
- "gmail.comi": "gmail.com",
3316
- "gmail.se": "gmail.com",
3317
- "gmail.co": "gmail.com",
3318
- // Hotmail / Outlook misspellings
3319
- "hotmai.com": "hotmail.com",
3320
- "hotmil.com": "hotmail.com",
3321
- "hotmsil.com": "hotmail.com",
3322
- "hotmal.com": "hotmail.com",
3323
- "homail.com": "hotmail.com",
3324
- "hotnail.com": "hotmail.com",
3325
- "hitmail.com": "hotmail.com",
3326
- "hptmail.com": "hotmail.com",
3327
- "hmail.com": "hotmail.com",
3328
- "hotmail.con": "hotmail.com",
3329
- "hotmail.cpm": "hotmail.com",
3330
- "hotmail.co": "hotmail.com",
3331
- "hotmail.vom": "hotmail.com",
3332
- "hotmail.cim": "hotmail.com",
3333
- "hotmail.comm": "hotmail.com",
3334
- "outlook.con": "outlook.com",
3335
- "putlook.com": "outlook.com",
3336
- // iCloud misspellings
3337
- "icloude.com": "icloud.com",
3338
- "icloud.se": "icloud.com",
3339
- "icloud.co": "icloud.com",
3340
- // Onet misspellings
3341
- "02.pl": "o2.pl"
3342
- };
3343
- var tldCountryMapCache = null;
3344
- function getTldCountryMap() {
3345
- if (tldCountryMapCache) return tldCountryMapCache;
3346
- const m = /* @__PURE__ */ new Map();
3347
- for (const c of Country.all) {
3348
- if (c.topLevelDomain) m.set(c.topLevelDomain.toLowerCase(), c);
3349
- }
3350
- tldCountryMapCache = m;
3351
- return m;
3352
- }
3353
- var EMAIL_PATTERN = /^(?!\.)[a-zA-Z0-9_](?!.*\.\.)(?:[a-zA-Z0-9._%+-]*[a-zA-Z0-9_%+-])?@(?!-)[a-zA-Z0-9-]+(?<!-)(?:\.(?!-)[a-zA-Z0-9-]+(?<!-))*\.[a-zA-Z]{2,}$/;
3354
- var SCAN_PATTERN2 = /(?<![\w.@])(?!\.)[a-zA-Z0-9](?:[a-zA-Z0-9._%+-]*[a-zA-Z0-9_%+-])?@(?!-)[a-zA-Z0-9-]+(?:\.(?!-)[a-zA-Z0-9-]+)*\.[a-zA-Z]{2,}(?![\w@])/gu;
3355
- function domainToAscii(domain) {
3356
- try {
3357
- const ascii = new URL("http://" + domain).hostname;
3358
- return ascii;
3359
- } catch {
3360
- return null;
3361
- }
3362
- }
3363
- var EmailAddress = class _EmailAddress {
3364
- static typeInfo = Object.freeze({
3365
- englishName: "Email Address",
3366
- localizedName: "E-postadress",
3367
- emoji: "\u{1F4E7}",
3368
- sources: Object.freeze([
3369
- "https://datatracker.ietf.org/doc/html/rfc5321#section-2.3.11",
3370
- "https://datatracker.ietf.org/doc/html/rfc5321"
3371
- ])
3372
- });
3373
- value;
3374
- localPart;
3375
- domain;
3376
- domainAscii;
3377
- topLevelDomain;
3378
- country;
3379
- provider;
3380
- originalDomain;
3381
- get isPublicEmailProvider() {
3382
- return this.provider != null;
3383
- }
3384
- get isInternationalizedDomain() {
3385
- return this.domain !== this.domainAscii;
3386
- }
3387
- get wasCorrected() {
3388
- return this.originalDomain != null;
3389
- }
3390
- constructor(value, localPart, domain, domainAscii, tld, country, provider, originalDomain) {
3391
- this.value = value;
3392
- this.localPart = localPart;
3393
- this.domain = domain;
3394
- this.domainAscii = domainAscii;
3395
- this.topLevelDomain = tld;
3396
- this.country = country;
3397
- this.provider = provider;
3398
- this.originalDomain = originalDomain;
3399
- }
3400
- /**
3401
- * Attempts to parse and normalize an email address.
3402
- *
3403
- * When `tryCorrectTypos` is `true`, common domain misspellings such as
3404
- * `gmail.con`, `gnail.com`, or `hotmil.com` are corrected automatically.
3405
- * The original domain is preserved in `originalDomain`. Typo correction is
3406
- * opt-in and should only be used when silent correction is acceptable.
3407
- */
3408
- static tryParse(input, options) {
3409
- if (input == null || input.trim() === "") return null;
3410
- let sanitized = sanitizeInput(input);
3411
- const ltIndex = sanitized.indexOf("<");
3412
- if (ltIndex >= 0) {
3413
- const gtIndex = sanitized.indexOf(">", ltIndex + 1);
3414
- if (gtIndex > ltIndex) sanitized = sanitized.slice(ltIndex + 1, gtIndex);
3415
- }
3416
- sanitized = sanitized.trim();
3417
- if (sanitized.toLowerCase().startsWith("mailto:")) {
3418
- sanitized = sanitized.slice(7);
3419
- const qIndex = sanitized.indexOf("?");
3420
- if (qIndex >= 0) sanitized = sanitized.slice(0, qIndex);
3421
- }
3422
- let normalized = sanitized.replace(/ /g, "").toLowerCase();
3423
- if (normalized.endsWith(".")) normalized = normalized.slice(0, -1);
3424
- if (normalized.length === 0 || normalized.length > MAX_INPUT_LENGTH4) return null;
3425
- const atIndex = normalized.lastIndexOf("@");
3426
- if (atIndex <= 0 || atIndex === normalized.length - 1) return null;
3427
- const localPart = normalized.slice(0, atIndex);
3428
- let domain = normalized.slice(atIndex + 1);
3429
- let domainForValidation = domain;
3430
- if (hasNonAscii(domain)) {
3431
- for (const ch of domain) {
3432
- const cp = ch.codePointAt(0);
3433
- if (cp > 127 && !isUnicodeLetter(ch)) return null;
3434
- }
3435
- const ascii = domainToAscii(domain);
3436
- if (ascii == null) return null;
3437
- domainForValidation = ascii;
3438
- }
3439
- const emailForValidation = `${localPart}@${domainForValidation}`;
3440
- if (!EMAIL_PATTERN.test(emailForValidation)) return null;
3441
- let originalDomain = null;
3442
- if (options?.tryCorrectTypos === true) {
3443
- const corrected = DOMAIN_CORRECTIONS[domain];
3444
- if (corrected != null) {
3445
- originalDomain = domain;
3446
- domain = corrected;
3447
- normalized = `${localPart}@${domain}`;
3448
- domainForValidation = domain;
3449
- }
3450
- }
3451
- const lastDot = domain.lastIndexOf(".");
3452
- const tld = lastDot >= 0 ? domain.slice(lastDot + 1) : "";
3453
- const country = tld.length > 0 ? getTldCountryMap().get("." + tld) ?? null : null;
3454
- const provider = PROVIDER_DOMAINS[domain] ?? null;
3455
- return new _EmailAddress(
3456
- normalized,
3457
- localPart,
3458
- domain,
3459
- domainForValidation,
3460
- tld,
3461
- country,
3462
- provider,
3463
- originalDomain
3464
- );
3465
- }
3466
- static parse(input, options) {
3467
- const r = _EmailAddress.tryParse(input, options);
3468
- if (r === null) throw new Error("Invalid email address.");
3469
- return r;
3470
- }
3471
- static isValid(input) {
3472
- return _EmailAddress.tryParse(input) !== null;
3473
- }
3474
- /**
3475
- * Returns a `ValidationResult` describing why the input is invalid,
3476
- * or a valid result when the input is well-formed.
3477
- */
3478
- static validate(input) {
3479
- if (input == null || input.trim() === "") {
3480
- return invalidResult(
3481
- input,
3482
- ValidationErrorReason.InputIsEmpty,
3483
- "Input is empty or whitespace.",
3484
- "V\xE4rdet \xE4r tomt."
3485
- );
3486
- }
3487
- let sanitized = sanitizeInput(input);
3488
- const ltIndex = sanitized.indexOf("<");
3489
- if (ltIndex >= 0) {
3490
- const gtIndex = sanitized.indexOf(">", ltIndex + 1);
3491
- if (gtIndex > ltIndex) sanitized = sanitized.slice(ltIndex + 1, gtIndex);
3492
- }
3493
- sanitized = sanitized.trim();
3494
- if (sanitized.toLowerCase().startsWith("mailto:")) {
3495
- sanitized = sanitized.slice(7);
3496
- const qIndex = sanitized.indexOf("?");
3497
- if (qIndex >= 0) sanitized = sanitized.slice(0, qIndex);
3498
- }
3499
- let normalized = sanitized.replace(/ /g, "").toLowerCase();
3500
- if (normalized.endsWith(".")) normalized = normalized.slice(0, -1);
3501
- if (normalized.length === 0 || normalized.length > MAX_INPUT_LENGTH4) {
3502
- return invalidResult(
3503
- input,
3504
- ValidationErrorReason.InputTooLong,
3505
- "Email address is too long.",
3506
- "E-postadressen \xE4r f\xF6r l\xE5ng."
3507
- );
3508
- }
3509
- const atIndex = normalized.lastIndexOf("@");
3510
- if (atIndex <= 0 || atIndex === normalized.length - 1) {
3511
- return invalidResult(
3512
- input,
3513
- ValidationErrorReason.MissingAtSign,
3514
- "Email address must contain an @ sign with text before and after.",
3515
- "E-postadressen m\xE5ste inneh\xE5lla ett @-tecken med text f\xF6re och efter."
3516
- );
3517
- }
3518
- const localPart = normalized.slice(0, atIndex);
3519
- const domain = normalized.slice(atIndex + 1);
3520
- let domainForValidation = domain;
3521
- if (hasNonAscii(domain)) {
3522
- for (const ch of domain) {
3523
- const cp = ch.codePointAt(0);
3524
- if (cp > 127 && !isUnicodeLetter(ch)) {
3525
- return invalidResult(
3526
- input,
3527
- ValidationErrorReason.InvalidDomain,
3528
- "Email address has an invalid domain.",
3529
- "E-postadressen har en ogiltig dom\xE4n."
3530
- );
3531
- }
3532
- }
3533
- const ascii = domainToAscii(domain);
3534
- if (ascii == null) {
3535
- return invalidResult(
3536
- input,
3537
- ValidationErrorReason.InvalidDomain,
3538
- "Email address has an invalid domain.",
3539
- "E-postadressen har en ogiltig dom\xE4n."
3540
- );
3541
- }
3542
- domainForValidation = ascii;
3543
- }
3544
- const emailForValidation = `${localPart}@${domainForValidation}`;
3545
- if (!EMAIL_PATTERN.test(emailForValidation)) {
3546
- return invalidResult(
3547
- input,
3548
- ValidationErrorReason.InvalidFormat,
3549
- "Invalid email address format.",
3550
- "Ogiltigt format f\xF6r e-postadress."
3551
- );
3552
- }
3553
- return validResult(input);
3554
- }
3555
- /**
3556
- * Returns the normalized email in lowercase, e.g. `user@example.com`.
3557
- * Returns `null` for invalid or empty input.
3558
- */
3559
- static format(input, options) {
3560
- const r = _EmailAddress.tryParse(
3561
- input,
3562
- options?.tryCorrectTypos != null ? { tryCorrectTypos: options.tryCorrectTypos } : void 0
3563
- );
3564
- if (r) return r.value;
3565
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
3566
- return input.trim();
3567
- }
3568
- return null;
3569
- }
3570
- /** Returns the normalized email, e.g. `user@example.com`, or `null` if invalid. */
3571
- static normalize(input, options) {
3572
- return _EmailAddress.format(input, options);
3573
- }
3574
- static isNormalized(input) {
3575
- return input != null && _EmailAddress.normalize(input) === input;
3576
- }
3577
- /** Returns the normalized email address, e.g. `user@example.com`. */
3578
- toNormalizedString() {
3579
- return this.value;
3580
- }
3581
- /** Returns the normalized email address, e.g. `user@example.com`. */
3582
- toString() {
3583
- return this.value;
3584
- }
3585
- /**
3586
- * Returns the email with the domain in ASCII (Punycode) form, e.g.
3587
- * `user@xn--rneholm-b1a.com`. Same as `toString()` for ASCII domains.
3588
- */
3589
- toAsciiString() {
3590
- return this.isInternationalizedDomain ? `${this.localPart}@${this.domainAscii}` : this.value;
3591
- }
3592
- /**
3593
- * Scans unstructured text for potential email addresses. Heuristic; may include false positives.
3594
- */
3595
- static findCandidatesInText(text) {
3596
- if (!text) return [];
3597
- const out = [];
3598
- SCAN_PATTERN2.lastIndex = 0;
3599
- let m;
3600
- while ((m = SCAN_PATTERN2.exec(text)) !== null) {
3601
- const r = _EmailAddress.tryParse(m[0]);
3602
- if (!r) continue;
3603
- out.push(
3604
- new TextCandidate({
3605
- startIndex: m.index,
3606
- length: m[0].length,
3607
- originalText: m[0],
3608
- typeName: "EmailAddress",
3609
- category: TextCandidateCategory.Contact,
3610
- normalizedForm: r.toNormalizedString(),
3611
- formattedForm: r.toString(),
3612
- maskedForm: maskEmailAddressInternal(r, false),
3613
- confidence: TextMatchConfidence.High,
3614
- value: r
3615
- })
3616
- );
3617
- }
3618
- return out;
3619
- }
3620
- equals(other) {
3621
- return other != null && this.value === other.value;
3622
- }
3623
- compareTo(other) {
3624
- if (other == null) return 1;
3625
- return this.value < other.value ? -1 : this.value > other.value ? 1 : 0;
3626
- }
3627
- };
3628
- function hasNonAscii(s) {
3629
- for (let i = 0; i < s.length; i++) {
3630
- if (s.charCodeAt(i) > 127) return true;
3631
- }
3632
- return false;
3633
- }
3634
- var UNICODE_LETTER = /\p{L}/u;
3635
- function isUnicodeLetter(ch) {
3636
- return UNICODE_LETTER.test(ch);
3637
- }
3638
- function maskEmailAddress(email, options) {
3639
- return maskEmailAddressInternal(email, options?.maskDomain === true);
3640
- }
3641
- function maskEmailAddressInternal(email, maskDomain) {
3642
- const local = email.localPart;
3643
- const maskedLocal = local.length <= 1 ? local : local[0] + "*".repeat(Math.min(local.length - 1, 3));
3644
- if (maskDomain) {
3645
- const domain = email.domain;
3646
- const firstDot = domain.indexOf(".");
3647
- if (firstDot > 0) {
3648
- const label = domain.slice(0, firstDot);
3649
- const suffix = domain.slice(firstDot);
3650
- const maskedDomain = label.length <= 1 ? label : label[0] + "*".repeat(Math.min(label.length - 1, 3));
3651
- return `${maskedLocal}@${maskedDomain}${suffix}`;
3652
- }
3653
- }
3654
- return `${maskedLocal}@${email.domain}`;
3655
- }
3656
- function toMailtoUri(email) {
3657
- return `mailto:${email.toNormalizedString()}`;
3658
- }
3659
-
3660
- // src/web/url.ts
3661
- var MAX_INPUT_LENGTH5 = 2048;
3662
- var RESERVED_TLDS = /* @__PURE__ */ new Set(["test", "example", "invalid", "localhost"]);
3663
- var RESERVED_DOMAINS = /* @__PURE__ */ new Set(["example.com", "example.org", "example.net"]);
3664
- var DEFAULT_PORTS = {
3665
- http: 80,
3666
- https: 443,
3667
- ftp: 21,
3668
- ws: 80,
3669
- wss: 443,
3670
- gopher: 70
3671
- };
3672
- var tldCountryMapCache2 = null;
3673
- function getTldCountryMap2() {
3674
- if (tldCountryMapCache2) return tldCountryMapCache2;
3675
- const m = /* @__PURE__ */ new Map();
3676
- for (const c of Country.all) {
3677
- if (c.topLevelDomain) m.set(c.topLevelDomain.toLowerCase(), c);
3678
- }
3679
- tldCountryMapCache2 = m;
3680
- return m;
3681
- }
3682
- var SCAN_PATTERN3 = /(?:[a-zA-Z][\w+.-]*:\/\/[^\s<>"']+|(?:mailto|tel|sms|callto):[^\s<>"']+|\bwww\.[^\s<>"']+)/gi;
3683
- var IPV4 = /^(?:\d{1,3}\.){3}\d{1,3}$/;
3684
- var ABSOLUTE_URI = /^([a-zA-Z][a-zA-Z0-9+\-.]*):/;
3685
- var HIERARCHICAL_RE = /^([a-zA-Z][a-zA-Z0-9+\-.]*):\/\//;
3686
- var Url = class _Url {
3687
- static typeInfo = Object.freeze({
3688
- englishName: "URL",
3689
- localizedName: "Webbadress",
3690
- emoji: "\u{1F517}",
3691
- sources: Object.freeze([
3692
- "https://datatracker.ietf.org/doc/html/rfc3986",
3693
- "https://datatracker.ietf.org/doc/html/rfc2606",
3694
- "https://datatracker.ietf.org/doc/html/rfc6761"
3695
- ])
3696
- });
3697
- /** The normalized URL string, e.g. `https://www.example.com/path`. */
3698
- value;
3699
- /** The URI scheme without `://`, e.g. `https`. */
3700
- scheme;
3701
- /** The full hostname, e.g. `www.example.com`. Empty for non-hierarchical URIs. */
3702
- host;
3703
- /** Explicit port, or `null` when the default port for the scheme is used. */
3704
- port;
3705
- /** The path component, e.g. `/path/to/page`. Root paths are `/`. */
3706
- path;
3707
- /** Query string without `?`, or `null` when absent. */
3708
- query;
3709
- /** Fragment without `#`, or `null` when absent. */
3710
- fragment;
3711
- /** Top-level domain without the dot, e.g. `com`, `se`. */
3712
- topLevelDomain;
3713
- /** Country associated with a country-code TLD, or `null` for generic TLDs. */
3714
- country;
3715
- /** True when the scheme is `https`. */
3716
- isSecure;
3717
- /** True when the host is a reserved example/test domain (RFC 2606 / RFC 6761). */
3718
- isExampleDomain;
3719
- /** True when the host is an IP address. */
3720
- isIpAddress;
3721
- constructor(p) {
3722
- this.value = p.value;
3723
- this.scheme = p.scheme;
3724
- this.host = p.host;
3725
- this.port = p.port;
3726
- this.path = p.path;
3727
- this.query = p.query;
3728
- this.fragment = p.fragment;
3729
- this.topLevelDomain = p.tld;
3730
- this.country = p.country;
3731
- this.isSecure = p.scheme === "https";
3732
- this.isExampleDomain = p.isExample;
3733
- this.isIpAddress = p.isIp;
3734
- }
3735
- static tryParse(input) {
3736
- if (input == null || input.trim() === "") return null;
3737
- const trimmed = sanitizeInput(input).trim();
3738
- if (trimmed.length === 0 || trimmed.length > MAX_INPUT_LENGTH5) return null;
3739
- let parsed = _Url.#tryParseAbsolute(trimmed);
3740
- if (parsed == null) {
3741
- if (!trimmed.includes(".")) return null;
3742
- parsed = _Url.#tryParseAbsolute("https://" + trimmed);
3743
- if (parsed == null) return null;
3744
- }
3745
- return parsed;
3746
- }
3747
- static parse(input) {
3748
- const r = _Url.tryParse(input);
3749
- if (r === null) throw new Error("Invalid URL.");
3750
- return r;
3751
- }
3752
- /**
3753
- * The standard `URL` view of this value, for interop with `fetch` and other
3754
- * web APIs. The .NET port exposes the same thing as `ToUri()`.
3755
- */
3756
- toUrl() {
3757
- return new URL(this.value);
3758
- }
3759
- /** Creates a {@link Url} from a standard `URL`. Throws when it cannot be represented. */
3760
- static fromUrl(url) {
3761
- const r = _Url.tryParse(url.href);
3762
- if (r === null) throw new Error("Invalid URL.");
3763
- return r;
3764
- }
3765
- static isValid(input) {
3766
- return _Url.tryParse(input) !== null;
3767
- }
3768
- static format(input, options) {
3769
- const r = _Url.tryParse(input);
3770
- if (r) return r.value;
3771
- if (options?.fallbackToTrimmedInputWhenInvalid && input != null && input.trim() !== "") {
3772
- return input.trim();
3773
- }
3774
- return null;
3775
- }
3776
- static normalize(input, options) {
3777
- return _Url.format(input, options);
3778
- }
3779
- static isNormalized(input) {
3780
- return input != null && _Url.normalize(input) === input;
3781
- }
3782
- /** Returns the normalized URL, e.g. `https://www.example.com/path`. */
3783
- toNormalizedString() {
3784
- return this.value;
3785
- }
3786
- /** Returns the normalized URL, e.g. `https://www.example.com/path`. */
3787
- toString() {
3788
- return this.value;
3789
- }
3790
- /**
3791
- * Scans unstructured text for potential URLs. Heuristic — may include false positives.
3792
- */
3793
- static findCandidatesInText(text) {
3794
- if (!text) return [];
3795
- const out = [];
3796
- SCAN_PATTERN3.lastIndex = 0;
3797
- let m;
3798
- while ((m = SCAN_PATTERN3.exec(text)) !== null) {
3799
- const candidate = trimTrailingPunctuation(m[0]);
3800
- const url = _Url.tryParse(candidate);
3801
- if (!url) continue;
3802
- out.push(
3803
- new TextCandidate({
3804
- startIndex: m.index,
3805
- length: candidate.length,
3806
- originalText: candidate,
3807
- typeName: "Url",
3808
- category: TextCandidateCategory.Contact,
3809
- normalizedForm: url.toNormalizedString(),
3810
- formattedForm: url.toString(),
3811
- maskedForm: maskUrl(url),
3812
- confidence: TextMatchConfidence.High,
3813
- value: url
3814
- })
3815
- );
3816
- }
3817
- return out;
3818
- }
3819
- equals(other) {
3820
- return other != null && this.value === other.value;
3821
- }
3822
- compareTo(other) {
3823
- if (other == null) return 1;
3824
- return this.value < other.value ? -1 : this.value > other.value ? 1 : 0;
3825
- }
3826
- static #tryParseAbsolute(input) {
3827
- const m = input.match(ABSOLUTE_URI);
3828
- if (!m) return null;
3829
- const scheme = m[1].toLowerCase();
3830
- if (scheme.includes(".")) return null;
3831
- const isHierarchical = HIERARCHICAL_RE.test(input);
3832
- if (isHierarchical) {
3833
- return _Url.#parseHierarchical(input, scheme);
3834
- }
3835
- return _Url.#parseNonHierarchical(input, scheme);
3836
- }
3837
- static #parseHierarchical(input, scheme) {
3838
- let u;
3839
- try {
3840
- u = new URL(input);
3841
- } catch {
3842
- return null;
3843
- }
3844
- const rawHost = u.hostname;
3845
- const isIp = rawHost.length > 0 && (IPV4.test(rawHost) || rawHost.startsWith("["));
3846
- let tld = "";
3847
- if (!isIp && rawHost.length > 0) {
3848
- const lastDot = rawHost.lastIndexOf(".");
3849
- tld = lastDot >= 0 ? rawHost.slice(lastDot + 1) : "";
3850
- }
3851
- let country = null;
3852
- if (!isIp && tld.length > 0) {
3853
- country = getTldCountryMap2().get("." + tld) ?? null;
3854
- }
3855
- const isExample = !isIp && rawHost.length > 0 && (RESERVED_TLDS.has(tld.toLowerCase()) || RESERVED_DOMAINS.has(rawHost.toLowerCase()) || rawHost.toLowerCase().endsWith(".example.com") || rawHost.toLowerCase().endsWith(".example.org") || rawHost.toLowerCase().endsWith(".example.net"));
3856
- let port = null;
3857
- if (u.port !== "") port = parseInt(u.port, 10);
3858
- if (port != null && DEFAULT_PORTS[scheme] === port) port = null;
3859
- const normalized = u.href;
3860
- const path = u.pathname;
3861
- const query = u.search.length > 0 ? u.search.slice(1) : null;
3862
- const fragment = u.hash.length > 0 ? u.hash.slice(1) : null;
3863
- return new _Url({
3864
- value: normalized,
3865
- scheme,
3866
- host: rawHost,
3867
- port,
3868
- path: path.length === 0 ? "/" : path,
3869
- query,
3870
- fragment,
3871
- tld,
3872
- country,
3873
- isExample,
3874
- isIp
3875
- });
3876
- }
3877
- static #parseNonHierarchical(input, scheme) {
3878
- const colonIdx = input.indexOf(":");
3879
- if (colonIdx < 0) return null;
3880
- const rest = input.slice(colonIdx + 1);
3881
- if (rest.length === 0) return null;
3882
- let host = "";
3883
- let tld = "";
3884
- let country = null;
3885
- let isExample = false;
3886
- let path = rest;
3887
- let query = null;
3888
- let fragment = null;
3889
- if (scheme === "mailto") {
3890
- const qIdx = rest.indexOf("?");
3891
- let mainPart = rest;
3892
- if (qIdx >= 0) {
3893
- mainPart = rest.slice(0, qIdx);
3894
- const fragIdx = rest.indexOf("#", qIdx);
3895
- if (fragIdx >= 0) {
3896
- query = rest.slice(qIdx + 1, fragIdx);
3897
- fragment = rest.slice(fragIdx + 1);
3898
- } else {
3899
- query = rest.slice(qIdx + 1);
3900
- }
3901
- } else {
3902
- const fragIdx = rest.indexOf("#");
3903
- if (fragIdx >= 0) {
3904
- mainPart = rest.slice(0, fragIdx);
3905
- fragment = rest.slice(fragIdx + 1);
3906
- }
3907
- }
3908
- const atIdx = mainPart.lastIndexOf("@");
3909
- if (atIdx >= 0) {
3910
- host = mainPart.slice(atIdx + 1).toLowerCase();
3911
- const lastDot = host.lastIndexOf(".");
3912
- tld = lastDot >= 0 ? host.slice(lastDot + 1) : "";
3913
- if (tld.length > 0) {
3914
- country = getTldCountryMap2().get("." + tld) ?? null;
3915
- }
3916
- isExample = RESERVED_TLDS.has(tld.toLowerCase()) || RESERVED_DOMAINS.has(host) || host.endsWith(".example.com") || host.endsWith(".example.org") || host.endsWith(".example.net");
3917
- }
3918
- path = mainPart;
3919
- } else {
3920
- const qIdx = rest.indexOf("?");
3921
- if (qIdx >= 0) {
3922
- path = rest.slice(0, qIdx);
3923
- const fragIdx = rest.indexOf("#", qIdx);
3924
- if (fragIdx >= 0) {
3925
- query = rest.slice(qIdx + 1, fragIdx);
3926
- fragment = rest.slice(fragIdx + 1);
3927
- } else {
3928
- query = rest.slice(qIdx + 1);
3929
- }
3930
- } else {
3931
- const fragIdx = rest.indexOf("#");
3932
- if (fragIdx >= 0) {
3933
- path = rest.slice(0, fragIdx);
3934
- fragment = rest.slice(fragIdx + 1);
3935
- }
3936
- }
3937
- }
3938
- const normalized = `${scheme}:${rest}`;
3939
- return new _Url({
3940
- value: normalized,
3941
- scheme,
3942
- host,
3943
- port: null,
3944
- path,
3945
- query,
3946
- fragment,
3947
- tld,
3948
- country,
3949
- isExample,
3950
- isIp: false
3951
- });
3952
- }
3953
- };
3954
- function trimTrailingPunctuation(value) {
3955
- let end = value.length;
3956
- while (end > 0) {
3957
- const ch = value[end - 1];
3958
- if (ch === "." || ch === "," || ch === ";" || ch === "!" || ch === "?" || ch === ")" || ch === "]" || ch === ">" || ch === "'" || ch === '"') {
3959
- if (ch === ")" && value.includes("(")) break;
3960
- if (ch === "]" && value.includes("[")) break;
3961
- end--;
3962
- } else {
3963
- break;
3964
- }
3965
- }
3966
- return end < value.length ? value.slice(0, end) : value;
3967
- }
3968
- function maskUrl(url) {
3969
- const schemePrefix = url.scheme + "://";
3970
- if (!url.value.toLowerCase().startsWith(schemePrefix)) {
3971
- return `${url.scheme}:***`;
3972
- }
3973
- let s = url.scheme + "://" + url.host;
3974
- if (url.port != null) s += ":" + url.port;
3975
- if (url.path === "/" || url.path === "") {
3976
- s += "/";
3977
- } else {
3978
- s += "/***";
3979
- }
3980
- if (url.query != null) s += "?***";
3981
- if (url.fragment != null) s += "#***";
3982
- return s;
3983
- }
3984
-
3985
- export { EmailAddress, PublicEmailProvider, Url, maskEmailAddress, maskUrl, toMailtoUri };
3986
- //# sourceMappingURL=index.js.map
3987
- //# sourceMappingURL=index.js.map