#[macro_use]
extern crate lazy_static;
mod cover;
mod csv;
mod fec;
mod header;
pub mod record;
mod schemas;
pub mod writers;
pub use crate::cover::Cover;
pub use crate::fec::FecFile;
pub use crate::fec::LineIter;
pub use crate::header::Header;
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[allow(missing_docs)]
#[error(transparent)]
HeaderParseError(#[from] header::HeaderParseError),
#[allow(missing_docs)]
#[error("Failed to parse cover line: {0}")]
CoverParseError(String),
#[allow(missing_docs)]
#[error("Failed to parse record: {0}")]
RecordParseError(String),
#[allow(missing_docs)]
#[error("Failed to find schema for fec version {0} and line code {1}")]
SchemaError(String, String),
#[allow(missing_docs)]
#[error(transparent)]
IoError(#[from] std::io::Error),
#[allow(missing_docs)]
#[error("Http error: {0}")]
HttpError(String),
}