use macron::{ Display, Error, From };
pub type StdResult<T, E> = std::result::Result<T, E>;
pub type Result<T> = StdResult<T, Box<dyn std::error::Error + Send + Sync + 'static>>;
#[derive(Debug, Display, Error, From)]
#[from(scraper::error::SelectorErrorKind<'static>, "Self::Scraper(value.to_string())")]
pub enum Error {
#[from]
String(String),
Scraper(String),
#[display = "Failed to get a search results. Report about this problem to me: https://t.me/fuderis"]
FailedGetResults,
#[display = "Chromedriver session is broken!"]
SessionBroken
}