Crate vin_parser

Source
Expand description

§Vehicle Identification Number parser

Parser and checksum verifier for VIN.

Provides information about region, manufacturer, country of origin, possible years of assembling and checksum validation of given Vehicle Identification Number.

§Examples

// Check whether VIN is ok (without checksum validation)
let vin_number = "WP0ZZZ99ZTS392124";
assert!(vin::check_validity(vin_number).is_ok());
// Check VIN with checksum validation
let vin_number = "1M8GDM9AXKP042788";
assert!(vin::verify_checksum(vin_number).is_ok());
// Get VIN information
let vin_number = "wp0zzz998ts392124";
let result = vin::get_info(vin_number).unwrap();
assert_eq!(result.vin, vin_number.to_uppercase());
assert_eq!(result.country, "Germany/West Germany");
assert_eq!(result.manufacturer, "Porsche car");
assert_eq!(result.region, "Europe");
assert!(result.valid_checksum.is_ok());

Structs§

ChecksumErrorInfo
Provides information about invalid checksum calculation from the VIN
VIN
Holds parsed information about the vehicle

Enums§

VINError
Provides possible errors during VIN parsing

Functions§

check_validity
Validates Vehicle Identification Number without computing the checksum (check used symbols and length of the number)
get_info
Return basic information about manufacturer of the vehicle
verify_checksum
Validates Vehicle Identification Number AND validates the checksum