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
//! A [serde] (de)serializer using [Firestore Value] as its data format.
//!
//! ```rust
//! use google_api_proto::google::firestore::v1::{value::ValueType, Value};
//! use serde_firestore_value::{from_value, to_value};
//!
//! fn main() -> anyhow::Result<()> {
//!     let t = 1_i64; // T: Serialize
//!
//!     let s = to_value(&t)?;
//!     assert_eq!(s, Value {
//!         value_type: Some(ValueType::IntegerValue(1_i64))
//!     });
//!
//!     let d = from_value::<'_, i64>(&s)?;
//!     assert_eq!(d, t);
//!
//!     Ok(())
//! }
//! ```
//!
//! [serde]: https://crates.io/crates/serde
//! [Firestore Value]: https://firebase.google.com/docs/firestore/reference/rest/v1/Value
mod de;
mod error;
mod ser;
mod serde_json;
mod typ;
mod value_ext;
mod value_type_ext;
mod value_type_name;
pub mod with;

pub use self::de::from_value;
pub use self::error::Error;
pub use self::ser::to_value;