kosame_repr 0.3.0

Macro-based Rust ORM focused on developer ergonomics
Documentation
use crate::{Ident, part::ColumnList};

pub struct TableAlias<'a> {
    alias: Ident<'a>,
    columns: Option<ColumnList<'a>>,
}

impl<'a> TableAlias<'a> {
    #[inline]
    #[must_use]
    pub const fn new(alias: &'a str, columns: Option<ColumnList<'a>>) -> Self {
        Self {
            alias: Ident::new(alias),
            columns,
        }
    }
}

impl kosame_sql::FmtSql for TableAlias<'_> {
    fn fmt_sql<D>(&self, formatter: &mut kosame_sql::Formatter<D>) -> kosame_sql::Result
    where
        D: kosame_sql::Dialect,
    {
        self.alias.fmt_sql(formatter)?;
        self.columns.fmt_sql(formatter)?;
        Ok(())
    }
}