@budiauktioner/buildi-primitives 0.1.1 → 0.2.0

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