1use displaydoc::Display;
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
10#[allow(clippy::enum_variant_names)]
11pub enum Australia {
12 #[displaydoc("Australian Capital Territory")]
14 #[serde(rename = "1:australian_capital_territory", alias = "Australian Capital Territory")]
15 AustralianCapitalTerritory,
16
17 #[displaydoc("New South Wales")]
19 #[serde(rename = "1:new_south_wales", alias = "New South Wales")]
20 NewSouthWales,
21
22 #[displaydoc("Northern Territory")]
24 #[serde(rename = "1:northern_territory", alias = "Northern Territory")]
25 NorthernTerritory,
26
27 #[displaydoc("Queensland")]
29 #[serde(rename = "1:queensland", alias = "Queensland")]
30 Queensland,
31
32 #[displaydoc("South Australia")]
34 #[serde(rename = "1:south_australia", alias = "South Australia")]
35 SouthAustralia,
36
37 #[displaydoc("Tasmania")]
39 #[serde(rename = "1:tasmania", alias = "Tasmania")]
40 Tasmania,
41
42 #[displaydoc("Victoria")]
44 #[serde(rename = "1:victoria", alias = "Victoria")]
45 Victoria,
46
47 #[displaydoc("Western Australia")]
49 #[serde(rename = "1:western_australia", alias = "Western Australia")]
50 WesternAustralia,
51}
52
53#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
55#[allow(clippy::enum_variant_names)]
56pub enum Belgium {
57 #[displaydoc("Bruxelles-Capitale")]
59 #[serde(rename = "25:bruxelles-capitale", alias = "Bruxelles-capitale")]
60 BruxellesCapitale,
61
62 #[displaydoc("Vlaanderen")]
64 #[serde(rename = "25:vlaanderen", alias = "Vlaanderen")]
65 Vlaanderen,
66
67 #[displaydoc("Wallonie")]
69 #[serde(rename = "25:wallonie", alias = "Wallonie")]
70 Wallonie,
71}
72
73#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
75#[allow(clippy::enum_variant_names)]
76pub enum Denmark {
77 #[displaydoc("Hovedstaden")]
79 #[serde(rename = "67:hovedstaden", alias = "Hovedstaden")]
80 Hovedstaden,
81}
82
83#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
85#[allow(clippy::enum_variant_names)]
86pub enum Italy {
87 #[displaydoc("Abruzzi")]
89 #[serde(rename = "117:abruzzi", alias = "Abruzzi")]
90 Abruzzi,
91
92 #[displaydoc("Basilicata")]
94 #[serde(rename = "117:basilicata", alias = "Basilicata")]
95 Basilicata,
96
97 #[displaydoc("Calabria")]
99 #[serde(rename = "117:calabria", alias = "Calabria")]
100 Calabria,
101
102 #[displaydoc("Campania")]
104 #[serde(rename = "117:campania", alias = "Campania")]
105 Campania,
106
107 #[displaydoc("Emilia-Romagna")]
109 #[serde(rename = "117:emilia-romagna", alias = "Emilia-romagna")]
110 EmiliaRomagna,
111
112 #[displaydoc("Friuli-Venezia Giulia")]
114 #[serde(rename = "117:friuli-venezia_giulia", alias = "Friuli-venezia Giulia")]
115 FriuliVeneziaGiulia,
116
117 #[displaydoc("Lazio")]
119 #[serde(rename = "117:lazio", alias = "Lazio")]
120 Lazio,
121
122 #[displaydoc("Liguria")]
124 #[serde(rename = "117:liguria", alias = "Liguria")]
125 Liguria,
126
127 #[displaydoc("Lombardia")]
129 #[serde(rename = "117:lombardia", alias = "Lombardia")]
130 Lombardia,
131
132 #[displaydoc("Marche")]
134 #[serde(rename = "117:marche", alias = "Marche")]
135 Marche,
136
137 #[displaydoc("Molise")]
139 #[serde(rename = "117:molise", alias = "Molise")]
140 Molise,
141
142 #[displaydoc("Piemonte")]
144 #[serde(rename = "117:piemonte", alias = "Piemonte")]
145 Piemonte,
146
147 #[displaydoc("Puglia")]
149 #[serde(rename = "117:puglia", alias = "Puglia")]
150 Puglia,
151
152 #[displaydoc("Sardegna")]
154 #[serde(rename = "117:sardegna", alias = "Sardegna")]
155 Sardegna,
156
157 #[displaydoc("Sicilia")]
159 #[serde(rename = "117:sicilia", alias = "Sicilia")]
160 Sicilia,
161
162 #[displaydoc("Toscana")]
164 #[serde(rename = "117:toscana", alias = "Toscana")]
165 Toscana,
166
167 #[displaydoc("Trentino-Alto Adige")]
169 #[serde(rename = "117:trentino-alto_adige", alias = "Trentino-alto Adige")]
170 TrentinoAltoAdige,
171
172 #[displaydoc("Umbria")]
174 #[serde(rename = "117:umbria", alias = "Umbria")]
175 Umbria,
176
177 #[displaydoc("Valle Daosta")]
179 #[serde(rename = "117:valle_daosta", alias = "Valle Daosta")]
180 ValleDaosta,
181
182 #[displaydoc("Veneto")]
184 #[serde(rename = "117:veneto", alias = "Veneto")]
185 Veneto,
186}
187
188#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
190#[allow(clippy::enum_variant_names)]
191pub enum Netherlands {
192 #[displaydoc("Drenthe")]
194 #[serde(rename = "165:provincie_drenthe", alias = "Provincie Drenthe")]
195 Drenthe,
196
197 #[displaydoc("Flevoland")]
199 #[serde(rename = "165:provincie_flevoland", alias = "Provincie Flevoland")]
200 Flevoland,
201
202 #[displaydoc("Friesland")]
204 #[serde(rename = "165:provincie_friesland", alias = "Provincie Friesland")]
205 Friesland,
206
207 #[displaydoc("Gelderland")]
209 #[serde(rename = "165:provincie_gelderland", alias = "Provincie Gelderland")]
210 Gelderland,
211
212 #[displaydoc("Groningen")]
214 #[serde(rename = "165:provincie_groningen", alias = "Provincie Groningen")]
215 Groningen,
216
217 #[displaydoc("Limburg")]
219 #[serde(rename = "165:provincie_limburg", alias = "Provincie Limburg")]
220 Limburg,
221
222 #[displaydoc("Noord-Brabant")]
224 #[serde(rename = "165:provincie_noord-brabant", alias = "Provincie Noord-brabant")]
225 NoordBrabant,
226
227 #[displaydoc("Noord-Holland")]
229 #[serde(rename = "165:provincie_noord-holland", alias = "Provincie Noord-holland")]
230 NoordHolland,
231
232 #[displaydoc("Overijssel")]
234 #[serde(rename = "165:provincie_overijssel", alias = "Provincie Overijssel")]
235 Overijssel,
236
237 #[displaydoc("Utrecht")]
239 #[serde(rename = "165:provincie_utrecht", alias = "Provincie Utrecht")]
240 Utrecht,
241
242 #[displaydoc("Zeeland")]
244 #[serde(rename = "165:provincie_zeeland", alias = "Provincie Zeeland")]
245 Zeeland,
246
247 #[displaydoc("Zuid-Holland")]
249 #[serde(rename = "165:provincie_zuid-holland", alias = "Provincie Zuid-holland")]
250 ZuidHolland,
251}
252
253#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
255#[allow(clippy::enum_variant_names)]
256pub enum UnitedKingdom {
257 #[displaydoc("Belfast")]
259 #[serde(rename = "243:belfast", alias = "Belfast")]
260 Belfast,
261
262 #[displaydoc("Cardiff")]
264 #[serde(rename = "243:cardiff", alias = "Cardiff")]
265 Cardiff,
266
267 #[displaydoc("Carlisle")]
269 #[serde(rename = "243:carlisle", alias = "Carlisle")]
270 Carlisle,
271
272 #[displaydoc("Derby")]
274 #[serde(rename = "243:derby", alias = "Derby")]
275 Derby,
276
277 #[displaydoc("East")]
279 #[serde(rename = "243:east", alias = "East")]
280 East,
281
282 #[displaydoc("East Of England")]
284 #[serde(rename = "243:east_of_england", alias = "East Of England")]
285 EastOfEngland,
286
287 #[displaydoc("Huddersfield")]
289 #[serde(rename = "243:huddersfield", alias = "Huddersfield")]
290 Huddersfield,
291
292 #[displaydoc("Leicester")]
294 #[serde(rename = "243:leicester", alias = "Leicester")]
295 Leicester,
296
297 #[displaydoc("Lincoln")]
299 #[serde(rename = "243:lincoln", alias = "Lincoln")]
300 Lincoln,
301
302 #[displaydoc("Llandrindod Wells")]
304 #[serde(rename = "243:llandrindod_wells", alias = "Llandrindod Wells")]
305 LlandrindodWells,
306
307 #[displaydoc("Llandudno")]
309 #[serde(rename = "243:llandudno", alias = "Llandudno")]
310 Llandudno,
311
312 #[displaydoc("London")]
314 #[serde(rename = "243:london", alias = "London")]
315 London,
316
317 #[displaydoc("Motherwell")]
319 #[serde(rename = "243:motherwell", alias = "Motherwell")]
320 Motherwell,
321
322 #[displaydoc("Newport")]
324 #[serde(rename = "243:newport", alias = "Newport")]
325 Newport,
326
327 #[displaydoc("North East")]
329 #[serde(rename = "243:north_east", alias = "North East")]
330 NorthEast,
331
332 #[displaydoc("North West")]
334 #[serde(rename = "243:north_west", alias = "North West")]
335 NorthWest,
336
337 #[displaydoc("Northampton")]
339 #[serde(rename = "243:northampton", alias = "Northampton")]
340 Northampton,
341
342 #[displaydoc("Nottingham")]
344 #[serde(rename = "243:nottingham", alias = "Nottingham")]
345 Nottingham,
346
347 #[displaydoc("Paisley")]
349 #[serde(rename = "243:paisley", alias = "Paisley")]
350 Paisley,
351
352 #[displaydoc("Romford")]
354 #[serde(rename = "243:romford", alias = "Romford")]
355 Romford,
356
357 #[displaydoc("Scotland")]
359 #[serde(rename = "243:scotland", alias = "Scotland")]
360 Scotland,
361
362 #[displaydoc("Scottish Islands")]
364 #[serde(rename = "243:scottish_islands", alias = "Scottish Islands")]
365 ScottishIslands,
366
367 #[displaydoc("Shetland Isles")]
369 #[serde(rename = "243:shetland_isles", alias = "Shetland Isles")]
370 ShetlandIsles,
371
372 #[displaydoc("South East")]
374 #[serde(rename = "243:south_east", alias = "South East")]
375 SouthEast,
376
377 #[displaydoc("South West")]
379 #[serde(rename = "243:south_west", alias = "South West")]
380 SouthWest,
381
382 #[displaydoc("Southend On Sea")]
384 #[serde(rename = "243:southend_on_sea", alias = "Southend On Sea")]
385 SouthendOnSea,
386
387 #[displaydoc("Stoke On Trent")]
389 #[serde(rename = "243:stoke_on_trent", alias = "Stoke On Trent")]
390 StokeOnTrent,
391
392 #[displaydoc("Sunderland")]
394 #[serde(rename = "243:sunderland", alias = "Sunderland")]
395 Sunderland,
396
397 #[displaydoc("Sutton")]
399 #[serde(rename = "243:sutton", alias = "Sutton")]
400 Sutton,
401
402 #[displaydoc("Swansea")]
404 #[serde(rename = "243:swansea", alias = "Swansea")]
405 Swansea,
406
407 #[displaydoc("Tweed")]
409 #[serde(rename = "243:tweed", alias = "Tweed")]
410 Tweed,
411
412 #[displaydoc("Uvbridge")]
414 #[serde(rename = "243:uvbridge", alias = "Uvbridge")]
415 Uvbridge,
416
417 #[displaydoc("West Midlands")]
419 #[serde(rename = "243:west_midlands", alias = "West Midlands")]
420 WestMidlands,
421
422 #[displaydoc("Wolverhampton")]
424 #[serde(rename = "243:wolverhampton", alias = "Wolverhampton")]
425 Wolverhampton,
426
427 #[displaydoc("Yorkshire And The Humber")]
429 #[serde(rename = "243:yorkshire_and_the_humber", alias = "Yorkshire And The Humber")]
430 YorkshireAndTheHumber,
431}
432
433#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
435#[allow(clippy::enum_variant_names)]
436pub enum UnitedStates {
437 #[displaydoc("Alabama")]
439 #[serde(rename = "244:alabama", alias = "Alabama")]
440 Alabama,
441
442 #[displaydoc("Alaska")]
444 #[serde(rename = "244:alaska", alias = "Alaska")]
445 Alaska,
446
447 #[displaydoc("Arizona")]
449 #[serde(rename = "244:arizona", alias = "Arizona")]
450 Arizona,
451
452 #[displaydoc("Arkansas")]
454 #[serde(rename = "244:arkansas", alias = "Arkansas")]
455 Arkansas,
456
457 #[displaydoc("California")]
459 #[serde(rename = "244:california", alias = "California")]
460 California,
461
462 #[displaydoc("Colorado")]
464 #[serde(rename = "244:colorado", alias = "Colorado")]
465 Colorado,
466
467 #[displaydoc("Connecticut")]
469 #[serde(rename = "244:connecticut", alias = "Connecticut")]
470 Connecticut,
471
472 #[displaydoc("Delaware")]
474 #[serde(rename = "244:delaware", alias = "Delaware")]
475 Delaware,
476
477 #[displaydoc("District Of Columbia")]
479 #[serde(rename = "244:district_of_columbia", alias = "District Of Columbia")]
480 DistrictOfColumbia,
481
482 #[displaydoc("Florida")]
484 #[serde(rename = "244:florida", alias = "Florida")]
485 Florida,
486
487 #[displaydoc("Georgia")]
489 #[serde(rename = "244:georgia", alias = "Georgia")]
490 Georgia,
491
492 #[displaydoc("Hawaii")]
494 #[serde(rename = "244:hawaii", alias = "Hawaii")]
495 Hawaii,
496
497 #[displaydoc("Idaho")]
499 #[serde(rename = "244:idaho", alias = "Idaho")]
500 Idaho,
501
502 #[displaydoc("Illinois")]
504 #[serde(rename = "244:illinois", alias = "Illinois")]
505 Illinois,
506
507 #[displaydoc("Indiana")]
509 #[serde(rename = "244:indiana", alias = "Indiana")]
510 Indiana,
511
512 #[displaydoc("Iowa")]
514 #[serde(rename = "244:iowa", alias = "Iowa")]
515 Iowa,
516
517 #[displaydoc("Kansas")]
519 #[serde(rename = "244:kansas", alias = "Kansas")]
520 Kansas,
521
522 #[displaydoc("Kentucky")]
524 #[serde(rename = "244:kentucky", alias = "Kentucky")]
525 Kentucky,
526
527 #[displaydoc("Louisiana")]
529 #[serde(rename = "244:louisiana", alias = "Louisiana")]
530 Louisiana,
531
532 #[displaydoc("Maine")]
534 #[serde(rename = "244:maine", alias = "Maine")]
535 Maine,
536
537 #[displaydoc("Maryland")]
539 #[serde(rename = "244:maryland", alias = "Maryland")]
540 Maryland,
541
542 #[displaydoc("Massachusetts")]
544 #[serde(rename = "244:massachusetts", alias = "Massachusetts")]
545 Massachusetts,
546
547 #[displaydoc("Michigan")]
549 #[serde(rename = "244:michigan", alias = "Michigan")]
550 Michigan,
551
552 #[displaydoc("Minnesota")]
554 #[serde(rename = "244:minnesota", alias = "Minnesota")]
555 Minnesota,
556
557 #[displaydoc("Missouri")]
559 #[serde(rename = "244:missouri", alias = "Missouri")]
560 Missouri,
561
562 #[displaydoc("Montana")]
564 #[serde(rename = "244:montana", alias = "Montana")]
565 Montana,
566
567 #[displaydoc("Nebraska")]
569 #[serde(rename = "244:nebraska", alias = "Nebraska")]
570 Nebraska,
571
572 #[displaydoc("Nevada")]
574 #[serde(rename = "244:nevada", alias = "Nevada")]
575 Nevada,
576
577 #[displaydoc("New Hampshire")]
579 #[serde(rename = "244:new_hampshire", alias = "New Hampshire")]
580 NewHampshire,
581
582 #[displaydoc("New Jersey")]
584 #[serde(rename = "244:new_jersey", alias = "New Jersey")]
585 NewJersey,
586
587 #[displaydoc("New Mexico")]
589 #[serde(rename = "244:new_mexico", alias = "New Mexico")]
590 NewMexico,
591
592 #[displaydoc("New York")]
594 #[serde(rename = "244:new_york", alias = "New York")]
595 NewYork,
596
597 #[displaydoc("North Carolina")]
599 #[serde(rename = "244:north_carolina", alias = "North Carolina")]
600 NorthCarolina,
601
602 #[displaydoc("Ohio")]
604 #[serde(rename = "244:ohio", alias = "Ohio")]
605 Ohio,
606
607 #[displaydoc("Oklahoma")]
609 #[serde(rename = "244:oklahoma", alias = "Oklahoma")]
610 Oklahoma,
611
612 #[displaydoc("Oregon")]
614 #[serde(rename = "244:oregon", alias = "Oregon")]
615 Oregon,
616
617 #[displaydoc("Pennsylvania")]
619 #[serde(rename = "244:pennsylvania", alias = "Pennsylvania")]
620 Pennsylvania,
621
622 #[displaydoc("Rhode Island")]
624 #[serde(rename = "244:rhode_island", alias = "Rhode Island")]
625 RhodeIsland,
626
627 #[displaydoc("South Carolina")]
629 #[serde(rename = "244:south_carolina", alias = "South Carolina")]
630 SouthCarolina,
631
632 #[displaydoc("Tennessee")]
634 #[serde(rename = "244:tennessee", alias = "Tennessee")]
635 Tennessee,
636
637 #[displaydoc("Texas")]
639 #[serde(rename = "244:texas", alias = "Texas")]
640 Texas,
641
642 #[displaydoc("Utah")]
644 #[serde(rename = "244:utah", alias = "Utah")]
645 Utah,
646
647 #[displaydoc("Vermont")]
649 #[serde(rename = "244:vermont", alias = "Vermont")]
650 Vermont,
651
652 #[displaydoc("Virginia")]
654 #[serde(rename = "244:virginia", alias = "Virginia")]
655 Virginia,
656
657 #[displaydoc("Washington")]
659 #[serde(rename = "244:washington", alias = "Washington")]
660 Washington,
661
662 #[displaydoc("West Virginia")]
664 #[serde(rename = "244:west_virginia", alias = "West Virginia")]
665 WestVirginia,
666
667 #[displaydoc("Wisconsin")]
669 #[serde(rename = "244:wisconsin", alias = "Wisconsin")]
670 Wisconsin,
671}
672
673#[derive(Debug, Display, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
674#[serde(untagged)]
675pub enum Region {
676 #[displaydoc("Australia/{0}")]
678 Australia(Australia),
679
680 #[displaydoc("Belgium/{0}")]
682 Belgium(Belgium),
683
684 #[displaydoc("Denmark/{0}")]
686 Denmark(Denmark),
687
688 #[displaydoc("Italy/{0}")]
690 Italy(Italy),
691
692 #[displaydoc("Netherlands/{0}")]
694 Netherlands(Netherlands),
695
696 #[displaydoc("United Kingdom/{0}")]
698 UnitedKingdom(UnitedKingdom),
699
700 #[displaydoc("United States/{0}")]
702 UnitedStates(UnitedStates),
703
704 #[displaydoc("Unknown ({0})")]
706 Unknown(String),
707}
708
709impl From<Australia> for Region {
710 fn from(region: Australia) -> Self { Self::Australia(region) }
711}
712
713impl From<Belgium> for Region {
714 fn from(region: Belgium) -> Self { Self::Belgium(region) }
715}
716
717impl From<Denmark> for Region {
718 fn from(region: Denmark) -> Self { Self::Denmark(region) }
719}
720
721impl From<Italy> for Region {
722 fn from(region: Italy) -> Self { Self::Italy(region) }
723}
724
725impl From<Netherlands> for Region {
726 fn from(region: Netherlands) -> Self { Self::Netherlands(region) }
727}
728
729impl From<UnitedKingdom> for Region {
730 fn from(region: UnitedKingdom) -> Self { Self::UnitedKingdom(region) }
731}
732
733impl From<UnitedStates> for Region {
734 fn from(region: UnitedStates) -> Self { Self::UnitedStates(region) }
735}