Skip to main content

surrealdb_expr/expr/convert/
constant.rs

1//! `sql` -> `expr` conversions for [`crate::sql::constant`].
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::constant::*;
7
8impl From<Constant> for crate::expr::Constant {
9	fn from(value: Constant) -> Self {
10		match value {
11			Constant::MathE => Self::MathE,
12			Constant::MathFrac1Pi => Self::MathFrac1Pi,
13			Constant::MathFrac1Sqrt2 => Self::MathFrac1Sqrt2,
14			Constant::MathFrac2Pi => Self::MathFrac2Pi,
15			Constant::MathFrac2SqrtPi => Self::MathFrac2SqrtPi,
16			Constant::MathFracPi2 => Self::MathFracPi2,
17			Constant::MathFracPi3 => Self::MathFracPi3,
18			Constant::MathFracPi4 => Self::MathFracPi4,
19			Constant::MathFracPi6 => Self::MathFracPi6,
20			Constant::MathFracPi8 => Self::MathFracPi8,
21			Constant::MathInfinity => Self::MathInfinity,
22			Constant::MathLn10 => Self::MathLn10,
23			Constant::MathLn2 => Self::MathLn2,
24			Constant::MathLog102 => Self::MathLog102,
25			Constant::MathLog10E => Self::MathLog10E,
26			Constant::MathLog210 => Self::MathLog210,
27			Constant::MathLog2E => Self::MathLog2E,
28			Constant::MathNegInfinity => Self::MathNegInfinity,
29			Constant::MathPi => Self::MathPi,
30			Constant::MathSqrt2 => Self::MathSqrt2,
31			Constant::MathTau => Self::MathTau,
32			Constant::TimeEpoch => Self::TimeEpoch,
33			Constant::TimeMin => Self::TimeMin,
34			Constant::TimeMax => Self::TimeMax,
35			Constant::DurationMax => Self::DurationMax,
36		}
37	}
38}
39
40impl From<crate::expr::Constant> for Constant {
41	fn from(value: crate::expr::Constant) -> Self {
42		match value {
43			crate::expr::Constant::MathE => Self::MathE,
44			crate::expr::Constant::MathFrac1Pi => Self::MathFrac1Pi,
45			crate::expr::Constant::MathFrac1Sqrt2 => Self::MathFrac1Sqrt2,
46			crate::expr::Constant::MathFrac2Pi => Self::MathFrac2Pi,
47			crate::expr::Constant::MathFrac2SqrtPi => Self::MathFrac2SqrtPi,
48			crate::expr::Constant::MathFracPi2 => Self::MathFracPi2,
49			crate::expr::Constant::MathFracPi3 => Self::MathFracPi3,
50			crate::expr::Constant::MathFracPi4 => Self::MathFracPi4,
51			crate::expr::Constant::MathFracPi6 => Self::MathFracPi6,
52			crate::expr::Constant::MathFracPi8 => Self::MathFracPi8,
53			crate::expr::Constant::MathInfinity => Self::MathInfinity,
54			crate::expr::Constant::MathLn10 => Self::MathLn10,
55			crate::expr::Constant::MathLn2 => Self::MathLn2,
56			crate::expr::Constant::MathLog102 => Self::MathLog102,
57			crate::expr::Constant::MathLog10E => Self::MathLog10E,
58			crate::expr::Constant::MathLog210 => Self::MathLog210,
59			crate::expr::Constant::MathLog2E => Self::MathLog2E,
60			crate::expr::Constant::MathNegInfinity => Self::MathNegInfinity,
61			crate::expr::Constant::MathPi => Self::MathPi,
62			crate::expr::Constant::MathSqrt2 => Self::MathSqrt2,
63			crate::expr::Constant::MathTau => Self::MathTau,
64			crate::expr::Constant::TimeEpoch => Self::TimeEpoch,
65			crate::expr::Constant::TimeMin => Self::TimeMin,
66			crate::expr::Constant::TimeMax => Self::TimeMax,
67			crate::expr::Constant::DurationMax => Self::DurationMax,
68		}
69	}
70}