vin-info 0.1.2

VIN (Vehicle identifier number) parser
Documentation
//Generated file

const UNKNOWN: &str = "Unknown";

pub const fn map_wmi_to_country(wmi: &str) -> &'static str {
    match wmi.as_bytes()[0] {
        b'A' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' => "South Africa",
            b'J' | b'K' => "Ivory Coast",
            b'L' | b'M' => "Lesotho",
            b'N' | b'P' => "Botswana",
            b'R' | b'S' => "Namibia",
            b'T' | b'U' => "Madagascar",
            b'V' | b'W' => "Mauritius",
            b'X' | b'Y' => "Tunisia",
            b'Z' | b'1' => "Cyprus",
            b'2' | b'3' => "Zimbabwe",
            b'4' | b'5' => "Mozambique",
            _ => UNKNOWN,
        },
        b'B' => match wmi.as_bytes()[1] {
            b'A' | b'B' => "Angola",
            b'F' | b'G' => "Kenya",
            b'L' => "Nigeria",
            b'R' => "Algeria",
            b'3' | b'4' => "Libya",
            _ => UNKNOWN,
        },
        b'C' => match wmi.as_bytes()[1] {
            b'A' | b'B' => "Egypt",
            b'F' | b'G' => "Morocco",
            b'L' | b'M' => "Zambia",
            _ => UNKNOWN,
        },
        b'H' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "China",
            _ => UNKNOWN,
        },
        b'J' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "Japan",
            _ => UNKNOWN,
        },
        b'K' => match wmi.as_bytes()[1] {
            b'F' | b'G' | b'H' => "Israel",
            b'L' | b'M' | b'N' | b'P' | b'R' => "South Korea",
            b'S' | b'T' => "Jordan",
            _ => UNKNOWN,
        },
        b'L' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "China",
            _ => UNKNOWN,
        },
        b'M' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' => "India",
            b'F' | b'G' | b'H' | b'J' | b'K' => "Indonesia",
            b'L' | b'M' | b'N' | b'P' | b'R' => "Thailand",
            b'S' => "Myanmar",
            b'U' => "Mongolia",
            b'X' => "Kazakhstan",
            _ => UNKNOWN,
        },
        b'N' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'1' | b'2' | b'3' | b'4' | b'5' => "Iran",
            b'F' | b'G' => "Pakistan",
            b'J' => "Iraq",
            b'L' | b'M' | b'N' | b'P' | b'R' => "Turkey",
            b'S' | b'T' => "Uzbekistan",
            b'U' => "Azerbaijan",
            b'Y' => "Armenia",
            _ => UNKNOWN,
        },
        b'P' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' => "Philippines",
            b'F' | b'G' => "Singapore",
            b'L' | b'M' | b'N' | b'P' | b'R' => "Malaysia",
            b'S' | b'T' => "Bangladesh",
            _ => UNKNOWN,
        },
        b'R' => match wmi.as_bytes()[1] {
            b'A' | b'B' => "United Arab Emirates",
            b'F' | b'G' | b'H' | b'J' | b'K' => "Taiwan",
            b'L' | b'M' | b'N' => "Vietnam",
            b'P' => "Laos",
            b'S' | b'T' => "Saudi Arabia",
            b'U' | b'V' | b'W' => "Russia",
            b'1' => "Hong Kong",
            _ => UNKNOWN,
        },
        b'S' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' => "United Kingdom",
            b'N' | b'P' | b'R' | b'S' | b'T' => "Germany",
            b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' => "Poland",
            b'1' | b'2' => "Latvia",
            b'3' => "South Ossetia",
            _ => UNKNOWN,
        },
        b'T' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' => "Switzerland",
            b'J' | b'K' | b'L' | b'M' | b'N' | b'P' => "Czech Republic",
            b'R' | b'S' | b'T' | b'U' | b'V' => "Hungary",
            b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' => "Portugal",
            b'3' | b'4' | b'5' => "Serbia & Montenegro",
            b'6' => "Andorra",
            _ => UNKNOWN,
        },
        b'U' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' => "Spain",
            b'H' | b'J' | b'K' | b'L' | b'M' => "Denmark",
            b'N' | b'P' | b'R' => "Ireland",
            b'U' | b'V' | b'W' => "Romania",
            b'1' | b'2' => "Macedonia",
            b'5' | b'6' | b'7' => "Slovakia",
            b'8' | b'9' | b'0' => "Bosnia & Herzogovina",
            _ => UNKNOWN,
        },
        b'V' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' => "Austria",
            b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' => "France",
            b'S' | b'T' | b'U' | b'V' | b'W' => "Spain",
            b'3' | b'4' | b'5' => "Croatia",
            b'6' | b'7' | b'8' => "Estonia",
            _ => UNKNOWN,
        },
        b'W' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "Germany",
            _ => UNKNOWN,
        },
        b'X' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' => "Bulgaria",
            b'D' | b'E' | b'J' | b'K' | b'S' | b'T' | b'U' | b'V' | b'W' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "Russia",
            b'F' | b'G' | b'H' => "Greece",
            b'L' | b'M' | b'N' | b'P' | b'R' => "Netherlands",
            b'X' | b'Y' => "Luxembourg",
            _ => UNKNOWN,
        },
        b'Y' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' => "Belgium",
            b'F' | b'G' | b'H' | b'J' | b'K' => "Finland",
            b'N' => "Malta",
            b'S' | b'T' | b'U' | b'V' | b'W' => "Sweden",
            b'X' | b'Y' | b'Z' | b'1' | b'2' => "Norway",
            b'3' | b'4' | b'5' => "Belarus",
            b'6' | b'7' | b'8' => "Ukraine",
            _ => UNKNOWN,
        },
        b'Z' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' => "Italy",
            b'X' | b'Y' | b'Z' => "Slovenia",
            b'1' => "San Marino",
            b'3' | b'4' | b'5' => "Lithuania",
            b'6' | b'7' | b'8' | b'9' | b'0' => "Russia",
            _ => UNKNOWN,
        },
        b'1' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "United States",
            _ => UNKNOWN,
        },
        b'2' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' => "Canada",
            _ => UNKNOWN,
        },
        b'3' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' => "Mexico",
            b'5' => "Dominican Republic",
            b'6' => "Honduras",
            b'7' => "Panama",
            b'8' | b'9' => "Puerto Rico",
            _ => UNKNOWN,
        },
        b'4' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "United States",
            _ => UNKNOWN,
        },
        b'5' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "United States",
            _ => UNKNOWN,
        },
        b'6' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' => "Australia",
            b'Y' | b'Z' | b'1' => "New Zealand",
            _ => UNKNOWN,
        },
        b'7' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'F' | b'G' | b'H' | b'J' | b'K' | b'L' | b'M' | b'N' | b'P' | b'R' | b'S' | b'T' | b'U' | b'V' | b'W' | b'X' | b'Y' | b'Z' | b'1' | b'2' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' | b'0' => "United States",
            _ => UNKNOWN,
        },
        b'8' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' => "Argentina",
            b'F' | b'G' => "Chile",
            b'L' | b'M' | b'N' => "Ecuador",
            b'S' | b'T' => "Peru",
            b'X' | b'Y' | b'Z' => "Venezuela",
            b'2' => "Bolivia",
            _ => UNKNOWN,
        },
        b'9' => match wmi.as_bytes()[1] {
            b'A' | b'B' | b'C' | b'D' | b'E' | b'3' | b'4' | b'5' | b'6' | b'7' | b'8' | b'9' => "Brazil",
            b'F' | b'G' => "Colombia",
            b'S' | b'T' | b'U' | b'V' => "Uruguay",
            _ => UNKNOWN,
        },
        _ => UNKNOWN,
    }
}