use byteseeker::Error as SeekError;
use thiserror::Error;
use std::io::Error as IoError;
use std::result::Result as StdResult;
pub type Result<T> = StdResult<T, ErrorKind>;
#[derive(Error, Debug)]
pub enum ErrorKind {
#[error("expected at least one source to be merged, but found nothing")]
NothingPassed,
#[error("the skip options given are not valid to apply to the given sources")]
InvalidSkip,
#[error("the path provided at index {0} is not a valid file path")]
InvalidPath(usize),
#[error(transparent)]
ByteSeek(#[from] SeekError),
#[error(transparent)]
Io(#[from] IoError),
}