Skip to main content

serde_firestore_value/typ/
field_reference.rs

1/// FieldReference
2///
3/// `fieldReferenceValue` inner type.
4///
5/// <https://firebase.google.com/docs/firestore/reference/rest/Shared.Types/ArrayValue#Value>
6///
7/// # Examples
8///
9/// ```rust
10/// # fn test_field_reference() -> Result<(), serde_firestore_value::Error> {
11/// #     use serde_firestore_value::google::firestore::v1::{value::ValueType, Value};
12/// #     use serde_firestore_value::{from_value, FieldReference};
13///  let inner = "field_name";
14///  let o = FieldReference(inner.to_string());
15///  let v = Value {
16///      value_type: Some(ValueType::FieldReferenceValue(inner.to_string())),
17///  };
18///  let d = from_value::<'_, FieldReference>(&v)?;
19///  assert_eq!(d, o);
20/// #     Ok(())
21/// # }
22/// ```
23#[derive(
24    Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, serde::Deserialize, serde::Serialize,
25)]
26#[serde(rename = "$__serde-firestore-value_private_field_reference")]
27pub struct FieldReference(pub String);
28
29impl FieldReference {
30    pub(crate) const NAME: &'static str = "$__serde-firestore-value_private_field_reference";
31}
32
33impl From<FieldReference> for String {
34    fn from(FieldReference(s): FieldReference) -> Self {
35        s
36    }
37}
38
39impl From<String> for FieldReference {
40    fn from(s: String) -> Self {
41        Self(s)
42    }
43}