#![ doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "README.md" ) ) ]
#![deny(missing_docs)]
use core::fmt;
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("io error: {0}")]
Io(#[from] std::io::Error),
#[error("unsupported data type: {0}")]
DataType(u8),
#[error("unsupported COT: {0}")]
COT(u8),
#[error("operation overflow")]
Overflow,
#[error("conversion failed: {0}")]
Conversion(String),
#[error("chat sequence error ({0}/{1}")]
ChatSequence(u16, u16),
#[error("invalid data: {0}")]
InvalidData(String),
}
impl Error {
fn conversion(msg: impl fmt::Display) -> Self {
Error::Conversion(msg.to_string())
}
fn invalid_data(msg: impl fmt::Display) -> Self {
Error::InvalidData(msg.to_string())
}
}
pub mod events;
pub mod telegram101;
pub mod telegram104;
pub mod types;