leptos_sync_core/
lib.rs

1//! Core synchronization library for Leptos applications
2//! 
3//! This crate provides the foundation for local-first, offline-capable data synchronization
4//! using CRDTs (Conflict-free Replicated Data Types).
5
6pub mod collection;
7pub mod crdt;
8pub mod error;
9pub mod memory_pool;
10pub mod query;
11pub mod serialization;
12pub mod storage;
13pub mod sync;
14pub mod transport;
15pub mod devtools;
16pub mod reliability;
17
18// Re-export multi-transport functionality
19pub use transport::multi_transport::{MultiTransport, MultiTransportConfig, TransportType, TransportEnum};
20
21// Re-export devtools functionality
22pub use devtools::{DevTools, DevToolsConfig, DevToolsEvent, DevToolsExport, CrdtInspector, CrdtInspection, SyncStats, TransportStats, PerformanceMetrics};
23
24// Re-export reliability functionality
25pub use reliability::{ReliabilityManager, ReliabilityConfig, ReliabilityError};
26
27pub mod security;
28
29#[cfg(test)]
30mod wasm_tests;
31
32// Re-export main types for convenience
33pub use collection::LocalFirstCollection;
34pub use crdt::{LwwMap, LwwRegister, Mergeable, ReplicaId};
35pub use error::{CoreError, Result};
36pub use storage::{LocalStorage, StorageError};
37pub use sync::{SyncError, SyncState};
38pub use transport::{SyncTransport, TransportError};
39
40// Re-export common traits and types
41pub use serde::{Deserialize, Serialize};
42pub use async_trait::async_trait;
43
44/// Features available in this crate
45pub mod features {
46    /// Enable encryption support
47    pub const ENCRYPTION: &str = "encryption";
48    
49    /// Enable compression support
50    pub const COMPRESSION: &str = "compression";
51    
52    /// Enable metrics collection
53    pub const METRICS: &str = "metrics";
54    
55    /// Enable distributed tracing
56    pub const TRACING: &str = "tracing";
57}