Skip to main content

MRZParser

Struct MRZParser 

Source
pub struct MRZParser;
Expand description

Top-level MRZ parser.

  • try_parse returns Option<MRZResult> (None on error).
  • parse returns Result<MRZResult, MRZError> (error when input is invalid or parsing fails).

Implementations§

Source§

impl MRZParser

Source

pub fn try_parse(input: Option<Vec<Option<String>>>) -> Option<MRZResult>

Attempt to parse the given MRZ lines, returning Some(MRZResult) on success or None if parsing fails for any reason.

Input accepts an optional outer vector whose elements may themselves be optional strings (to model upstream OCR results that may be null).

Source

pub fn parse(input: Option<Vec<Option<String>>>) -> Result<MRZResult, MRZError>

Parse MRZ input and return a MRZResult or a MRZError.

High-level flow:

  1. Polish input (filter nulls, uppercase, validate allowed MRZ chars).
  2. Attempt to parse with the TD1 parser if it recognises the format.
  3. Otherwise attempt TD2, then TD3.
  4. If none match, return InvalidMRZInput.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.