refactor(settings): make the function to deserialize hashsets more generic (#3104)

This commit is contained in:
Sanchith Hegde
2024-01-30 14:25:59 +05:30
committed by GitHub
parent a9638d118e
commit 87191d687c
13 changed files with 391 additions and 252 deletions

View File

@ -391,12 +391,15 @@ pub enum Currency {
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
@ -405,6 +408,7 @@ pub enum Currency {
BRL,
BSD,
BWP,
BYN,
BZD,
CAD,
CHF,
@ -413,6 +417,7 @@ pub enum Currency {
COP,
CRC,
CUP,
CVE,
CZK,
DJF,
DKK,
@ -422,7 +427,9 @@ pub enum Currency {
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
@ -437,6 +444,7 @@ pub enum Currency {
IDR,
ILS,
INR,
IQD,
JMD,
JOD,
JPY,
@ -453,6 +461,7 @@ pub enum Currency {
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
@ -460,11 +469,13 @@ pub enum Currency {
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MYR,
MZN,
NAD,
NGN,
NIO,
@ -472,6 +483,7 @@ pub enum Currency {
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
@ -480,34 +492,47 @@ pub enum Currency {
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SEK,
SGD,
SHP,
SLE,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SZL,
THB,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
#[default]
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XCD,
XOF,
XPF,
YER,
ZAR,
ZMW,
}
impl Currency {
@ -564,12 +589,15 @@ impl Currency {
Self::ALL => "008",
Self::AMD => "051",
Self::ANG => "532",
Self::AOA => "973",
Self::ARS => "032",
Self::AUD => "036",
Self::AWG => "533",
Self::AZN => "944",
Self::BAM => "977",
Self::BBD => "052",
Self::BDT => "050",
Self::BGN => "975",
Self::BHD => "048",
Self::BIF => "108",
Self::BMD => "060",
@ -578,6 +606,7 @@ impl Currency {
Self::BRL => "986",
Self::BSD => "044",
Self::BWP => "072",
Self::BYN => "933",
Self::BZD => "084",
Self::CAD => "124",
Self::CHF => "756",
@ -585,6 +614,7 @@ impl Currency {
Self::COP => "170",
Self::CRC => "188",
Self::CUP => "192",
Self::CVE => "132",
Self::CZK => "203",
Self::DJF => "262",
Self::DKK => "208",
@ -594,7 +624,9 @@ impl Currency {
Self::ETB => "230",
Self::EUR => "978",
Self::FJD => "242",
Self::FKP => "238",
Self::GBP => "826",
Self::GEL => "981",
Self::GHS => "936",
Self::GIP => "292",
Self::GMD => "270",
@ -609,6 +641,7 @@ impl Currency {
Self::IDR => "360",
Self::ILS => "376",
Self::INR => "356",
Self::IQD => "368",
Self::JMD => "388",
Self::JOD => "400",
Self::JPY => "392",
@ -625,6 +658,7 @@ impl Currency {
Self::LKR => "144",
Self::LRD => "430",
Self::LSL => "426",
Self::LYD => "434",
Self::MAD => "504",
Self::MDL => "498",
Self::MGA => "969",
@ -632,11 +666,13 @@ impl Currency {
Self::MMK => "104",
Self::MNT => "496",
Self::MOP => "446",
Self::MRU => "929",
Self::MUR => "480",
Self::MVR => "462",
Self::MWK => "454",
Self::MXN => "484",
Self::MYR => "458",
Self::MZN => "943",
Self::NAD => "516",
Self::NGN => "566",
Self::NIO => "558",
@ -644,6 +680,7 @@ impl Currency {
Self::NPR => "524",
Self::NZD => "554",
Self::OMR => "512",
Self::PAB => "590",
Self::PEN => "604",
Self::PGK => "598",
Self::PHP => "608",
@ -653,33 +690,46 @@ impl Currency {
Self::QAR => "634",
Self::RON => "946",
Self::CNY => "156",
Self::RSD => "941",
Self::RUB => "643",
Self::RWF => "646",
Self::SAR => "682",
Self::SBD => "090",
Self::SCR => "690",
Self::SEK => "752",
Self::SGD => "702",
Self::SHP => "654",
Self::SLE => "925",
Self::SLL => "694",
Self::SOS => "706",
Self::SRD => "968",
Self::SSP => "728",
Self::STN => "930",
Self::SVC => "222",
Self::SZL => "748",
Self::THB => "764",
Self::TND => "788",
Self::TOP => "776",
Self::TRY => "949",
Self::TTD => "780",
Self::TWD => "901",
Self::TZS => "834",
Self::UAH => "980",
Self::UGX => "800",
Self::USD => "840",
Self::UYU => "858",
Self::UZS => "860",
Self::VES => "928",
Self::VND => "704",
Self::VUV => "548",
Self::WST => "882",
Self::XAF => "950",
Self::XCD => "951",
Self::XOF => "952",
Self::XPF => "953",
Self::YER => "886",
Self::ZAR => "710",
Self::ZMW => "967",
}
}
@ -705,12 +755,15 @@ impl Currency {
| Self::ALL
| Self::AMD
| Self::ANG
| Self::AOA
| Self::ARS
| Self::AUD
| Self::AWG
| Self::AZN
| Self::BAM
| Self::BBD
| Self::BDT
| Self::BGN
| Self::BHD
| Self::BMD
| Self::BND
@ -718,6 +771,7 @@ impl Currency {
| Self::BRL
| Self::BSD
| Self::BWP
| Self::BYN
| Self::BZD
| Self::CAD
| Self::CHF
@ -725,6 +779,7 @@ impl Currency {
| Self::COP
| Self::CRC
| Self::CUP
| Self::CVE
| Self::CZK
| Self::DKK
| Self::DOP
@ -733,7 +788,9 @@ impl Currency {
| Self::ETB
| Self::EUR
| Self::FJD
| Self::FKP
| Self::GBP
| Self::GEL
| Self::GHS
| Self::GIP
| Self::GMD
@ -747,6 +804,7 @@ impl Currency {
| Self::IDR
| Self::ILS
| Self::INR
| Self::IQD
| Self::JMD
| Self::JOD
| Self::KES
@ -760,17 +818,20 @@ impl Currency {
| Self::LKR
| Self::LRD
| Self::LSL
| Self::LYD
| Self::MAD
| Self::MDL
| Self::MKD
| Self::MMK
| Self::MNT
| Self::MOP
| Self::MRU
| Self::MUR
| Self::MVR
| Self::MWK
| Self::MXN
| Self::MYR
| Self::MZN
| Self::NAD
| Self::NGN
| Self::NIO
@ -778,6 +839,7 @@ impl Currency {
| Self::NPR
| Self::NZD
| Self::OMR
| Self::PAB
| Self::PEN
| Self::PGK
| Self::PHP
@ -785,42 +847,60 @@ impl Currency {
| Self::PLN
| Self::QAR
| Self::RON
| Self::RSD
| Self::RUB
| Self::SAR
| Self::SBD
| Self::SCR
| Self::SEK
| Self::SGD
| Self::SHP
| Self::SLE
| Self::SLL
| Self::SOS
| Self::SRD
| Self::SSP
| Self::STN
| Self::SVC
| Self::SZL
| Self::THB
| Self::TND
| Self::TOP
| Self::TRY
| Self::TTD
| Self::TWD
| Self::TZS
| Self::UAH
| Self::USD
| Self::UYU
| Self::UZS
| Self::VES
| Self::WST
| Self::XCD
| Self::YER
| Self::ZAR => false,
| Self::ZAR
| Self::ZMW => false,
}
}
pub fn is_three_decimal_currency(self) -> bool {
match self {
Self::BHD | Self::JOD | Self::KWD | Self::OMR => true,
Self::BHD | Self::IQD | Self::JOD | Self::KWD | Self::LYD | Self::OMR | Self::TND => {
true
}
Self::AED
| Self::ALL
| Self::AMD
| Self::AOA
| Self::ANG
| Self::ARS
| Self::AUD
| Self::AWG
| Self::AZN
| Self::BAM
| Self::BBD
| Self::BDT
| Self::BGN
| Self::BIF
| Self::BMD
| Self::BND
@ -828,6 +908,7 @@ impl Currency {
| Self::BRL
| Self::BSD
| Self::BWP
| Self::BYN
| Self::BZD
| Self::CAD
| Self::CHF
@ -836,6 +917,7 @@ impl Currency {
| Self::COP
| Self::CRC
| Self::CUP
| Self::CVE
| Self::CZK
| Self::DJF
| Self::DKK
@ -845,7 +927,9 @@ impl Currency {
| Self::ETB
| Self::EUR
| Self::FJD
| Self::FKP
| Self::GBP
| Self::GEL
| Self::GHS
| Self::GIP
| Self::GMD
@ -881,17 +965,20 @@ impl Currency {
| Self::MMK
| Self::MNT
| Self::MOP
| Self::MRU
| Self::MUR
| Self::MVR
| Self::MWK
| Self::MXN
| Self::MYR
| Self::MZN
| Self::NAD
| Self::NGN
| Self::NIO
| Self::NOK
| Self::NPR
| Self::NZD
| Self::PAB
| Self::PEN
| Self::PGK
| Self::PHP
@ -900,33 +987,45 @@ impl Currency {
| Self::PYG
| Self::QAR
| Self::RON
| Self::RSD
| Self::RUB
| Self::RWF
| Self::SAR
| Self::SBD
| Self::SCR
| Self::SEK
| Self::SGD
| Self::SHP
| Self::SLE
| Self::SLL
| Self::SOS
| Self::SRD
| Self::SSP
| Self::STN
| Self::SVC
| Self::SZL
| Self::THB
| Self::TOP
| Self::TRY
| Self::TTD
| Self::TWD
| Self::TZS
| Self::UAH
| Self::UGX
| Self::USD
| Self::UYU
| Self::UZS
| Self::VES
| Self::VND
| Self::VUV
| Self::WST
| Self::XAF
| Self::XCD
| Self::XPF
| Self::XOF
| Self::YER
| Self::ZAR => false,
| Self::ZAR
| Self::ZMW => false,
}
}
}