Skip to main content

surrealdb_expr/expr/convert/statements/define/
self_mod.rs

1//! `sql` -> `expr` conversions declared directly in [`crate::sql::statements::define`].
2//!
3//! Lives in core rather than beside the AST: `surrealdb-sql` sits below
4//! core, so it cannot name `expr` types.
5
6use crate::sql::statements::define::*;
7
8impl From<crate::expr::statements::define::DefineKind> for DefineKind {
9	fn from(value: crate::expr::statements::define::DefineKind) -> Self {
10		match value {
11			crate::expr::statements::define::DefineKind::Default => DefineKind::Default,
12			crate::expr::statements::define::DefineKind::Overwrite => DefineKind::Overwrite,
13			crate::expr::statements::define::DefineKind::IfNotExists => DefineKind::IfNotExists,
14		}
15	}
16}
17
18impl From<DefineKind> for crate::expr::statements::define::DefineKind {
19	fn from(value: DefineKind) -> Self {
20		match value {
21			DefineKind::Default => crate::expr::statements::define::DefineKind::Default,
22			DefineKind::Overwrite => crate::expr::statements::define::DefineKind::Overwrite,
23			DefineKind::IfNotExists => crate::expr::statements::define::DefineKind::IfNotExists,
24		}
25	}
26}
27
28impl From<DefineStatement> for crate::expr::statements::DefineStatement {
29	fn from(v: DefineStatement) -> Self {
30		match v {
31			DefineStatement::Namespace(v) => Self::Namespace(v.into()),
32			DefineStatement::Database(v) => Self::Database(v.into()),
33			DefineStatement::Function(v) => Self::Function(v.into()),
34			DefineStatement::Analyzer(v) => Self::Analyzer(v.into()),
35			DefineStatement::Param(v) => Self::Param(v.into()),
36			DefineStatement::Table(v) => Self::Table(v.into()),
37			DefineStatement::Event(v) => Self::Event(v.into()),
38			DefineStatement::Field(v) => Self::Field(Box::new((*v).into())),
39			DefineStatement::Index(v) => Self::Index(v.into()),
40			DefineStatement::User(v) => Self::User(v.into()),
41			DefineStatement::Model(v) => Self::Model(v.into()),
42			DefineStatement::Access(v) => Self::Access(v.into()),
43			DefineStatement::Config(v) => Self::Config(v.into()),
44			DefineStatement::Api(v) => Self::Api(v.into()),
45			DefineStatement::Bucket(v) => Self::Bucket(v.into()),
46			DefineStatement::Sequence(v) => Self::Sequence(v.into()),
47			DefineStatement::Module(v) => Self::Module(v.into()),
48		}
49	}
50}
51
52impl From<crate::expr::statements::DefineStatement> for DefineStatement {
53	fn from(v: crate::expr::statements::DefineStatement) -> Self {
54		match v {
55			crate::expr::statements::DefineStatement::Namespace(v) => Self::Namespace(v.into()),
56			crate::expr::statements::DefineStatement::Database(v) => Self::Database(v.into()),
57			crate::expr::statements::DefineStatement::Function(v) => Self::Function(v.into()),
58			crate::expr::statements::DefineStatement::Analyzer(v) => Self::Analyzer(v.into()),
59			crate::expr::statements::DefineStatement::Param(v) => Self::Param(v.into()),
60			crate::expr::statements::DefineStatement::Table(v) => Self::Table(v.into()),
61			crate::expr::statements::DefineStatement::Event(v) => Self::Event(v.into()),
62			crate::expr::statements::DefineStatement::Field(v) => {
63				Self::Field(Box::new((*v).into()))
64			}
65			crate::expr::statements::DefineStatement::Index(v) => Self::Index(v.into()),
66			crate::expr::statements::DefineStatement::User(v) => Self::User(v.into()),
67			crate::expr::statements::DefineStatement::Model(v) => Self::Model(v.into()),
68			crate::expr::statements::DefineStatement::Access(v) => Self::Access(v.into()),
69			crate::expr::statements::DefineStatement::Config(v) => Self::Config(v.into()),
70			crate::expr::statements::DefineStatement::Api(v) => Self::Api(v.into()),
71			crate::expr::statements::DefineStatement::Bucket(v) => Self::Bucket(v.into()),
72			crate::expr::statements::DefineStatement::Sequence(v) => Self::Sequence(v.into()),
73			crate::expr::statements::DefineStatement::Module(v) => Self::Module(v.into()),
74		}
75	}
76}