1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Core trait that every barcode symbology encoder must implement.
use crateBarcodeOutput;
/// A trait implemented by every barcode symbology encoder.
///
/// # Type Parameters
///
/// - `Input` — the type of data being encoded (e.g. `str`, `[u8]`, a newtype).
/// - `Error` — the error type returned when encoding fails.
///
/// # Example
///
/// ```rust
/// use barcode::common::traits::BarcodeEncoder;
/// use barcode::common::types::BarcodeOutput;
/// use barcode::ean_upc::ean13::Ean13;
///
/// let output = Ean13::encode("5901234123457").unwrap();
/// assert!(matches!(output, BarcodeOutput::Linear(_)));
/// ```