1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
use std::fmt::Display; pub use { comparison::Comparison, comparison::ComparisonBuilder, filter::Filter, query::Query, query::SortDirection, query_result::JsonQueryResult, query_result::RecordQueryResult, }; mod comparison; mod filter; mod graph_query; mod operations; mod query; mod query_id_helper; mod query_result; #[derive(Clone, Debug)] struct OptionalQueryString(Option<String>); fn string_array_from_array<T>(array: &[T]) -> String where T: Display, { format!("[{}]", string_from_array(array)) } fn string_from_array<T>(array: &[T]) -> String where T: Display, { let mut array_str = String::new(); for (i, element) in array.iter().enumerate() { array_str = format!("{}{}", array_str, element); if i < array.len() - 1 { array_str += ", " } } array_str } fn string_array_from_array_str<T>(array: &[T]) -> String where T: Display, { let mut array_str = String::from("["); for (i, element) in array.iter().enumerate() { array_str = format!(r#"{}"{}""#, array_str, element); if i < array.len() - 1 { array_str += ", " } } array_str += "]"; array_str } impl ToString for OptionalQueryString { fn to_string(&self) -> String { match &self.0 { Some(str) => str.clone(), None => String::new(), } } }