firestore_structured_query/
value.rs1use crate::Result;
2
3#[cfg(feature = "serde")]
16pub fn to_value<T>(
17 v: &T,
18) -> Result<googleapis_tonic_google_firestore_v1::google::firestore::v1::Value>
19where
20 T: serde::Serialize,
21{
22 Ok(serde_firestore_value::to_value(v)
23 .map_err(Box::<dyn std::error::Error + Send + Sync>::from)?)
24}
25
26pub trait IntoValue {
28 fn into_value(
30 self,
31 ) -> Result<googleapis_tonic_google_firestore_v1::google::firestore::v1::Value>;
32}
33
34impl IntoValue for googleapis_tonic_google_firestore_v1::google::firestore::v1::Value {
35 fn into_value(
36 self,
37 ) -> Result<googleapis_tonic_google_firestore_v1::google::firestore::v1::Value> {
38 Ok(self)
39 }
40}
41
42#[cfg(feature = "serde")]
43impl<T: serde::Serialize> IntoValue for &T {
44 fn into_value(
45 self,
46 ) -> Result<googleapis_tonic_google_firestore_v1::google::firestore::v1::Value> {
47 Ok(serde_firestore_value::to_value(self)
48 .map_err(Box::<dyn std::error::Error + Send + Sync>::from)?)
49 }
50}