Skip to main content

link_common/
lib.rs

1//! Shared Rust implementation used by `kalam-client`, `kalam-link-wasm`,
2//! `kalam-consumer-wasm`, and `kalam-link-dart`.
3
4#[cfg(feature = "client-core")]
5pub mod auth;
6#[cfg(feature = "tokio-runtime")]
7pub mod client;
8#[cfg(feature = "client-core")]
9pub mod compression;
10#[cfg(feature = "client-core")]
11pub(crate) mod connection;
12#[cfg(feature = "consumer")]
13pub mod consumer;
14#[cfg(feature = "client-core")]
15pub mod credentials;
16#[cfg(feature = "client-core")]
17pub mod error;
18#[cfg(feature = "client-core")]
19pub mod event_handlers;
20#[path = "models/mod.rs"]
21pub mod models;
22#[cfg(feature = "client-core")]
23pub mod query;
24#[cfg(feature = "client-core")]
25pub mod seq_tracking;
26#[cfg(feature = "client-core")]
27pub mod subscription;
28#[cfg(feature = "client-core")]
29pub mod timeouts;
30#[cfg(feature = "client-core")]
31pub mod timestamp;
32
33#[cfg(feature = "tokio-runtime")]
34pub use auth::{ArcDynAuthProvider, AuthProvider, DynamicAuthProvider, ResolvedAuth};
35#[cfg(feature = "tokio-runtime")]
36pub use client::KalamLinkClient;
37#[cfg(all(feature = "tokio-runtime", feature = "consumer"))]
38pub use consumer::ConsumerConfig;
39#[cfg(feature = "consumer")]
40pub use consumer::{
41    AutoOffsetReset, CommitMode, CommitResult, ConsumerOffsets, ConsumerRecord, PayloadMode,
42    TopicOp,
43};
44#[cfg(all(feature = "tokio-runtime", feature = "consumer"))]
45pub use consumer::{ConsumerBuilder, TopicConsumer};
46#[cfg(feature = "client-core")]
47pub use credentials::{CredentialStore, Credentials, MemoryCredentialStore};
48#[cfg(feature = "client-core")]
49pub use error::{KalamLinkError, Result};
50#[cfg(feature = "client-core")]
51pub use event_handlers::{ConnectionError, DisconnectReason, EventHandlers, MessageDirection};
52#[cfg(feature = "client-core")]
53pub use kalamdb_commons::ids::SeqId;
54#[cfg(feature = "client-core")]
55pub use kalamdb_commons::Role;
56pub use kalamdb_commons::TableId;
57pub use kalamdb_commons::UserId;
58pub use models::{
59    parse_i64, BoundFileRef, FieldFlag, FieldFlags, FileDownload, FileRef, FileRefContext,
60    FileUpload, KalamCellValue, KalamDataType, RowData, SchemaField,
61};
62#[cfg(feature = "consumer")]
63pub use models::{AckResponse, ConsumeMessage, ConsumeRequest, ConsumeResponse};
64#[cfg(feature = "client-core")]
65pub use models::{
66    ChangeEvent, ClusterHealthResponse, ClusterNodeHealth, ConnectionOptions, ErrorDetail,
67    HealthCheckResponse, HttpVersion, LoginRequest, LoginResponse, LoginUserInfo, QueryRequest,
68    QueryResponse, QueryResult, ServerSetupRequest, ServerSetupResponse, SetupStatusResponse,
69    SetupUserInfo, SqlSubscriptionDescriptor, SqlSubscriptionRow, SqlSubscriptionStatus,
70    SubscriptionConfig, SubscriptionInfo, SubscriptionOptions, UploadProgress,
71};
72#[cfg(feature = "client-core")]
73pub use query::models::QueryParam;
74#[cfg(feature = "tokio-runtime")]
75pub use query::AuthRefreshCallback;
76#[cfg(feature = "tokio-runtime")]
77pub use query::QueryExecutor;
78#[cfg(feature = "tokio-runtime")]
79pub use query::UploadProgressCallback;
80#[cfg(feature = "tokio-runtime")]
81pub use subscription::LiveRowsSubscription;
82#[cfg(feature = "tokio-runtime")]
83pub use subscription::SubscriptionManager;
84#[cfg(feature = "client-core")]
85pub use subscription::{LiveRowsConfig, LiveRowsEvent, LiveRowsMaterializer};
86#[cfg(feature = "client-core")]
87pub use timeouts::{KalamLinkTimeouts, KalamLinkTimeoutsBuilder};
88#[cfg(feature = "client-core")]
89pub use timestamp::{now, parse_iso8601, TimestampFormat, TimestampFormatter};
90
91pub const VERSION: &str = env!("CARGO_PKG_VERSION");