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}