toasty_sql/serializer/
flavor.rs

1use super::Serializer;
2
3use toasty_core::schema::db;
4
5#[derive(Debug)]
6pub(super) enum Flavor {
7    Postgresql,
8    Sqlite,
9    Mysql,
10}
11
12impl<'a> Serializer<'a> {
13    pub fn sqlite(schema: &'a db::Schema) -> Self {
14        Serializer {
15            schema,
16            flavor: Flavor::Sqlite,
17        }
18    }
19
20    pub fn is_sqlite(&self) -> bool {
21        matches!(self.flavor, Flavor::Sqlite)
22    }
23
24    pub fn postgresql(schema: &'a db::Schema) -> Self {
25        Serializer {
26            schema,
27            flavor: Flavor::Postgresql,
28        }
29    }
30
31    pub fn mysql(schema: &'a db::Schema) -> Self {
32        Serializer {
33            schema,
34            flavor: Flavor::Mysql,
35        }
36    }
37
38    pub(super) fn is_mysql(&self) -> bool {
39        matches!(self.flavor, Flavor::Mysql)
40    }
41}