1#![allow(unknown_lints, clippy::implicit_hasher)]
6#![warn(rust_2018_idioms)]
7
8pub mod bso;
9#[cfg(feature = "sync-client")]
10pub mod client;
11mod device_type;
13mod client_types;
15#[cfg(feature = "sync-client")]
18pub mod clients_engine;
19#[cfg(feature = "crypto")]
20mod enc_payload;
21#[cfg(feature = "sync-engine")]
22pub mod engine;
23mod error;
24#[cfg(feature = "crypto")]
25mod key_bundle;
26mod record_types;
27mod server_timestamp;
28pub mod telemetry;
29
30pub use crate::client_types::{ClientData, RemoteClient};
31pub use crate::device_type::DeviceType;
32pub use crate::error::{Error, Result};
33#[cfg(feature = "crypto")]
34pub use enc_payload::EncryptedPayload;
35#[cfg(feature = "crypto")]
36pub use key_bundle::KeyBundle;
37pub use server_timestamp::ServerTimestamp;
38pub use sync_guid::Guid;
39
40pub type CollectionName = std::borrow::Cow<'static, str>;
44
45fn skip_if_default<T: PartialEq + Default>(v: &T) -> bool {
47 *v == T::default()
48}
49
50uniffi::include_scaffolding!("sync15");