Skip to main content

surrealdb_expr/expr/convert/statements/
info.rs

1//! `sql` -> `expr` conversions for [`crate::sql::statements::info`].
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::info::*;
7
8impl From<InfoStatement> for crate::expr::statements::InfoStatement {
9	fn from(v: InfoStatement) -> Self {
10		match v {
11			InfoStatement::Root(v, ver) => Self::Root(v, ver.map(From::from)),
12			InfoStatement::Ns(v, ver) => Self::Ns(v, ver.map(From::from)),
13			InfoStatement::Db(v, ver) => Self::Db(v, ver.map(From::from)),
14			InfoStatement::Tb(t, v, ver) => Self::Tb(t.into(), v, ver.map(From::from)),
15			InfoStatement::User(u, b, v) => Self::User(u.into(), b.map(Into::into), v),
16			InfoStatement::Index(i, t, v) => Self::Index(i.into(), t.into(), v),
17		}
18	}
19}
20
21impl From<crate::expr::statements::InfoStatement> for InfoStatement {
22	fn from(v: crate::expr::statements::InfoStatement) -> Self {
23		match v {
24			crate::expr::statements::InfoStatement::Root(v, ver) => {
25				Self::Root(v, ver.map(From::from))
26			}
27			crate::expr::statements::InfoStatement::Ns(v, ver) => Self::Ns(v, ver.map(From::from)),
28			crate::expr::statements::InfoStatement::Db(v, ver) => Self::Db(v, ver.map(From::from)),
29			crate::expr::statements::InfoStatement::Tb(t, v, ver) => {
30				Self::Tb(t.into(), v, ver.map(From::from))
31			}
32			crate::expr::statements::InfoStatement::User(u, b, v) => {
33				Self::User(u.into(), b.map(Into::into), v)
34			}
35			crate::expr::statements::InfoStatement::Index(i, t, v) => {
36				Self::Index(i.into(), t.into(), v)
37			}
38		}
39	}
40}