Skip to main content

surrealdb_expr/expr/convert/
filter.rs

1//! `sql` -> `expr` conversions for [`crate::sql::filter`].
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::filter::*;
7
8impl From<Filter> for crate::expr::Filter {
9	fn from(v: Filter) -> Self {
10		match v {
11			Filter::Ascii => Self::Ascii,
12			Filter::EdgeNgram(min, max) => Self::EdgeNgram(min, max),
13			Filter::Lowercase => Self::Lowercase,
14			Filter::Ngram(min, max) => Self::Ngram(min, max),
15			Filter::Snowball(lang) => Self::Snowball(lang.into()),
16			Filter::Uppercase => Self::Uppercase,
17			Filter::Mapper(path) => Self::Mapper(path),
18		}
19	}
20}
21
22impl From<crate::expr::Filter> for Filter {
23	fn from(v: crate::expr::Filter) -> Self {
24		match v {
25			crate::expr::Filter::Ascii => Self::Ascii,
26			crate::expr::Filter::EdgeNgram(min, max) => Self::EdgeNgram(min, max),
27			crate::expr::Filter::Lowercase => Self::Lowercase,
28			crate::expr::Filter::Ngram(min, max) => Self::Ngram(min, max),
29			crate::expr::Filter::Snowball(lang) => Self::Snowball(lang.into()),
30			crate::expr::Filter::Uppercase => Self::Uppercase,
31			crate::expr::Filter::Mapper(path) => Self::Mapper(path),
32		}
33	}
34}