1#![allow(non_camel_case_types)]
2
3#[cfg_attr(feature = "specta", derive(specta::Type))]
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
6pub enum Currency {
7 UaeDirham,
9 Afghani,
11 Lek,
13 ArmenianDram,
15 NetherlandsAntilleanGuilder,
17 Kwanza,
19 ArgentinePeso,
21 AustralianDollar,
23 ArubanFlorin,
25 AzerbaijanManat,
27 ConvertibleMark,
29 BarbadosDollar,
31 Taka,
33 BulgarianLev,
35 BahrainiDinar,
37 BurundiFranc,
39 BermudianDollar,
41 BruneiDollar,
43 Boliviano,
45 Mvdol,
47 BrazilianReal,
49 BahamianDollar,
51 Ngultrum,
53 Pula,
55 BelarusianRuble,
57 BelizeDollar,
59 CanadianDollar,
61 CongoleseFranc,
63 WirEuro,
65 SwissFranc,
67 WirFranc,
69 UnidadDeFomento,
71 ChileanPeso,
73 YuanRenminbi,
75 ColombianPeso,
77 UnidadDeValorReal,
79 CostaRicanColon,
81 CubanPeso,
83 CaboVerdeEscudo,
85 CzechKoruna,
87 DjiboutiFranc,
89 DanishKrone,
91 DominicanPeso,
93 AlgerianDinar,
95 EgyptianPound,
97 Nakfa,
99 EthiopianBirr,
101 Euro,
103 FijiDollar,
105 FalklandIslandsPound,
107 PoundSterling,
109 Lari,
111 GhanaCedi,
113 GibraltarPound,
115 Dalasi,
117 GuineanFranc,
119 Quetzal,
121 GuyanaDollar,
123 HongKongDollar,
125 Lempira,
127 Gourde,
129 Forint,
131 Rupiah,
133 NewIsraeliSheqel,
135 IndianRupee,
137 IraqiDinar,
139 IranianRial,
141 IcelandKrona,
143 JamaicanDollar,
145 JordanianDinar,
147 Yen,
149 KenyanShilling,
151 Som,
153 Riel,
155 ComorianFranc,
157 NorthKoreanWon,
159 Won,
161 KuwaitiDinar,
163 CaymanIslandsDollar,
165 Tenge,
167 LaoKip,
169 LebanesePound,
171 SriLankaRupee,
173 LiberianDollar,
175 Loti,
177 LibyanDinar,
179 MoroccanDirham,
181 MoldovanLeu,
183 MalagasyAriary,
185 Denar,
187 Kyat,
189 Tugrik,
191 Pataca,
193 Ouguiya,
195 MauritiusRupee,
197 Rufiyaa,
199 MalawiKwacha,
201 MexicanPeso,
203 MexicanUnidadDeInversionUdi,
205 MalaysianRinggit,
207 MozambiqueMetical,
209 NamibiaDollar,
211 Naira,
213 CordobaOro,
215 NorwegianKrone,
217 NepaleseRupee,
219 NewZealandDollar,
221 RialOmani,
223 Balboa,
225 Sol,
227 Kina,
229 PhilippinePeso,
231 PakistanRupee,
233 Zloty,
235 Guarani,
237 QatariRial,
239 RomanianLeu,
241 SerbianDinar,
243 RussianRuble,
245 RwandaFranc,
247 SaudiRiyal,
249 SolomonIslandsDollar,
251 SeychellesRupee,
253 SudanesePound,
255 SwedishKrona,
257 SingaporeDollar,
259 SaintHelenaPound,
261 SierraLeoneNewValuation2022,
263 SomaliShilling,
265 SurinamDollar,
267 SouthSudanesePound,
269 Dobra,
271 ElSalvadorColon,
273 SyrianPound,
275 Lilangeni,
277 Baht,
279 Somoni,
281 TurkmenistanNewManat,
283 TunisianDinar,
285 PaAnga,
287 TurkishLira,
289 TrinidadAndTobagoDollar,
291 NewTaiwanDollar,
293 TanzanianShilling,
295 Hryvnia,
297 UgandaShilling,
299 UsDollar,
301 UsDollarNextDay,
303 UruguayPesoEnUnidadesIndexadasUi,
305 PesoUruguayo,
307 UnidadPrevisional,
309 UzbekistanSum,
311 BolívarSoberanoNewValuation,
313 BolívarSoberano,
315 Dong,
317 Vatu,
319 Tala,
321 CfaFrancBeac,
323 Silver,
325 Gold,
327 BondMarketsUnitEuropeanCompositeUnitEurco,
329 BondMarketsUnitEuropeanMonetaryUnitEMU6,
331 BondMarketsUnitEuropeanUnitAccount9EUA9,
333 BondMarketsUnitEuropeanUnitAccount17EUA17,
335 EastCaribbeanDollar,
337 SdrSpecialDrawingRight,
339 CfaFrancBceao,
341 Palladium,
343 CfpFranc,
345 Platinum,
347 Sucre,
349 CodesSpecificallyReservedForTestingPurposes,
351 AdbUnitAccount,
353 TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved,
355 YemeniRial,
357 Rand,
359 ZambianKwacha,
361 ZimbabweGold,
363}
364
365impl crate::Code for Currency {
366 fn code(self) -> &'static str {
367 match self {
368 Currency::UaeDirham => "AED",
369 Currency::Afghani => "AFN",
370 Currency::Lek => "ALL",
371 Currency::ArmenianDram => "AMD",
372 Currency::NetherlandsAntilleanGuilder => "ANG",
373 Currency::Kwanza => "AOA",
374 Currency::ArgentinePeso => "ARS",
375 Currency::AustralianDollar => "AUD",
376 Currency::ArubanFlorin => "AWG",
377 Currency::AzerbaijanManat => "AZN",
378 Currency::ConvertibleMark => "BAM",
379 Currency::BarbadosDollar => "BBD",
380 Currency::Taka => "BDT",
381 Currency::BulgarianLev => "BGN",
382 Currency::BahrainiDinar => "BHD",
383 Currency::BurundiFranc => "BIF",
384 Currency::BermudianDollar => "BMD",
385 Currency::BruneiDollar => "BND",
386 Currency::Boliviano => "BOB",
387 Currency::Mvdol => "BOV",
388 Currency::BrazilianReal => "BRL",
389 Currency::BahamianDollar => "BSD",
390 Currency::Ngultrum => "BTN",
391 Currency::Pula => "BWP",
392 Currency::BelarusianRuble => "BYN",
393 Currency::BelizeDollar => "BZD",
394 Currency::CanadianDollar => "CAD",
395 Currency::CongoleseFranc => "CDF",
396 Currency::WirEuro => "CHE",
397 Currency::SwissFranc => "CHF",
398 Currency::WirFranc => "CHW",
399 Currency::UnidadDeFomento => "CLF",
400 Currency::ChileanPeso => "CLP",
401 Currency::YuanRenminbi => "CNY",
402 Currency::ColombianPeso => "COP",
403 Currency::UnidadDeValorReal => "COU",
404 Currency::CostaRicanColon => "CRC",
405 Currency::CubanPeso => "CUP",
406 Currency::CaboVerdeEscudo => "CVE",
407 Currency::CzechKoruna => "CZK",
408 Currency::DjiboutiFranc => "DJF",
409 Currency::DanishKrone => "DKK",
410 Currency::DominicanPeso => "DOP",
411 Currency::AlgerianDinar => "DZD",
412 Currency::EgyptianPound => "EGP",
413 Currency::Nakfa => "ERN",
414 Currency::EthiopianBirr => "ETB",
415 Currency::Euro => "EUR",
416 Currency::FijiDollar => "FJD",
417 Currency::FalklandIslandsPound => "FKP",
418 Currency::PoundSterling => "GBP",
419 Currency::Lari => "GEL",
420 Currency::GhanaCedi => "GHS",
421 Currency::GibraltarPound => "GIP",
422 Currency::Dalasi => "GMD",
423 Currency::GuineanFranc => "GNF",
424 Currency::Quetzal => "GTQ",
425 Currency::GuyanaDollar => "GYD",
426 Currency::HongKongDollar => "HKD",
427 Currency::Lempira => "HNL",
428 Currency::Gourde => "HTG",
429 Currency::Forint => "HUF",
430 Currency::Rupiah => "IDR",
431 Currency::NewIsraeliSheqel => "ILS",
432 Currency::IndianRupee => "INR",
433 Currency::IraqiDinar => "IQD",
434 Currency::IranianRial => "IRR",
435 Currency::IcelandKrona => "ISK",
436 Currency::JamaicanDollar => "JMD",
437 Currency::JordanianDinar => "JOD",
438 Currency::Yen => "JPY",
439 Currency::KenyanShilling => "KES",
440 Currency::Som => "KGS",
441 Currency::Riel => "KHR",
442 Currency::ComorianFranc => "KMF",
443 Currency::NorthKoreanWon => "KPW",
444 Currency::Won => "KRW",
445 Currency::KuwaitiDinar => "KWD",
446 Currency::CaymanIslandsDollar => "KYD",
447 Currency::Tenge => "KZT",
448 Currency::LaoKip => "LAK",
449 Currency::LebanesePound => "LBP",
450 Currency::SriLankaRupee => "LKR",
451 Currency::LiberianDollar => "LRD",
452 Currency::Loti => "LSL",
453 Currency::LibyanDinar => "LYD",
454 Currency::MoroccanDirham => "MAD",
455 Currency::MoldovanLeu => "MDL",
456 Currency::MalagasyAriary => "MGA",
457 Currency::Denar => "MKD",
458 Currency::Kyat => "MMK",
459 Currency::Tugrik => "MNT",
460 Currency::Pataca => "MOP",
461 Currency::Ouguiya => "MRU",
462 Currency::MauritiusRupee => "MUR",
463 Currency::Rufiyaa => "MVR",
464 Currency::MalawiKwacha => "MWK",
465 Currency::MexicanPeso => "MXN",
466 Currency::MexicanUnidadDeInversionUdi => "MXV",
467 Currency::MalaysianRinggit => "MYR",
468 Currency::MozambiqueMetical => "MZN",
469 Currency::NamibiaDollar => "NAD",
470 Currency::Naira => "NGN",
471 Currency::CordobaOro => "NIO",
472 Currency::NorwegianKrone => "NOK",
473 Currency::NepaleseRupee => "NPR",
474 Currency::NewZealandDollar => "NZD",
475 Currency::RialOmani => "OMR",
476 Currency::Balboa => "PAB",
477 Currency::Sol => "PEN",
478 Currency::Kina => "PGK",
479 Currency::PhilippinePeso => "PHP",
480 Currency::PakistanRupee => "PKR",
481 Currency::Zloty => "PLN",
482 Currency::Guarani => "PYG",
483 Currency::QatariRial => "QAR",
484 Currency::RomanianLeu => "RON",
485 Currency::SerbianDinar => "RSD",
486 Currency::RussianRuble => "RUB",
487 Currency::RwandaFranc => "RWF",
488 Currency::SaudiRiyal => "SAR",
489 Currency::SolomonIslandsDollar => "SBD",
490 Currency::SeychellesRupee => "SCR",
491 Currency::SudanesePound => "SDG",
492 Currency::SwedishKrona => "SEK",
493 Currency::SingaporeDollar => "SGD",
494 Currency::SaintHelenaPound => "SHP",
495 Currency::SierraLeoneNewValuation2022 => "SLE",
496 Currency::SomaliShilling => "SOS",
497 Currency::SurinamDollar => "SRD",
498 Currency::SouthSudanesePound => "SSP",
499 Currency::Dobra => "STN",
500 Currency::ElSalvadorColon => "SVC",
501 Currency::SyrianPound => "SYP",
502 Currency::Lilangeni => "SZL",
503 Currency::Baht => "THB",
504 Currency::Somoni => "TJS",
505 Currency::TurkmenistanNewManat => "TMT",
506 Currency::TunisianDinar => "TND",
507 Currency::PaAnga => "TOP",
508 Currency::TurkishLira => "TRY",
509 Currency::TrinidadAndTobagoDollar => "TTD",
510 Currency::NewTaiwanDollar => "TWD",
511 Currency::TanzanianShilling => "TZS",
512 Currency::Hryvnia => "UAH",
513 Currency::UgandaShilling => "UGX",
514 Currency::UsDollar => "USD",
515 Currency::UsDollarNextDay => "USN",
516 Currency::UruguayPesoEnUnidadesIndexadasUi => "UYI",
517 Currency::PesoUruguayo => "UYU",
518 Currency::UnidadPrevisional => "UYW",
519 Currency::UzbekistanSum => "UZS",
520 Currency::BolívarSoberanoNewValuation => "VED",
521 Currency::BolívarSoberano => "VES",
522 Currency::Dong => "VND",
523 Currency::Vatu => "VUV",
524 Currency::Tala => "WST",
525 Currency::CfaFrancBeac => "XAF",
526 Currency::Silver => "XAG",
527 Currency::Gold => "XAU",
528 Currency::BondMarketsUnitEuropeanCompositeUnitEurco => "XBA",
529 Currency::BondMarketsUnitEuropeanMonetaryUnitEMU6 => "XBB",
530 Currency::BondMarketsUnitEuropeanUnitAccount9EUA9 => "XBC",
531 Currency::BondMarketsUnitEuropeanUnitAccount17EUA17 => "XBD",
532 Currency::EastCaribbeanDollar => "XCD",
533 Currency::SdrSpecialDrawingRight => "XDR",
534 Currency::CfaFrancBceao => "XOF",
535 Currency::Palladium => "XPD",
536 Currency::CfpFranc => "XPF",
537 Currency::Platinum => "XPT",
538 Currency::Sucre => "XSU",
539 Currency::CodesSpecificallyReservedForTestingPurposes => "XTS",
540 Currency::AdbUnitAccount => "XUA",
541 Currency::TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved => "XXX",
542 Currency::YemeniRial => "YER",
543 Currency::Rand => "ZAR",
544 Currency::ZambianKwacha => "ZMW",
545 Currency::ZimbabweGold => "ZWG",
546 }
547 }
548}
549
550impl crate::Description for Currency {
551 fn description(self) -> &'static str {
552 match self {
553 Currency::UaeDirham => "UAE Dirham",
554 Currency::Afghani => "Afghani",
555 Currency::Lek => "Lek",
556 Currency::ArmenianDram => "Armenian Dram",
557 Currency::NetherlandsAntilleanGuilder => "Netherlands Antillean Guilder",
558 Currency::Kwanza => "Kwanza",
559 Currency::ArgentinePeso => "Argentine Peso",
560 Currency::AustralianDollar => "Australian Dollar",
561 Currency::ArubanFlorin => "Aruban Florin",
562 Currency::AzerbaijanManat => "Azerbaijan Manat",
563 Currency::ConvertibleMark => "Convertible Mark",
564 Currency::BarbadosDollar => "Barbados Dollar",
565 Currency::Taka => "Taka",
566 Currency::BulgarianLev => "Bulgarian Lev",
567 Currency::BahrainiDinar => "Bahraini Dinar",
568 Currency::BurundiFranc => "Burundi Franc",
569 Currency::BermudianDollar => "Bermudian Dollar",
570 Currency::BruneiDollar => "Brunei Dollar",
571 Currency::Boliviano => "Boliviano",
572 Currency::Mvdol => "Mvdol",
573 Currency::BrazilianReal => "Brazilian Real",
574 Currency::BahamianDollar => "Bahamian Dollar",
575 Currency::Ngultrum => "Ngultrum",
576 Currency::Pula => "Pula",
577 Currency::BelarusianRuble => "Belarusian Ruble",
578 Currency::BelizeDollar => "Belize Dollar",
579 Currency::CanadianDollar => "Canadian Dollar",
580 Currency::CongoleseFranc => "Congolese Franc",
581 Currency::WirEuro => "WIR Euro",
582 Currency::SwissFranc => "Swiss Franc",
583 Currency::WirFranc => "WIR Franc",
584 Currency::UnidadDeFomento => "Unidad de Fomento",
585 Currency::ChileanPeso => "Chilean Peso",
586 Currency::YuanRenminbi => "Yuan Renminbi",
587 Currency::ColombianPeso => "Colombian Peso",
588 Currency::UnidadDeValorReal => "Unidad de Valor Real",
589 Currency::CostaRicanColon => "Costa Rican Colon",
590 Currency::CubanPeso => "Cuban Peso",
591 Currency::CaboVerdeEscudo => "Cabo Verde Escudo",
592 Currency::CzechKoruna => "Czech Koruna",
593 Currency::DjiboutiFranc => "Djibouti Franc",
594 Currency::DanishKrone => "Danish Krone",
595 Currency::DominicanPeso => "Dominican Peso",
596 Currency::AlgerianDinar => "Algerian Dinar",
597 Currency::EgyptianPound => "Egyptian Pound",
598 Currency::Nakfa => "Nakfa",
599 Currency::EthiopianBirr => "Ethiopian Birr",
600 Currency::Euro => "Euro",
601 Currency::FijiDollar => "Fiji Dollar",
602 Currency::FalklandIslandsPound => "Falkland Islands Pound",
603 Currency::PoundSterling => "Pound Sterling",
604 Currency::Lari => "Lari",
605 Currency::GhanaCedi => "Ghana Cedi",
606 Currency::GibraltarPound => "Gibraltar Pound",
607 Currency::Dalasi => "Dalasi",
608 Currency::GuineanFranc => "Guinean Franc",
609 Currency::Quetzal => "Quetzal",
610 Currency::GuyanaDollar => "Guyana Dollar",
611 Currency::HongKongDollar => "Hong Kong Dollar",
612 Currency::Lempira => "Lempira",
613 Currency::Gourde => "Gourde",
614 Currency::Forint => "Forint",
615 Currency::Rupiah => "Rupiah",
616 Currency::NewIsraeliSheqel => "New Israeli Sheqel",
617 Currency::IndianRupee => "Indian Rupee",
618 Currency::IraqiDinar => "Iraqi Dinar",
619 Currency::IranianRial => "Iranian Rial",
620 Currency::IcelandKrona => "Iceland Krona",
621 Currency::JamaicanDollar => "Jamaican Dollar",
622 Currency::JordanianDinar => "Jordanian Dinar",
623 Currency::Yen => "Yen",
624 Currency::KenyanShilling => "Kenyan Shilling",
625 Currency::Som => "Som",
626 Currency::Riel => "Riel",
627 Currency::ComorianFranc => "Comorian Franc ",
628 Currency::NorthKoreanWon => "North Korean Won",
629 Currency::Won => "Won",
630 Currency::KuwaitiDinar => "Kuwaiti Dinar",
631 Currency::CaymanIslandsDollar => "Cayman Islands Dollar",
632 Currency::Tenge => "Tenge",
633 Currency::LaoKip => "Lao Kip",
634 Currency::LebanesePound => "Lebanese Pound",
635 Currency::SriLankaRupee => "Sri Lanka Rupee",
636 Currency::LiberianDollar => "Liberian Dollar",
637 Currency::Loti => "Loti",
638 Currency::LibyanDinar => "Libyan Dinar",
639 Currency::MoroccanDirham => "Moroccan Dirham",
640 Currency::MoldovanLeu => "Moldovan Leu",
641 Currency::MalagasyAriary => "Malagasy Ariary",
642 Currency::Denar => "Denar",
643 Currency::Kyat => "Kyat",
644 Currency::Tugrik => "Tugrik",
645 Currency::Pataca => "Pataca",
646 Currency::Ouguiya => "Ouguiya",
647 Currency::MauritiusRupee => "Mauritius Rupee",
648 Currency::Rufiyaa => "Rufiyaa",
649 Currency::MalawiKwacha => "Malawi Kwacha",
650 Currency::MexicanPeso => "Mexican Peso",
651 Currency::MexicanUnidadDeInversionUdi => "Mexican Unidad de Inversion (UDI)",
652 Currency::MalaysianRinggit => "Malaysian Ringgit",
653 Currency::MozambiqueMetical => "Mozambique Metical",
654 Currency::NamibiaDollar => "Namibia Dollar",
655 Currency::Naira => "Naira",
656 Currency::CordobaOro => "Cordoba Oro",
657 Currency::NorwegianKrone => "Norwegian Krone",
658 Currency::NepaleseRupee => "Nepalese Rupee",
659 Currency::NewZealandDollar => "New Zealand Dollar",
660 Currency::RialOmani => "Rial Omani",
661 Currency::Balboa => "Balboa",
662 Currency::Sol => "Sol",
663 Currency::Kina => "Kina",
664 Currency::PhilippinePeso => "Philippine Peso",
665 Currency::PakistanRupee => "Pakistan Rupee",
666 Currency::Zloty => "Zloty",
667 Currency::Guarani => "Guarani",
668 Currency::QatariRial => "Qatari Rial",
669 Currency::RomanianLeu => "Romanian Leu",
670 Currency::SerbianDinar => "Serbian Dinar",
671 Currency::RussianRuble => "Russian Ruble",
672 Currency::RwandaFranc => "Rwanda Franc",
673 Currency::SaudiRiyal => "Saudi Riyal",
674 Currency::SolomonIslandsDollar => "Solomon Islands Dollar",
675 Currency::SeychellesRupee => "Seychelles Rupee",
676 Currency::SudanesePound => "Sudanese Pound",
677 Currency::SwedishKrona => "Swedish Krona",
678 Currency::SingaporeDollar => "Singapore Dollar",
679 Currency::SaintHelenaPound => "Saint Helena Pound",
680 Currency::SierraLeoneNewValuation2022 => "Sierra Leone (new valuation 2022)",
681 Currency::SomaliShilling => "Somali Shilling",
682 Currency::SurinamDollar => "Surinam Dollar",
683 Currency::SouthSudanesePound => "South Sudanese Pound",
684 Currency::Dobra => "Dobra",
685 Currency::ElSalvadorColon => "El Salvador Colon",
686 Currency::SyrianPound => "Syrian Pound",
687 Currency::Lilangeni => "Lilangeni",
688 Currency::Baht => "Baht",
689 Currency::Somoni => "Somoni",
690 Currency::TurkmenistanNewManat => "Turkmenistan New Manat",
691 Currency::TunisianDinar => "Tunisian Dinar",
692 Currency::PaAnga => "Pa’anga",
693 Currency::TurkishLira => "Turkish Lira",
694 Currency::TrinidadAndTobagoDollar => "Trinidad and Tobago Dollar",
695 Currency::NewTaiwanDollar => "New Taiwan Dollar",
696 Currency::TanzanianShilling => "Tanzanian Shilling",
697 Currency::Hryvnia => "Hryvnia",
698 Currency::UgandaShilling => "Uganda Shilling",
699 Currency::UsDollar => "US Dollar",
700 Currency::UsDollarNextDay => "US Dollar (Next day)",
701 Currency::UruguayPesoEnUnidadesIndexadasUi => "Uruguay Peso en Unidades Indexadas (UI)",
702 Currency::PesoUruguayo => "Peso Uruguayo",
703 Currency::UnidadPrevisional => "Unidad Previsional",
704 Currency::UzbekistanSum => "Uzbekistan Sum",
705 Currency::BolívarSoberanoNewValuation => "Bolívar Soberano, new valuation",
706 Currency::BolívarSoberano => "Bolívar Soberano",
707 Currency::Dong => "Dong",
708 Currency::Vatu => "Vatu",
709 Currency::Tala => "Tala",
710 Currency::CfaFrancBeac => "CFA Franc BEAC",
711 Currency::Silver => "Silver",
712 Currency::Gold => "Gold",
713 Currency::BondMarketsUnitEuropeanCompositeUnitEurco => {
714 "Bond Markets Unit European Composite Unit (EURCO)"
715 }
716 Currency::BondMarketsUnitEuropeanMonetaryUnitEMU6 => {
717 "Bond Markets Unit European Monetary Unit (E.M.U.-6)"
718 }
719 Currency::BondMarketsUnitEuropeanUnitAccount9EUA9 => {
720 "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)"
721 }
722 Currency::BondMarketsUnitEuropeanUnitAccount17EUA17 => {
723 "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)"
724 }
725 Currency::EastCaribbeanDollar => "East Caribbean Dollar",
726 Currency::SdrSpecialDrawingRight => "SDR (Special Drawing Right)",
727 Currency::CfaFrancBceao => "CFA Franc BCEAO",
728 Currency::Palladium => "Palladium",
729 Currency::CfpFranc => "CFP Franc",
730 Currency::Platinum => "Platinum",
731 Currency::Sucre => "Sucre",
732 Currency::CodesSpecificallyReservedForTestingPurposes => {
733 "Codes specifically reserved for testing purposes"
734 }
735 Currency::AdbUnitAccount => "ADB Unit of Account",
736 Currency::TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved => {
737 "The codes assigned for transactions where no currency is involved"
738 }
739 Currency::YemeniRial => "Yemeni Rial",
740 Currency::Rand => "Rand",
741 Currency::ZambianKwacha => "Zambian Kwacha",
742 Currency::ZimbabweGold => "Zimbabwe Gold",
743 }
744 }
745}
746
747impl crate::FromCode for Currency {
748 fn from_code(code: &str) -> Option<Self>
749 where
750 Self: Sized,
751 {
752 match code {
753 "AED" => Some(Currency::UaeDirham),
754 "AFN" => Some(Currency::Afghani),
755 "ALL" => Some(Currency::Lek),
756 "AMD" => Some(Currency::ArmenianDram),
757 "ANG" => Some(Currency::NetherlandsAntilleanGuilder),
758 "AOA" => Some(Currency::Kwanza),
759 "ARS" => Some(Currency::ArgentinePeso),
760 "AUD" => Some(Currency::AustralianDollar),
761 "AWG" => Some(Currency::ArubanFlorin),
762 "AZN" => Some(Currency::AzerbaijanManat),
763 "BAM" => Some(Currency::ConvertibleMark),
764 "BBD" => Some(Currency::BarbadosDollar),
765 "BDT" => Some(Currency::Taka),
766 "BGN" => Some(Currency::BulgarianLev),
767 "BHD" => Some(Currency::BahrainiDinar),
768 "BIF" => Some(Currency::BurundiFranc),
769 "BMD" => Some(Currency::BermudianDollar),
770 "BND" => Some(Currency::BruneiDollar),
771 "BOB" => Some(Currency::Boliviano),
772 "BOV" => Some(Currency::Mvdol),
773 "BRL" => Some(Currency::BrazilianReal),
774 "BSD" => Some(Currency::BahamianDollar),
775 "BTN" => Some(Currency::Ngultrum),
776 "BWP" => Some(Currency::Pula),
777 "BYN" => Some(Currency::BelarusianRuble),
778 "BZD" => Some(Currency::BelizeDollar),
779 "CAD" => Some(Currency::CanadianDollar),
780 "CDF" => Some(Currency::CongoleseFranc),
781 "CHE" => Some(Currency::WirEuro),
782 "CHF" => Some(Currency::SwissFranc),
783 "CHW" => Some(Currency::WirFranc),
784 "CLF" => Some(Currency::UnidadDeFomento),
785 "CLP" => Some(Currency::ChileanPeso),
786 "CNY" => Some(Currency::YuanRenminbi),
787 "COP" => Some(Currency::ColombianPeso),
788 "COU" => Some(Currency::UnidadDeValorReal),
789 "CRC" => Some(Currency::CostaRicanColon),
790 "CUP" => Some(Currency::CubanPeso),
791 "CVE" => Some(Currency::CaboVerdeEscudo),
792 "CZK" => Some(Currency::CzechKoruna),
793 "DJF" => Some(Currency::DjiboutiFranc),
794 "DKK" => Some(Currency::DanishKrone),
795 "DOP" => Some(Currency::DominicanPeso),
796 "DZD" => Some(Currency::AlgerianDinar),
797 "EGP" => Some(Currency::EgyptianPound),
798 "ERN" => Some(Currency::Nakfa),
799 "ETB" => Some(Currency::EthiopianBirr),
800 "EUR" => Some(Currency::Euro),
801 "FJD" => Some(Currency::FijiDollar),
802 "FKP" => Some(Currency::FalklandIslandsPound),
803 "GBP" => Some(Currency::PoundSterling),
804 "GEL" => Some(Currency::Lari),
805 "GHS" => Some(Currency::GhanaCedi),
806 "GIP" => Some(Currency::GibraltarPound),
807 "GMD" => Some(Currency::Dalasi),
808 "GNF" => Some(Currency::GuineanFranc),
809 "GTQ" => Some(Currency::Quetzal),
810 "GYD" => Some(Currency::GuyanaDollar),
811 "HKD" => Some(Currency::HongKongDollar),
812 "HNL" => Some(Currency::Lempira),
813 "HTG" => Some(Currency::Gourde),
814 "HUF" => Some(Currency::Forint),
815 "IDR" => Some(Currency::Rupiah),
816 "ILS" => Some(Currency::NewIsraeliSheqel),
817 "INR" => Some(Currency::IndianRupee),
818 "IQD" => Some(Currency::IraqiDinar),
819 "IRR" => Some(Currency::IranianRial),
820 "ISK" => Some(Currency::IcelandKrona),
821 "JMD" => Some(Currency::JamaicanDollar),
822 "JOD" => Some(Currency::JordanianDinar),
823 "JPY" => Some(Currency::Yen),
824 "KES" => Some(Currency::KenyanShilling),
825 "KGS" => Some(Currency::Som),
826 "KHR" => Some(Currency::Riel),
827 "KMF" => Some(Currency::ComorianFranc),
828 "KPW" => Some(Currency::NorthKoreanWon),
829 "KRW" => Some(Currency::Won),
830 "KWD" => Some(Currency::KuwaitiDinar),
831 "KYD" => Some(Currency::CaymanIslandsDollar),
832 "KZT" => Some(Currency::Tenge),
833 "LAK" => Some(Currency::LaoKip),
834 "LBP" => Some(Currency::LebanesePound),
835 "LKR" => Some(Currency::SriLankaRupee),
836 "LRD" => Some(Currency::LiberianDollar),
837 "LSL" => Some(Currency::Loti),
838 "LYD" => Some(Currency::LibyanDinar),
839 "MAD" => Some(Currency::MoroccanDirham),
840 "MDL" => Some(Currency::MoldovanLeu),
841 "MGA" => Some(Currency::MalagasyAriary),
842 "MKD" => Some(Currency::Denar),
843 "MMK" => Some(Currency::Kyat),
844 "MNT" => Some(Currency::Tugrik),
845 "MOP" => Some(Currency::Pataca),
846 "MRU" => Some(Currency::Ouguiya),
847 "MUR" => Some(Currency::MauritiusRupee),
848 "MVR" => Some(Currency::Rufiyaa),
849 "MWK" => Some(Currency::MalawiKwacha),
850 "MXN" => Some(Currency::MexicanPeso),
851 "MXV" => Some(Currency::MexicanUnidadDeInversionUdi),
852 "MYR" => Some(Currency::MalaysianRinggit),
853 "MZN" => Some(Currency::MozambiqueMetical),
854 "NAD" => Some(Currency::NamibiaDollar),
855 "NGN" => Some(Currency::Naira),
856 "NIO" => Some(Currency::CordobaOro),
857 "NOK" => Some(Currency::NorwegianKrone),
858 "NPR" => Some(Currency::NepaleseRupee),
859 "NZD" => Some(Currency::NewZealandDollar),
860 "OMR" => Some(Currency::RialOmani),
861 "PAB" => Some(Currency::Balboa),
862 "PEN" => Some(Currency::Sol),
863 "PGK" => Some(Currency::Kina),
864 "PHP" => Some(Currency::PhilippinePeso),
865 "PKR" => Some(Currency::PakistanRupee),
866 "PLN" => Some(Currency::Zloty),
867 "PYG" => Some(Currency::Guarani),
868 "QAR" => Some(Currency::QatariRial),
869 "RON" => Some(Currency::RomanianLeu),
870 "RSD" => Some(Currency::SerbianDinar),
871 "RUB" => Some(Currency::RussianRuble),
872 "RWF" => Some(Currency::RwandaFranc),
873 "SAR" => Some(Currency::SaudiRiyal),
874 "SBD" => Some(Currency::SolomonIslandsDollar),
875 "SCR" => Some(Currency::SeychellesRupee),
876 "SDG" => Some(Currency::SudanesePound),
877 "SEK" => Some(Currency::SwedishKrona),
878 "SGD" => Some(Currency::SingaporeDollar),
879 "SHP" => Some(Currency::SaintHelenaPound),
880 "SLE" => Some(Currency::SierraLeoneNewValuation2022),
881 "SOS" => Some(Currency::SomaliShilling),
882 "SRD" => Some(Currency::SurinamDollar),
883 "SSP" => Some(Currency::SouthSudanesePound),
884 "STN" => Some(Currency::Dobra),
885 "SVC" => Some(Currency::ElSalvadorColon),
886 "SYP" => Some(Currency::SyrianPound),
887 "SZL" => Some(Currency::Lilangeni),
888 "THB" => Some(Currency::Baht),
889 "TJS" => Some(Currency::Somoni),
890 "TMT" => Some(Currency::TurkmenistanNewManat),
891 "TND" => Some(Currency::TunisianDinar),
892 "TOP" => Some(Currency::PaAnga),
893 "TRY" => Some(Currency::TurkishLira),
894 "TTD" => Some(Currency::TrinidadAndTobagoDollar),
895 "TWD" => Some(Currency::NewTaiwanDollar),
896 "TZS" => Some(Currency::TanzanianShilling),
897 "UAH" => Some(Currency::Hryvnia),
898 "UGX" => Some(Currency::UgandaShilling),
899 "USD" => Some(Currency::UsDollar),
900 "USN" => Some(Currency::UsDollarNextDay),
901 "UYI" => Some(Currency::UruguayPesoEnUnidadesIndexadasUi),
902 "UYU" => Some(Currency::PesoUruguayo),
903 "UYW" => Some(Currency::UnidadPrevisional),
904 "UZS" => Some(Currency::UzbekistanSum),
905 "VED" => Some(Currency::BolívarSoberanoNewValuation),
906 "VES" => Some(Currency::BolívarSoberano),
907 "VND" => Some(Currency::Dong),
908 "VUV" => Some(Currency::Vatu),
909 "WST" => Some(Currency::Tala),
910 "XAF" => Some(Currency::CfaFrancBeac),
911 "XAG" => Some(Currency::Silver),
912 "XAU" => Some(Currency::Gold),
913 "XBA" => Some(Currency::BondMarketsUnitEuropeanCompositeUnitEurco),
914 "XBB" => Some(Currency::BondMarketsUnitEuropeanMonetaryUnitEMU6),
915 "XBC" => Some(Currency::BondMarketsUnitEuropeanUnitAccount9EUA9),
916 "XBD" => Some(Currency::BondMarketsUnitEuropeanUnitAccount17EUA17),
917 "XCD" => Some(Currency::EastCaribbeanDollar),
918 "XDR" => Some(Currency::SdrSpecialDrawingRight),
919 "XOF" => Some(Currency::CfaFrancBceao),
920 "XPD" => Some(Currency::Palladium),
921 "XPF" => Some(Currency::CfpFranc),
922 "XPT" => Some(Currency::Platinum),
923 "XSU" => Some(Currency::Sucre),
924 "XTS" => Some(Currency::CodesSpecificallyReservedForTestingPurposes),
925 "XUA" => Some(Currency::AdbUnitAccount),
926 "XXX" => Some(Currency::TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved),
927 "YER" => Some(Currency::YemeniRial),
928 "ZAR" => Some(Currency::Rand),
929 "ZMW" => Some(Currency::ZambianKwacha),
930 "ZWG" => Some(Currency::ZimbabweGold),
931 _ => None,
932 }
933 }
934}
935
936#[cfg(feature = "iso_currency")]
937impl std::convert::TryFrom<Currency> for iso_currency::Currency {
938 type Error = ErrFromCurrency;
939 fn try_from(value: Currency) -> Result<Self, Self::Error> {
940 match value {
941 Currency::UaeDirham => Ok(iso_currency::Currency::AED),
942 Currency::Afghani => Ok(iso_currency::Currency::AFN),
943 Currency::Lek => Ok(iso_currency::Currency::ALL),
944 Currency::ArmenianDram => Ok(iso_currency::Currency::AMD),
945 Currency::Kwanza => Ok(iso_currency::Currency::AOA),
946 Currency::ArgentinePeso => Ok(iso_currency::Currency::ARS),
947 Currency::AustralianDollar => Ok(iso_currency::Currency::AUD),
948 Currency::ArubanFlorin => Ok(iso_currency::Currency::AWG),
949 Currency::AzerbaijanManat => Ok(iso_currency::Currency::AZN),
950 Currency::ConvertibleMark => Ok(iso_currency::Currency::BAM),
951 Currency::BarbadosDollar => Ok(iso_currency::Currency::BBD),
952 Currency::Taka => Ok(iso_currency::Currency::BDT),
953 Currency::BulgarianLev => Ok(iso_currency::Currency::BGN),
954 Currency::BahrainiDinar => Ok(iso_currency::Currency::BHD),
955 Currency::BurundiFranc => Ok(iso_currency::Currency::BIF),
956 Currency::BermudianDollar => Ok(iso_currency::Currency::BMD),
957 Currency::BruneiDollar => Ok(iso_currency::Currency::BND),
958 Currency::Boliviano => Ok(iso_currency::Currency::BOB),
959 Currency::Mvdol => Ok(iso_currency::Currency::BOV),
960 Currency::BrazilianReal => Ok(iso_currency::Currency::BRL),
961 Currency::BahamianDollar => Ok(iso_currency::Currency::BSD),
962 Currency::Ngultrum => Ok(iso_currency::Currency::BTN),
963 Currency::Pula => Ok(iso_currency::Currency::BWP),
964 Currency::BelarusianRuble => Ok(iso_currency::Currency::BYN),
965 Currency::BelizeDollar => Ok(iso_currency::Currency::BZD),
966 Currency::CanadianDollar => Ok(iso_currency::Currency::CAD),
967 Currency::CongoleseFranc => Ok(iso_currency::Currency::CDF),
968 Currency::WirEuro => Ok(iso_currency::Currency::CHE),
969 Currency::SwissFranc => Ok(iso_currency::Currency::CHF),
970 Currency::WirFranc => Ok(iso_currency::Currency::CHW),
971 Currency::UnidadDeFomento => Ok(iso_currency::Currency::CLF),
972 Currency::ChileanPeso => Ok(iso_currency::Currency::CLP),
973 Currency::YuanRenminbi => Ok(iso_currency::Currency::CNY),
974 Currency::ColombianPeso => Ok(iso_currency::Currency::COP),
975 Currency::UnidadDeValorReal => Ok(iso_currency::Currency::COU),
976 Currency::CostaRicanColon => Ok(iso_currency::Currency::CRC),
977 Currency::CubanPeso => Ok(iso_currency::Currency::CUP),
978 Currency::CaboVerdeEscudo => Ok(iso_currency::Currency::CVE),
979 Currency::CzechKoruna => Ok(iso_currency::Currency::CZK),
980 Currency::DjiboutiFranc => Ok(iso_currency::Currency::DJF),
981 Currency::DanishKrone => Ok(iso_currency::Currency::DKK),
982 Currency::DominicanPeso => Ok(iso_currency::Currency::DOP),
983 Currency::AlgerianDinar => Ok(iso_currency::Currency::DZD),
984 Currency::EgyptianPound => Ok(iso_currency::Currency::EGP),
985 Currency::Nakfa => Ok(iso_currency::Currency::ERN),
986 Currency::EthiopianBirr => Ok(iso_currency::Currency::ETB),
987 Currency::Euro => Ok(iso_currency::Currency::EUR),
988 Currency::FijiDollar => Ok(iso_currency::Currency::FJD),
989 Currency::FalklandIslandsPound => Ok(iso_currency::Currency::FKP),
990 Currency::PoundSterling => Ok(iso_currency::Currency::GBP),
991 Currency::Lari => Ok(iso_currency::Currency::GEL),
992 Currency::GhanaCedi => Ok(iso_currency::Currency::GHS),
993 Currency::GibraltarPound => Ok(iso_currency::Currency::GIP),
994 Currency::Dalasi => Ok(iso_currency::Currency::GMD),
995 Currency::GuineanFranc => Ok(iso_currency::Currency::GNF),
996 Currency::Quetzal => Ok(iso_currency::Currency::GTQ),
997 Currency::GuyanaDollar => Ok(iso_currency::Currency::GYD),
998 Currency::HongKongDollar => Ok(iso_currency::Currency::HKD),
999 Currency::Lempira => Ok(iso_currency::Currency::HNL),
1000 Currency::Gourde => Ok(iso_currency::Currency::HTG),
1001 Currency::Forint => Ok(iso_currency::Currency::HUF),
1002 Currency::Rupiah => Ok(iso_currency::Currency::IDR),
1003 Currency::NewIsraeliSheqel => Ok(iso_currency::Currency::ILS),
1004 Currency::IndianRupee => Ok(iso_currency::Currency::INR),
1005 Currency::IraqiDinar => Ok(iso_currency::Currency::IQD),
1006 Currency::IranianRial => Ok(iso_currency::Currency::IRR),
1007 Currency::IcelandKrona => Ok(iso_currency::Currency::ISK),
1008 Currency::JamaicanDollar => Ok(iso_currency::Currency::JMD),
1009 Currency::JordanianDinar => Ok(iso_currency::Currency::JOD),
1010 Currency::Yen => Ok(iso_currency::Currency::JPY),
1011 Currency::KenyanShilling => Ok(iso_currency::Currency::KES),
1012 Currency::Som => Ok(iso_currency::Currency::KGS),
1013 Currency::Riel => Ok(iso_currency::Currency::KHR),
1014 Currency::ComorianFranc => Ok(iso_currency::Currency::KMF),
1015 Currency::NorthKoreanWon => Ok(iso_currency::Currency::KPW),
1016 Currency::Won => Ok(iso_currency::Currency::KRW),
1017 Currency::KuwaitiDinar => Ok(iso_currency::Currency::KWD),
1018 Currency::CaymanIslandsDollar => Ok(iso_currency::Currency::KYD),
1019 Currency::Tenge => Ok(iso_currency::Currency::KZT),
1020 Currency::LaoKip => Ok(iso_currency::Currency::LAK),
1021 Currency::LebanesePound => Ok(iso_currency::Currency::LBP),
1022 Currency::SriLankaRupee => Ok(iso_currency::Currency::LKR),
1023 Currency::LiberianDollar => Ok(iso_currency::Currency::LRD),
1024 Currency::Loti => Ok(iso_currency::Currency::LSL),
1025 Currency::LibyanDinar => Ok(iso_currency::Currency::LYD),
1026 Currency::MoroccanDirham => Ok(iso_currency::Currency::MAD),
1027 Currency::MoldovanLeu => Ok(iso_currency::Currency::MDL),
1028 Currency::MalagasyAriary => Ok(iso_currency::Currency::MGA),
1029 Currency::Denar => Ok(iso_currency::Currency::MKD),
1030 Currency::Kyat => Ok(iso_currency::Currency::MMK),
1031 Currency::Tugrik => Ok(iso_currency::Currency::MNT),
1032 Currency::Pataca => Ok(iso_currency::Currency::MOP),
1033 Currency::Ouguiya => Ok(iso_currency::Currency::MRU),
1034 Currency::MauritiusRupee => Ok(iso_currency::Currency::MUR),
1035 Currency::Rufiyaa => Ok(iso_currency::Currency::MVR),
1036 Currency::MalawiKwacha => Ok(iso_currency::Currency::MWK),
1037 Currency::MexicanPeso => Ok(iso_currency::Currency::MXN),
1038 Currency::MexicanUnidadDeInversionUdi => Ok(iso_currency::Currency::MXV),
1039 Currency::MalaysianRinggit => Ok(iso_currency::Currency::MYR),
1040 Currency::MozambiqueMetical => Ok(iso_currency::Currency::MZN),
1041 Currency::NamibiaDollar => Ok(iso_currency::Currency::NAD),
1042 Currency::Naira => Ok(iso_currency::Currency::NGN),
1043 Currency::CordobaOro => Ok(iso_currency::Currency::NIO),
1044 Currency::NorwegianKrone => Ok(iso_currency::Currency::NOK),
1045 Currency::NepaleseRupee => Ok(iso_currency::Currency::NPR),
1046 Currency::NewZealandDollar => Ok(iso_currency::Currency::NZD),
1047 Currency::RialOmani => Ok(iso_currency::Currency::OMR),
1048 Currency::Balboa => Ok(iso_currency::Currency::PAB),
1049 Currency::Sol => Ok(iso_currency::Currency::PEN),
1050 Currency::Kina => Ok(iso_currency::Currency::PGK),
1051 Currency::PhilippinePeso => Ok(iso_currency::Currency::PHP),
1052 Currency::PakistanRupee => Ok(iso_currency::Currency::PKR),
1053 Currency::Zloty => Ok(iso_currency::Currency::PLN),
1054 Currency::Guarani => Ok(iso_currency::Currency::PYG),
1055 Currency::QatariRial => Ok(iso_currency::Currency::QAR),
1056 Currency::RomanianLeu => Ok(iso_currency::Currency::RON),
1057 Currency::SerbianDinar => Ok(iso_currency::Currency::RSD),
1058 Currency::RussianRuble => Ok(iso_currency::Currency::RUB),
1059 Currency::RwandaFranc => Ok(iso_currency::Currency::RWF),
1060 Currency::SaudiRiyal => Ok(iso_currency::Currency::SAR),
1061 Currency::SolomonIslandsDollar => Ok(iso_currency::Currency::SBD),
1062 Currency::SeychellesRupee => Ok(iso_currency::Currency::SCR),
1063 Currency::SudanesePound => Ok(iso_currency::Currency::SDG),
1064 Currency::SwedishKrona => Ok(iso_currency::Currency::SEK),
1065 Currency::SingaporeDollar => Ok(iso_currency::Currency::SGD),
1066 Currency::SaintHelenaPound => Ok(iso_currency::Currency::SHP),
1067 Currency::SierraLeoneNewValuation2022 => Ok(iso_currency::Currency::SLE),
1068 Currency::SomaliShilling => Ok(iso_currency::Currency::SOS),
1069 Currency::SurinamDollar => Ok(iso_currency::Currency::SRD),
1070 Currency::SouthSudanesePound => Ok(iso_currency::Currency::SSP),
1071 Currency::Dobra => Ok(iso_currency::Currency::STN),
1072 Currency::ElSalvadorColon => Ok(iso_currency::Currency::SVC),
1073 Currency::SyrianPound => Ok(iso_currency::Currency::SYP),
1074 Currency::Lilangeni => Ok(iso_currency::Currency::SZL),
1075 Currency::Baht => Ok(iso_currency::Currency::THB),
1076 Currency::Somoni => Ok(iso_currency::Currency::TJS),
1077 Currency::TurkmenistanNewManat => Ok(iso_currency::Currency::TMT),
1078 Currency::TunisianDinar => Ok(iso_currency::Currency::TND),
1079 Currency::PaAnga => Ok(iso_currency::Currency::TOP),
1080 Currency::TurkishLira => Ok(iso_currency::Currency::TRY),
1081 Currency::TrinidadAndTobagoDollar => Ok(iso_currency::Currency::TTD),
1082 Currency::NewTaiwanDollar => Ok(iso_currency::Currency::TWD),
1083 Currency::TanzanianShilling => Ok(iso_currency::Currency::TZS),
1084 Currency::Hryvnia => Ok(iso_currency::Currency::UAH),
1085 Currency::UgandaShilling => Ok(iso_currency::Currency::UGX),
1086 Currency::UsDollar => Ok(iso_currency::Currency::USD),
1087 Currency::UsDollarNextDay => Ok(iso_currency::Currency::USN),
1088 Currency::UruguayPesoEnUnidadesIndexadasUi => Ok(iso_currency::Currency::UYI),
1089 Currency::PesoUruguayo => Ok(iso_currency::Currency::UYU),
1090 Currency::UnidadPrevisional => Ok(iso_currency::Currency::UYW),
1091 Currency::UzbekistanSum => Ok(iso_currency::Currency::UZS),
1092 Currency::BolívarSoberanoNewValuation => Ok(iso_currency::Currency::VED),
1093 Currency::BolívarSoberano => Ok(iso_currency::Currency::VES),
1094 Currency::Dong => Ok(iso_currency::Currency::VND),
1095 Currency::Vatu => Ok(iso_currency::Currency::VUV),
1096 Currency::Tala => Ok(iso_currency::Currency::WST),
1097 Currency::CfaFrancBeac => Ok(iso_currency::Currency::XAF),
1098 Currency::Silver => Ok(iso_currency::Currency::XAG),
1099 Currency::Gold => Ok(iso_currency::Currency::XAU),
1100 Currency::BondMarketsUnitEuropeanCompositeUnitEurco => Ok(iso_currency::Currency::XBA),
1101 Currency::BondMarketsUnitEuropeanMonetaryUnitEMU6 => Ok(iso_currency::Currency::XBB),
1102 Currency::BondMarketsUnitEuropeanUnitAccount9EUA9 => Ok(iso_currency::Currency::XBC),
1103 Currency::BondMarketsUnitEuropeanUnitAccount17EUA17 => Ok(iso_currency::Currency::XBD),
1104 Currency::EastCaribbeanDollar => Ok(iso_currency::Currency::XCD),
1105 Currency::SdrSpecialDrawingRight => Ok(iso_currency::Currency::XDR),
1106 Currency::CfaFrancBceao => Ok(iso_currency::Currency::XOF),
1107 Currency::Palladium => Ok(iso_currency::Currency::XPD),
1108 Currency::CfpFranc => Ok(iso_currency::Currency::XPF),
1109 Currency::Platinum => Ok(iso_currency::Currency::XPT),
1110 Currency::Sucre => Ok(iso_currency::Currency::XSU),
1111 Currency::CodesSpecificallyReservedForTestingPurposes => {
1112 Ok(iso_currency::Currency::XTS)
1113 }
1114 Currency::AdbUnitAccount => Ok(iso_currency::Currency::XUA),
1115 Currency::TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved => {
1116 Ok(iso_currency::Currency::XXX)
1117 }
1118 Currency::YemeniRial => Ok(iso_currency::Currency::YER),
1119 Currency::Rand => Ok(iso_currency::Currency::ZAR),
1120 Currency::ZambianKwacha => Ok(iso_currency::Currency::ZMW),
1121 Currency::ZimbabweGold => Ok(iso_currency::Currency::ZWG),
1122 Currency::NetherlandsAntilleanGuilder => {
1123 Err(ErrFromCurrency::NetherlandsAntilleanGuilder)
1124 }
1125 }
1126 }
1127}
1128
1129#[cfg(feature = "iso_currency")]
1130#[derive(Debug, PartialEq, Eq, Hash)]
1132pub enum ErrFromCurrency {
1133 NetherlandsAntilleanGuilder,
1134}
1135
1136#[cfg(feature = "iso_currency")]
1137impl std::fmt::Display for ErrFromCurrency {
1138 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1139 match self {
1140 ErrFromCurrency::NetherlandsAntilleanGuilder => write!(
1141 f,
1142 "NetherlandsAntilleanGuilder has no corresponding value in iso_currency::Currency"
1143 ),
1144 }
1145 }
1146}
1147
1148#[cfg(feature = "iso_currency")]
1149impl std::error::Error for ErrFromCurrency {}
1150
1151#[cfg(feature = "iso_currency")]
1152impl std::convert::TryFrom<iso_currency::Currency> for Currency {
1153 type Error = ErrFromIsoCurrencyCurrency;
1154 fn try_from(value: iso_currency::Currency) -> Result<Currency, Self::Error> {
1155 match value {
1156 iso_currency::Currency::AED => Ok(Currency::UaeDirham),
1157 iso_currency::Currency::AFN => Ok(Currency::Afghani),
1158 iso_currency::Currency::ALL => Ok(Currency::Lek),
1159 iso_currency::Currency::AMD => Ok(Currency::ArmenianDram),
1160 iso_currency::Currency::AOA => Ok(Currency::Kwanza),
1161 iso_currency::Currency::ARS => Ok(Currency::ArgentinePeso),
1162 iso_currency::Currency::AUD => Ok(Currency::AustralianDollar),
1163 iso_currency::Currency::AWG => Ok(Currency::ArubanFlorin),
1164 iso_currency::Currency::AZN => Ok(Currency::AzerbaijanManat),
1165 iso_currency::Currency::BAM => Ok(Currency::ConvertibleMark),
1166 iso_currency::Currency::BBD => Ok(Currency::BarbadosDollar),
1167 iso_currency::Currency::BDT => Ok(Currency::Taka),
1168 iso_currency::Currency::BGN => Ok(Currency::BulgarianLev),
1169 iso_currency::Currency::BHD => Ok(Currency::BahrainiDinar),
1170 iso_currency::Currency::BIF => Ok(Currency::BurundiFranc),
1171 iso_currency::Currency::BMD => Ok(Currency::BermudianDollar),
1172 iso_currency::Currency::BND => Ok(Currency::BruneiDollar),
1173 iso_currency::Currency::BOB => Ok(Currency::Boliviano),
1174 iso_currency::Currency::BOV => Ok(Currency::Mvdol),
1175 iso_currency::Currency::BRL => Ok(Currency::BrazilianReal),
1176 iso_currency::Currency::BSD => Ok(Currency::BahamianDollar),
1177 iso_currency::Currency::BTN => Ok(Currency::Ngultrum),
1178 iso_currency::Currency::BWP => Ok(Currency::Pula),
1179 iso_currency::Currency::BYN => Ok(Currency::BelarusianRuble),
1180 iso_currency::Currency::BZD => Ok(Currency::BelizeDollar),
1181 iso_currency::Currency::CAD => Ok(Currency::CanadianDollar),
1182 iso_currency::Currency::CDF => Ok(Currency::CongoleseFranc),
1183 iso_currency::Currency::CHE => Ok(Currency::WirEuro),
1184 iso_currency::Currency::CHF => Ok(Currency::SwissFranc),
1185 iso_currency::Currency::CHW => Ok(Currency::WirFranc),
1186 iso_currency::Currency::CLF => Ok(Currency::UnidadDeFomento),
1187 iso_currency::Currency::CLP => Ok(Currency::ChileanPeso),
1188 iso_currency::Currency::CNY => Ok(Currency::YuanRenminbi),
1189 iso_currency::Currency::COP => Ok(Currency::ColombianPeso),
1190 iso_currency::Currency::COU => Ok(Currency::UnidadDeValorReal),
1191 iso_currency::Currency::CRC => Ok(Currency::CostaRicanColon),
1192 iso_currency::Currency::CUP => Ok(Currency::CubanPeso),
1193 iso_currency::Currency::CVE => Ok(Currency::CaboVerdeEscudo),
1194 iso_currency::Currency::CZK => Ok(Currency::CzechKoruna),
1195 iso_currency::Currency::DJF => Ok(Currency::DjiboutiFranc),
1196 iso_currency::Currency::DKK => Ok(Currency::DanishKrone),
1197 iso_currency::Currency::DOP => Ok(Currency::DominicanPeso),
1198 iso_currency::Currency::DZD => Ok(Currency::AlgerianDinar),
1199 iso_currency::Currency::EGP => Ok(Currency::EgyptianPound),
1200 iso_currency::Currency::ERN => Ok(Currency::Nakfa),
1201 iso_currency::Currency::ETB => Ok(Currency::EthiopianBirr),
1202 iso_currency::Currency::EUR => Ok(Currency::Euro),
1203 iso_currency::Currency::FJD => Ok(Currency::FijiDollar),
1204 iso_currency::Currency::FKP => Ok(Currency::FalklandIslandsPound),
1205 iso_currency::Currency::GBP => Ok(Currency::PoundSterling),
1206 iso_currency::Currency::GEL => Ok(Currency::Lari),
1207 iso_currency::Currency::GHS => Ok(Currency::GhanaCedi),
1208 iso_currency::Currency::GIP => Ok(Currency::GibraltarPound),
1209 iso_currency::Currency::GMD => Ok(Currency::Dalasi),
1210 iso_currency::Currency::GNF => Ok(Currency::GuineanFranc),
1211 iso_currency::Currency::GTQ => Ok(Currency::Quetzal),
1212 iso_currency::Currency::GYD => Ok(Currency::GuyanaDollar),
1213 iso_currency::Currency::HKD => Ok(Currency::HongKongDollar),
1214 iso_currency::Currency::HNL => Ok(Currency::Lempira),
1215 iso_currency::Currency::HTG => Ok(Currency::Gourde),
1216 iso_currency::Currency::HUF => Ok(Currency::Forint),
1217 iso_currency::Currency::IDR => Ok(Currency::Rupiah),
1218 iso_currency::Currency::ILS => Ok(Currency::NewIsraeliSheqel),
1219 iso_currency::Currency::INR => Ok(Currency::IndianRupee),
1220 iso_currency::Currency::IQD => Ok(Currency::IraqiDinar),
1221 iso_currency::Currency::IRR => Ok(Currency::IranianRial),
1222 iso_currency::Currency::ISK => Ok(Currency::IcelandKrona),
1223 iso_currency::Currency::JMD => Ok(Currency::JamaicanDollar),
1224 iso_currency::Currency::JOD => Ok(Currency::JordanianDinar),
1225 iso_currency::Currency::JPY => Ok(Currency::Yen),
1226 iso_currency::Currency::KES => Ok(Currency::KenyanShilling),
1227 iso_currency::Currency::KGS => Ok(Currency::Som),
1228 iso_currency::Currency::KHR => Ok(Currency::Riel),
1229 iso_currency::Currency::KMF => Ok(Currency::ComorianFranc),
1230 iso_currency::Currency::KPW => Ok(Currency::NorthKoreanWon),
1231 iso_currency::Currency::KRW => Ok(Currency::Won),
1232 iso_currency::Currency::KWD => Ok(Currency::KuwaitiDinar),
1233 iso_currency::Currency::KYD => Ok(Currency::CaymanIslandsDollar),
1234 iso_currency::Currency::KZT => Ok(Currency::Tenge),
1235 iso_currency::Currency::LAK => Ok(Currency::LaoKip),
1236 iso_currency::Currency::LBP => Ok(Currency::LebanesePound),
1237 iso_currency::Currency::LKR => Ok(Currency::SriLankaRupee),
1238 iso_currency::Currency::LRD => Ok(Currency::LiberianDollar),
1239 iso_currency::Currency::LSL => Ok(Currency::Loti),
1240 iso_currency::Currency::LYD => Ok(Currency::LibyanDinar),
1241 iso_currency::Currency::MAD => Ok(Currency::MoroccanDirham),
1242 iso_currency::Currency::MDL => Ok(Currency::MoldovanLeu),
1243 iso_currency::Currency::MGA => Ok(Currency::MalagasyAriary),
1244 iso_currency::Currency::MKD => Ok(Currency::Denar),
1245 iso_currency::Currency::MMK => Ok(Currency::Kyat),
1246 iso_currency::Currency::MNT => Ok(Currency::Tugrik),
1247 iso_currency::Currency::MOP => Ok(Currency::Pataca),
1248 iso_currency::Currency::MRU => Ok(Currency::Ouguiya),
1249 iso_currency::Currency::MUR => Ok(Currency::MauritiusRupee),
1250 iso_currency::Currency::MVR => Ok(Currency::Rufiyaa),
1251 iso_currency::Currency::MWK => Ok(Currency::MalawiKwacha),
1252 iso_currency::Currency::MXN => Ok(Currency::MexicanPeso),
1253 iso_currency::Currency::MXV => Ok(Currency::MexicanUnidadDeInversionUdi),
1254 iso_currency::Currency::MYR => Ok(Currency::MalaysianRinggit),
1255 iso_currency::Currency::MZN => Ok(Currency::MozambiqueMetical),
1256 iso_currency::Currency::NAD => Ok(Currency::NamibiaDollar),
1257 iso_currency::Currency::NGN => Ok(Currency::Naira),
1258 iso_currency::Currency::NIO => Ok(Currency::CordobaOro),
1259 iso_currency::Currency::NOK => Ok(Currency::NorwegianKrone),
1260 iso_currency::Currency::NPR => Ok(Currency::NepaleseRupee),
1261 iso_currency::Currency::NZD => Ok(Currency::NewZealandDollar),
1262 iso_currency::Currency::OMR => Ok(Currency::RialOmani),
1263 iso_currency::Currency::PAB => Ok(Currency::Balboa),
1264 iso_currency::Currency::PEN => Ok(Currency::Sol),
1265 iso_currency::Currency::PGK => Ok(Currency::Kina),
1266 iso_currency::Currency::PHP => Ok(Currency::PhilippinePeso),
1267 iso_currency::Currency::PKR => Ok(Currency::PakistanRupee),
1268 iso_currency::Currency::PLN => Ok(Currency::Zloty),
1269 iso_currency::Currency::PYG => Ok(Currency::Guarani),
1270 iso_currency::Currency::QAR => Ok(Currency::QatariRial),
1271 iso_currency::Currency::RON => Ok(Currency::RomanianLeu),
1272 iso_currency::Currency::RSD => Ok(Currency::SerbianDinar),
1273 iso_currency::Currency::RUB => Ok(Currency::RussianRuble),
1274 iso_currency::Currency::RWF => Ok(Currency::RwandaFranc),
1275 iso_currency::Currency::SAR => Ok(Currency::SaudiRiyal),
1276 iso_currency::Currency::SBD => Ok(Currency::SolomonIslandsDollar),
1277 iso_currency::Currency::SCR => Ok(Currency::SeychellesRupee),
1278 iso_currency::Currency::SDG => Ok(Currency::SudanesePound),
1279 iso_currency::Currency::SEK => Ok(Currency::SwedishKrona),
1280 iso_currency::Currency::SGD => Ok(Currency::SingaporeDollar),
1281 iso_currency::Currency::SHP => Ok(Currency::SaintHelenaPound),
1282 iso_currency::Currency::SLE => Ok(Currency::SierraLeoneNewValuation2022),
1283 iso_currency::Currency::SOS => Ok(Currency::SomaliShilling),
1284 iso_currency::Currency::SRD => Ok(Currency::SurinamDollar),
1285 iso_currency::Currency::SSP => Ok(Currency::SouthSudanesePound),
1286 iso_currency::Currency::STN => Ok(Currency::Dobra),
1287 iso_currency::Currency::SVC => Ok(Currency::ElSalvadorColon),
1288 iso_currency::Currency::SYP => Ok(Currency::SyrianPound),
1289 iso_currency::Currency::SZL => Ok(Currency::Lilangeni),
1290 iso_currency::Currency::THB => Ok(Currency::Baht),
1291 iso_currency::Currency::TJS => Ok(Currency::Somoni),
1292 iso_currency::Currency::TMT => Ok(Currency::TurkmenistanNewManat),
1293 iso_currency::Currency::TND => Ok(Currency::TunisianDinar),
1294 iso_currency::Currency::TOP => Ok(Currency::PaAnga),
1295 iso_currency::Currency::TRY => Ok(Currency::TurkishLira),
1296 iso_currency::Currency::TTD => Ok(Currency::TrinidadAndTobagoDollar),
1297 iso_currency::Currency::TWD => Ok(Currency::NewTaiwanDollar),
1298 iso_currency::Currency::TZS => Ok(Currency::TanzanianShilling),
1299 iso_currency::Currency::UAH => Ok(Currency::Hryvnia),
1300 iso_currency::Currency::UGX => Ok(Currency::UgandaShilling),
1301 iso_currency::Currency::USD => Ok(Currency::UsDollar),
1302 iso_currency::Currency::USN => Ok(Currency::UsDollarNextDay),
1303 iso_currency::Currency::UYI => Ok(Currency::UruguayPesoEnUnidadesIndexadasUi),
1304 iso_currency::Currency::UYU => Ok(Currency::PesoUruguayo),
1305 iso_currency::Currency::UYW => Ok(Currency::UnidadPrevisional),
1306 iso_currency::Currency::UZS => Ok(Currency::UzbekistanSum),
1307 iso_currency::Currency::VED => Ok(Currency::BolívarSoberanoNewValuation),
1308 iso_currency::Currency::VES => Ok(Currency::BolívarSoberano),
1309 iso_currency::Currency::VND => Ok(Currency::Dong),
1310 iso_currency::Currency::VUV => Ok(Currency::Vatu),
1311 iso_currency::Currency::WST => Ok(Currency::Tala),
1312 iso_currency::Currency::XAF => Ok(Currency::CfaFrancBeac),
1313 iso_currency::Currency::XAG => Ok(Currency::Silver),
1314 iso_currency::Currency::XAU => Ok(Currency::Gold),
1315 iso_currency::Currency::XBA => Ok(Currency::BondMarketsUnitEuropeanCompositeUnitEurco),
1316 iso_currency::Currency::XBB => Ok(Currency::BondMarketsUnitEuropeanMonetaryUnitEMU6),
1317 iso_currency::Currency::XBC => Ok(Currency::BondMarketsUnitEuropeanUnitAccount9EUA9),
1318 iso_currency::Currency::XBD => Ok(Currency::BondMarketsUnitEuropeanUnitAccount17EUA17),
1319 iso_currency::Currency::XCD => Ok(Currency::EastCaribbeanDollar),
1320 iso_currency::Currency::XDR => Ok(Currency::SdrSpecialDrawingRight),
1321 iso_currency::Currency::XOF => Ok(Currency::CfaFrancBceao),
1322 iso_currency::Currency::XPD => Ok(Currency::Palladium),
1323 iso_currency::Currency::XPF => Ok(Currency::CfpFranc),
1324 iso_currency::Currency::XPT => Ok(Currency::Platinum),
1325 iso_currency::Currency::XSU => Ok(Currency::Sucre),
1326 iso_currency::Currency::XTS => {
1327 Ok(Currency::CodesSpecificallyReservedForTestingPurposes)
1328 }
1329 iso_currency::Currency::XUA => Ok(Currency::AdbUnitAccount),
1330 iso_currency::Currency::XXX => {
1331 Ok(Currency::TheCodesAssignedForTransactionsWhereNoCurrencyIsInvolved)
1332 }
1333 iso_currency::Currency::YER => Ok(Currency::YemeniRial),
1334 iso_currency::Currency::ZAR => Ok(Currency::Rand),
1335 iso_currency::Currency::ZMW => Ok(Currency::ZambianKwacha),
1336 iso_currency::Currency::ZWG => Ok(Currency::ZimbabweGold),
1337 iso_currency::Currency::XCG => Err(ErrFromIsoCurrencyCurrency::XCG),
1338 iso_currency::Currency::CUC => Err(ErrFromIsoCurrencyCurrency::CUC),
1339 iso_currency::Currency::HRK => Err(ErrFromIsoCurrencyCurrency::HRK),
1340 iso_currency::Currency::SLL => Err(ErrFromIsoCurrencyCurrency::SLL),
1341 iso_currency::Currency::ZWL => Err(ErrFromIsoCurrencyCurrency::ZWL),
1342 }
1343 }
1344}
1345
1346#[cfg(feature = "iso_currency")]
1347#[derive(Debug, PartialEq, Eq, Hash)]
1349pub enum ErrFromIsoCurrencyCurrency {
1350 XCG,
1351 CUC,
1352 HRK,
1353 SLL,
1354 ZWL,
1355}
1356
1357#[cfg(feature = "iso_currency")]
1358impl std::fmt::Display for ErrFromIsoCurrencyCurrency {
1359 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1360 match self {
1361 ErrFromIsoCurrencyCurrency::XCG => {
1362 write!(f, "XCG has no corresponding value in Currency")
1363 }
1364 ErrFromIsoCurrencyCurrency::CUC => {
1365 write!(f, "CUC has no corresponding value in Currency")
1366 }
1367 ErrFromIsoCurrencyCurrency::HRK => {
1368 write!(f, "HRK has no corresponding value in Currency")
1369 }
1370 ErrFromIsoCurrencyCurrency::SLL => {
1371 write!(f, "SLL has no corresponding value in Currency")
1372 }
1373 ErrFromIsoCurrencyCurrency::ZWL => {
1374 write!(f, "ZWL has no corresponding value in Currency")
1375 }
1376 }
1377 }
1378}
1379
1380#[cfg(feature = "iso_currency")]
1381impl std::error::Error for ErrFromIsoCurrencyCurrency {}