1extern 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}