surrealdb_expr/val/
table_name_public.rs1use surrealdb_types::Table as PublicTable;
11
12use crate::val::TableName;
13
14pub trait IntoTableName {
16 fn into_table_name(self) -> TableName;
17}
18
19impl IntoTableName for PublicTable {
20 fn into_table_name(self) -> TableName {
21 TableName::new(self.into_string())
22 }
23}
24
25pub trait IntoPublicTable {
27 fn into_public_table(self) -> PublicTable;
28}
29
30impl IntoPublicTable for TableName {
31 fn into_public_table(self) -> PublicTable {
32 PublicTable::new(self.into_string())
33 }
34}
35
36#[cfg(test)]
37mod tests {
38 use super::*;
39
40 #[test]
41 fn round_trips_without_changing_the_name() {
42 let public = PublicTable::new("users".to_owned());
43 let name = public.clone().into_table_name();
44 assert_eq!(name.as_str(), "users");
45 assert_eq!(name.into_public_table(), public);
46 }
47
48 #[test]
51 fn does_not_escape() {
52 assert_eq!(PublicTable::new("select".to_owned()).into_table_name().as_str(), "select");
53 }
54}