5 releases (stable)
Uses old Rust 2015
1.3.0 | Jan 19, 2020 |
---|---|
1.2.0 | Dec 1, 2018 |
1.1.0 | Aug 27, 2018 |
1.0.0 | Jun 11, 2016 |
0.5.0 | May 31, 2016 |
48 downloads per month
26KB
511 lines
Rust GTIN Validator
Validate and correct GTIN codes, such as UPC-A and EAN-13, in Rust.
Features
Currently supported types:
- GTIN-8
- GTIN-12 (UPC-A)
- GTIN-13 (EAN-13)
- GTIN-14
Validation features include:
- Check that the string contains the correct number of digits
- Compute the check-digit and confirm that it matches
Correction features include:
- Add zero-padding (some software treats these codes as integers)
- Strip whitespace from both sides of the code
How to use
For full details, check the documentation.
Briefly, here are the function declarations:
// return true if the code is valid, false otherwise
fn gtin8::check(code: &str) -> bool;
fn gtin12::check(code: &str) -> bool;
fn gtin13::check(code: &str) -> bool;
fn gtin14::check(code: &str) -> bool;
// return a corrected String or Err
fn gtin8::fix(code: &str) -> Result<String, FixError>;
fn gtin12::fix(code: &str) -> Result<String, FixError>;
fn gtin13::fix(code: &str) -> Result<String, FixError>;
fn gtin14::fix(code: &str) -> Result<String, FixError>;
For example, you can validate UPC-A codes:
use gtin_validate::gtin12;
assert_eq!(gtin12::check("000000000000"), true);
assert_eq!(gtin12::check("000000000001"), false);
You can add this line to your Cargo.toml file:
[dependencies]
gtin-validate = "1.3.0"
Contributing
Found a bug? Report an issue through GitHub.
Want to hack on the code? Submit a pull request.