sqlcx-core 0.2.1

SQL-first cross-language type-safe code generator — core library
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum SqlcxError {
    #[error("config file not found: {0}")]
    ConfigNotFound(String),

    #[error("invalid config: {0}")]
    ConfigInvalid(String),

    #[error("SQL parse error in {file}: {message}")]
    ParseError { file: String, message: String },

    #[error("unknown column type: {0}")]
    UnknownType(String),

    #[error("missing query annotation in {file}")]
    MissingAnnotation { file: String },

    #[error("unknown parser: {0}")]
    UnknownParser(String),

    #[error("unknown language: {0}")]
    UnknownLanguage(String),

    #[error("unknown schema generator: {0}")]
    UnknownSchema(String),

    #[error("unknown driver generator: {0}")]
    UnknownDriver(String),

    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    #[error("JSON error: {0}")]
    Json(#[from] serde_json::Error),

    #[error("TOML parse error: {0}")]
    Toml(#[from] toml::de::Error),

    #[error("migration error: {0}")]
    Migrate(String),
}

pub type Result<T> = std::result::Result<T, SqlcxError>;