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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! # wave-api
//!
//! Typed Rust client for the [Wave Accounting](https://www.waveapps.com/) GraphQL API.
//!
//! `wave_claw` wraps Wave's GraphQL API in idiomatic Rust — no code generation,
//! no raw GraphQL strings in user code. All connection types are flattened into
//! [`Page<T>`] results, monetary values use [`rust_decimal::Decimal`], and
//! mutations use a builder pattern for inputs.
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use wave_claw::{WaveClient, OAuthConfig, ListBusinessesOptions};
//!
//! # async fn run() -> Result<(), wave_claw::WaveError> {
//! let client = WaveClient::with_oauth(OAuthConfig {
//! client_id: "...".into(),
//! client_secret: "...".into(),
//! access_token: "...".into(),
//! refresh_token: "...".into(),
//! redirect_uri: "http://localhost:3099/callback".into(),
//! on_token_refresh: None,
//! });
//!
//! let businesses = client.list_businesses(Default::default()).await?;
//! for biz in &businesses.items {
//! println!("{}: {}", biz.id, biz.name);
//! }
//! # Ok(())
//! # }
//! ```
// Re-exports for convenience.
pub use OAuthConfig;
pub use WaveClient;
pub use WaveError;
pub use *;
pub use Page;