Skip to main content

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

1//! `sql` -> `expr` conversions for [`crate::sql::statements::define::function`].
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::function::*;
7
8impl From<DefineFunctionStatement> for crate::expr::statements::DefineFunctionStatement {
9	fn from(v: DefineFunctionStatement) -> Self {
10		Self {
11			kind: v.kind.into(),
12			name: v.name,
13			args: v.args.into_iter().map(|(i, k)| (i, k.into())).collect(),
14			block: v.block.into(),
15			comment: v.comment.into(),
16			permissions: v.permissions.into(),
17			returns: v.returns.map(Into::into),
18			graphql_alias: v.graphql_alias,
19			graphql_deprecated: v.graphql_deprecated,
20		}
21	}
22}
23
24impl From<crate::expr::statements::DefineFunctionStatement> for DefineFunctionStatement {
25	fn from(v: crate::expr::statements::DefineFunctionStatement) -> Self {
26		Self {
27			kind: v.kind.into(),
28			name: v.name,
29			args: v.args.into_iter().map(|(i, k)| (i, k.into())).collect(),
30			block: v.block.into(),
31			comment: v.comment.into(),
32			permissions: v.permissions.into(),
33			returns: v.returns.map(Into::into),
34			graphql_alias: v.graphql_alias,
35			graphql_deprecated: v.graphql_deprecated,
36		}
37	}
38}