clasp_client/
lib.rs

1//! Clasp Client Library
2//!
3//! High-level async client for Clasp protocol.
4//!
5//! # Example
6//!
7//! ```ignore
8//! use clasp_client::Clasp;
9//!
10//! #[tokio::main]
11//! async fn main() -> anyhow::Result<()> {
12//!     let sf = Clasp::connect("wss://localhost:7330").await?;
13//!
14//!     // Subscribe to changes
15//!     sf.subscribe("/lumen/scene/*/layer/*/opacity", |value, address| {
16//!         println!("{} = {:?}", address, value);
17//!     }).await?;
18//!
19//!     // Set a value
20//!     sf.set("/lumen/scene/0/layer/0/opacity", 0.75).await?;
21//!
22//!     Ok(())
23//! }
24//! ```
25
26pub mod client;
27pub mod builder;
28pub mod error;
29
30pub use client::Clasp;
31pub use builder::ClaspBuilder;
32pub use error::{ClientError, Result};
33
34/// Prelude for convenient imports
35pub mod prelude {
36    pub use crate::client::Clasp;
37    pub use crate::builder::ClaspBuilder;
38    pub use crate::error::{ClientError, Result};
39    pub use clasp_core::{Message, Value, SignalType};
40}