Skip to main content

surrealdb_expr/expr/convert/
closure.rs

1//! `sql` -> `expr` conversions for [`crate::sql::closure`].
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::closure::*;
7
8impl From<Closure> for crate::expr::ClosureExpr {
9	fn from(v: Closure) -> Self {
10		Self {
11			args: v.args.into_iter().map(|(i, k)| (i.into(), k.into())).collect(),
12			returns: v.returns.map(Into::into),
13			body: v.body.into(),
14		}
15	}
16}
17
18impl From<crate::expr::ClosureExpr> for Closure {
19	fn from(v: crate::expr::ClosureExpr) -> Self {
20		Self {
21			args: v.args.into_iter().map(|(i, k)| (i.into(), k.into())).collect(),
22			returns: v.returns.map(Into::into),
23			body: v.body.into(),
24		}
25	}
26}