Description
Implement Ean8 as a ValueObject in the identifiers module.
Spec: EAN-8 barcode with checksum validation
Implementation checklist
Implementation detail
Input / Output
|
Type |
Alias |
| Input |
String |
Ean8Input |
| Output |
String |
Ean8Output |
Normalization
Strip all spaces and hyphens, keep only digits.
Validation
- Exactly 8 digits after stripping.
- Last digit is a valid EAN-8 check digit (same algorithm as EAN-13 but applied to 8 digits).
Extra methods
check_digit() -> u8 — returns the check digit (last digit).
References
Description
Implement
Ean8as aValueObjectin theidentifiersmodule.Spec: EAN-8 barcode with checksum validation
Implementation checklist
src/identifiers/ean8.rsValueObjecttrait#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]src/identifiers/mod.rsandprelude# ExampleblockROADMAP.mdfrom ⬜ to ✅Implementation detail
Input / Output
StringEan8InputStringEan8OutputNormalization
Strip all spaces and hyphens, keep only digits.
Validation
Extra methods
check_digit() -> u8— returns the check digit (last digit).References