Make Currency and CountryCode ISO compatible and add docs

This commit is contained in:
Waffle 2021-01-13 16:08:05 +03:00
parent 555bfc93d5
commit 7852379852
2 changed files with 525 additions and 0 deletions

View file

@ -1,254 +1,504 @@
use serde::{Deserialize, Serialize};
/// ISO 3166-1 alpha-2 language code.
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
pub enum CountryCode {
/// Andorra
AD,
/// United Arab Emirates
AE,
/// Afghanistan
AF,
/// Antigua and Barbuda
AG,
/// Anguilla
AI,
/// Albania
AL,
/// Armenia
AM,
/// Angola
AO,
/// Antarctica
AQ,
/// Argentina
AR,
/// American Samoa
AS,
/// Austria
AT,
/// Australia
AU,
/// Aruba
AW,
/// Åland Islands
AX,
/// Azerbaijan
AZ,
/// Bosnia and Herzegovina
BA,
/// Barbados
BB,
/// Bangladesh
BD,
/// Belgium
BE,
/// Burkina Faso
BF,
/// Bulgaria
BG,
/// Bahrain
BH,
/// Burundi
BI,
/// Benin
BJ,
/// Saint Barthélemy
BL,
/// Bermuda
BM,
/// Brunei Darussalam
BN,
/// Bolivia (Plurinational State of)
BO,
/// Bonaire, Sint Eustatius and Saba
BQ,
/// Brazil
BR,
/// Bahamas
BS,
/// Bhutan
BT,
/// Bouvet Island
BV,
/// Botswana
BW,
/// Belarus
BY,
/// Belize
BZ,
/// Canada
CA,
/// Cocos (Keeling) Islands
CC,
/// Congo, Democratic Republic of the
CD,
/// Central African Republic
CF,
/// Congo
CG,
/// Switzerland
CH,
/// Côte d'Ivoire
CI,
/// Cook Islands
CK,
/// Chile
CL,
/// Cameroon
CM,
/// China
CN,
/// Colombia
CO,
/// Costa Rica
CR,
/// Cuba
CU,
/// Cabo Verde
CV,
/// Curaçao
CW,
/// Christmas Island
CX,
/// Cyprus
CY,
/// Czechia
CZ,
/// Germany
DE,
/// Djibouti
DJ,
/// Denmark
DK,
/// Dominica
DM,
/// Dominican Republic
DO,
/// Algeria
DZ,
/// Ecuador
EC,
/// Estonia
EE,
/// Egypt
EG,
/// Western Sahara
EH,
/// Eritrea
ER,
/// Spain
ES,
/// Ethiopia
ET,
/// Finland
FI,
/// Fiji
FJ,
/// Falkland Islands (Malvinas)
FK,
/// Micronesia (Federated States of)
FM,
/// Faroe Islands
FO,
/// France
FR,
/// Gabon
GA,
/// United Kingdom of Great Britain and Northern Ireland
GB,
/// Grenada
GD,
/// Georgia
GE,
/// French Guiana
GF,
/// Guernsey
GG,
/// Ghana
GH,
/// Gibraltar
GI,
/// Greenland
GL,
/// Gambia
GM,
/// Guinea
GN,
/// Guadeloupe
GP,
/// Equatorial Guinea
GQ,
/// Greece
GR,
/// South Georgia and the South Sandwich Islands
GS,
/// Guatemala
GT,
/// Guam
GU,
/// Guinea-Bissau
GW,
/// Guyana
GY,
/// Hong Kong
HK,
/// Heard Island and McDonald Islands
HM,
/// Honduras
HN,
/// Croatia
HR,
/// Haiti
HT,
/// Hungary
HU,
/// Indonesia
ID,
/// Ireland
IE,
/// Israel
IL,
/// Isle of Man
IM,
/// India
IN,
/// British Indian Ocean Territory
IO,
/// Iraq
IQ,
/// Iran (Islamic Republic of)
IR,
/// Iceland
IS,
/// Italy
IT,
/// Jersey
JE,
/// Jamaica
JM,
/// Jordan
JO,
/// Japan
JP,
/// Kenya
KE,
/// Kyrgyzstan
KG,
/// Cambodia
KH,
/// Kiribati
KI,
/// Comoros
KM,
/// Saint Kitts and Nevis
KN,
/// Korea (Democratic People's Republic of)
KP,
/// Korea, Republic of
KR,
/// Kuwait
KW,
/// Cayman Islands
KY,
/// Kazakhstan
KZ,
/// Lao People's Democratic Republic
LA,
/// Lebanon
LB,
/// Saint Lucia
LC,
/// Liechtenstein
LI,
/// Sri Lanka
LK,
/// Liberia
LR,
/// Lesotho
LS,
/// Lithuania
LT,
/// Luxembourg
LU,
/// Latvia
LV,
/// Libya
LY,
/// Morocco
MA,
/// Monaco
MC,
/// Moldova, Republic of
MD,
/// Montenegro
ME,
/// Saint Martin (French part)
MF,
/// Madagascar
MG,
/// Marshall Islands
MH,
/// North Macedonia
MK,
/// Mali
ML,
/// Myanmar
MM,
/// Mongolia
MN,
/// Macao
MO,
/// Northern Mariana Islands
MP,
/// Martinique
MQ,
/// Mauritania
MR,
/// Montserrat
MS,
/// Malta
MT,
/// Mauritius
MU,
/// Maldives
MV,
/// Malawi
MW,
/// Mexico
MX,
/// Malaysia
MY,
/// Mozambique
MZ,
/// Namibia
NA,
/// New Caledonia
NC,
/// Niger
NE,
/// Norfolk Island
NF,
/// Nigeria
NG,
/// Nicaragua
NI,
/// Netherlands
NL,
/// Norway
NO,
/// Nepal
NP,
/// Nauru
NR,
/// Niue
NU,
/// New Zealand
NZ,
/// Oman
OM,
/// Panama
PA,
/// Peru
PE,
/// French Polynesia
PF,
/// Papua New Guinea
PG,
/// Philippines
PH,
/// Pakistan
PK,
/// Poland
PL,
/// Saint Pierre and Miquelon
PM,
/// Pitcairn
PN,
/// Puerto Rico
PR,
/// Palestine, State of
PS,
/// Portugal
PT,
/// Palau
PW,
/// Paraguay
PY,
/// Qatar
QA,
/// Réunion
RE,
/// Romania
RO,
/// Serbia
RS,
/// Russian Federation
RU,
/// Rwanda
RW,
/// Saudi Arabia
SA,
/// Solomon Islands
SB,
/// Seychelles
SC,
/// Sudan
SD,
/// Sweden
SE,
/// Singapore
SG,
/// Saint Helena, Ascension and Tristan da Cunha
SH,
/// Slovenia
SI,
/// Svalbard and Jan Mayen
SJ,
/// Slovakia
SK,
/// Sierra Leone
SL,
/// San Marino
SM,
/// Senegal
SN,
/// Somalia
SO,
/// Suriname
SR,
/// South Sudan
SS,
/// Sao Tome and Principe
ST,
/// El Salvador
SV,
/// Sint Maarten (Dutch part)
SX,
/// Syrian Arab Republic
SY,
/// Eswatini
SZ,
/// Turks and Caicos Islands
TC,
/// Chad
TD,
/// French Southern Territories
TF,
/// Togo
TG,
/// Thailand
TH,
/// Tajikistan
TJ,
/// Tokelau
TK,
/// Timor-Leste
TL,
/// Turkmenistan
TM,
/// Tunisia
TN,
/// Tonga
TO,
/// Turkey
TR,
/// Trinidad and Tobago
TT,
/// Tuvalu
TV,
/// Taiwan, Province of China
TW,
/// Tanzania, United Republic of
TZ,
/// Ukraine
UA,
/// Uganda
UG,
/// United States Minor Outlying Islands
UM,
/// United States of America
US,
/// Uruguay
UY,
/// Uzbekistan
UZ,
/// Holy See
VA,
/// Saint Vincent and the Grenadines
VC,
/// Venezuela (Bolivarian Republic of)
VE,
/// Virgin Islands (British)
VG,
/// Virgin Islands (U.S.)
VI,
/// Viet Nam
VN,
/// Vanuatu
VU,
/// Wallis and Futuna
WF,
/// Samoa
WS,
/// Yemen
YE,
/// Mayotte
YT,
/// South Africa
ZA,
/// Zambia
ZM,
/// Zimbabwe
ZW,
}

View file

@ -1,89 +1,364 @@
use serde::{Deserialize, Serialize};
/// ISO 4217 currency.
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
pub enum Currency {
/// United Arab Emirates dirham
AED,
/// Afghan afghani
AFN,
/// Albanian lek
ALL,
/// Armenian dram
AMD,
/// Netherlands Antillean guilder
ANG,
/// Angolan kwanza
AOA,
/// Argentine peso
ARS,
/// Australian dollar
AUD,
/// Aruban florin
AWG,
/// Azerbaijani manat
AZN,
/// Bosnia and Herzegovina convertible mark
BAM,
/// Barbados dollar
BBD,
/// Bangladeshi taka
BDT,
/// Bulgarian lev
BGN,
/// Bahraini dinar
BHD,
/// Burundian franc
BIF,
/// Bermudian dollar
BMD,
/// Brunei dollar
BND,
/// Boliviano
BOB,
/// Bolivian Mvdol (funds code)
BOV,
/// Brazilian real
BRL,
/// Bahamian dollar
BSD,
/// Bhutanese ngultrum
BTN,
/// Botswana pula
BWP,
/// Belarusian ruble
BYN,
/// Belize dollar
BZD,
/// Canadian dollar
CAD,
/// Congolese franc
CDF,
/// WIR euro (complementary currency)
CHE,
/// Swiss franc
CHF,
/// WIR franc (complementary currency)
CHW,
/// Unidad de Fomento (funds code)
CLF,
/// Chilean peso
CLP,
/// Chinese yuan
CNY,
/// Colombian peso
COP,
/// Unidad de Valor Real (UVR) (funds code)
COU,
/// Costa Rican colon
CRC,
/// Cuban convertible peso
CUC,
/// Cuban peso
CUP,
/// Cape Verdean escudo
CVE,
/// Czech koruna
CZK,
/// Djiboutian franc
DJF,
/// Danish krone
DKK,
/// Dominican peso
DOP,
/// Algerian dinar
DZD,
/// Egyptian pound
EGP,
/// Eritrean nakfa
ERN,
/// Ethiopian birr
ETB,
/// Euro
EUR,
/// Fiji dollar
FJD,
/// Falkland Islands pound
FKP,
/// Pound sterling
GBP,
/// Georgian lari
GEL,
/// Ghanaian cedi
GHS,
/// Gibraltar pound
GIP,
/// Gambian dalasi
GMD,
/// Guinean franc
GNF,
/// Guatemalan quetzal
GTQ,
/// Guyanese dollar
GYD,
/// Hong Kong dollar
HKD,
/// Honduran lempira
HNL,
/// Croatian kuna
HRK,
/// Haitian gourde
HTG,
/// Hungarian forint
HUF,
/// Indonesian rupiah
IDR,
/// Israeli new shekel
ILS,
/// Indian rupee
INR,
/// Iraqi dinar
IQD,
/// Iranian rial
IRR,
/// Icelandic króna
ISK,
/// Jamaican dollar
JMD,
/// Jordanian dinar
JOD,
/// Japanese yen
JPY,
/// Kenyan shilling
KES,
/// Kyrgyzstani som
KGS,
/// Cambodian riel
KHR,
/// Comoro franc
KMF,
/// North Korean won
KPW,
/// South Korean won
KRW,
/// Kuwaiti dinar
KWD,
/// Cayman Islands dollar
KYD,
/// Kazakhstani tenge
KZT,
/// Lao kip
LAK,
/// Lebanese pound
LBP,
/// Sri Lankan rupee
LKR,
/// Liberian dollar
LRD,
/// Lesotho loti
LSL,
/// Libyan dinar
LYD,
/// Moroccan dirham
MAD,
/// Moldovan leu
MDL,
/// Malagasy ariary
MGA,
/// Macedonian denar
MKD,
/// Myanmar kyat
MMK,
/// Mongolian tögrög
MNT,
/// Macanese pataca
MOP,
/// Mauritanian ouguiya
MRU,
/// Mauritian rupee
MUR,
/// Maldivian rufiyaa
MVR,
/// Malawian kwacha
MWK,
/// Mexican peso
MXN,
/// Mexican Unidad de Inversion (UDI) (funds code)
MXV,
/// Malaysian ringgit
MYR,
/// Mozambican metical
MZN,
/// Namibian dollar
NAD,
/// Nigerian naira
NGN,
/// Nicaraguan córdoba
NIO,
/// Norwegian krone
NOK,
/// Nepalese rupee
NPR,
/// New Zealand dollar
NZD,
/// Omani rial
OMR,
/// Panamanian balboa
PAB,
/// Peruvian sol
PEN,
/// Papua New Guinean kina
PGK,
/// Philippine peso
PHP,
/// Pakistani rupee
PKR,
/// Polish złoty
PLN,
/// Paraguayan guaraní
PYG,
/// Qatari riyal
QAR,
/// Romanian leu
RON,
/// Serbian dinar
RSD,
/// Russian ruble
RUB,
/// Rwandan franc
RWF,
/// Saudi riyal
SAR,
/// Solomon Islands dollar
SBD,
/// Seychelles rupee
SCR,
/// Sudanese pound
SDG,
/// Swedish krona/kronor
SEK,
/// Singapore dollar
SGD,
/// Saint Helena pound
SHP,
/// Sierra Leonean leone
SLL,
/// Somali shilling
SOS,
/// Surinamese dollar
SRD,
/// South Sudanese pound
SSP,
/// São Tomé and Príncipe dobra
STN,
/// Salvadoran colón
SVC,
/// Syrian pound
SYP,
/// Swazi lilangeni
SZL,
/// Thai baht
THB,
/// Tajikistani somoni
TJS,
/// Turkmenistan manat
TMT,
/// Tunisian dinar
TND,
/// Tongan paʻanga
TOP,
/// Turkish lira
TRY,
/// Trinidad and Tobago dollar
TTD,
/// New Taiwan dollar
TWD,
/// Tanzanian shilling
TZS,
/// Ukrainian hryvnia
UAH,
/// Ugandan shilling
UGX,
/// United States dollar
USD,
/// United States dollar (next day) (funds code)
USN,
/// Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)
UYI,
/// Uruguayan peso
UYU,
/// Unidad previsional
UYW,
/// Uzbekistan som
UZS,
/// Venezuelan bolívar soberano
VES,
/// Vietnamese đồng
VND,
/// Vanuatu vatu
VUV,
/// Samoan tala
WST,
/// CFA franc BEAC
XAF,
/// Silver (one troy ounce)
XAG,
/// Gold (one troy ounce)
XAU,
/// European Composite Unit (EURCO) (bond market unit)
XBA,
/// European Monetary Unit (E.M.U.-6) (bond market unit)
XBB,
/// European Unit of Account 9 (E.U.A.-9) (bond market unit)
XBC,
/// European Unit of Account 17 (E.U.A.-17) (bond market unit)
XBD,
/// East Caribbean dollar
XCD,
/// Special drawing rights
XDR,
/// CFA franc BCEAO
XOF,
/// Palladium (one troy ounce)
XPD,
/// CFP franc (franc Pacifique)
XPF,
/// Platinum (one troy ounce)
XPT,
/// SUCRE
XSU,
/// Code reserved for testing
XTS,
/// ADB Unit of Account
XUA,
/// No currency
XXX,
/// Yemeni rial
YER,
/// South African rand
ZAR,
/// Zambian kwacha
ZMW,
/// Zimbabwean dollar
ZWL,
}