fastobo_validator/
lib.rs

1//! Faultess validation tool for OBO products.
2
3extern crate clap;
4extern crate colored;
5extern crate fastobo;
6extern crate isbn as isbn_crate;
7extern crate itertools;
8extern crate textwrap;
9
10pub mod cardinality;
11pub mod duplicates;
12pub mod isbn;
13pub mod obsoletion;
14
15use fastobo::ast::*;
16use std::error::Error;
17
18pub use self::cardinality::CardinalityChecker;
19pub use self::duplicates::DuplicateIdChecker;
20pub use self::isbn::IsbnChecker;
21
22pub trait Validator {
23    fn validate(doc: &OboDoc) -> Vec<ValidationError>;
24}
25
26pub struct ValidationError {
27    pub location: String,
28    pub cause: Box<dyn Error>,
29}