intercom-rs 1.1.1

A fully typed async wrapper for NATS with JetStream support
Documentation
//! JetStream support with builder pattern.
//!
//! This module provides typed JetStream operations including:
//!
//! - Stream creation and management with builder pattern
//! - Push and pull consumers
//! - Interest-based consumers
//! - Work queues
//!
//! # Example
//!
//! ```no_run
//! use intercom::{Client, MsgPackCodec, jetstream::stream::StreamConfig};
//! use serde::{Deserialize, Serialize};
//!
//! #[derive(Serialize, Deserialize, Debug)]
//! struct Event {
//!     id: u64,
//!     data: String,
//! }
//!
//! # async fn example() -> intercom::Result<()> {
//! let client = Client::<MsgPackCodec>::connect("nats://localhost:4222").await?;
//! let jetstream = client.jetstream();
//!
//! // Create a stream with builder pattern
//! let stream = jetstream
//!     .stream_builder("events")
//!     .subjects(vec!["events.>".to_string()])
//!     .max_messages(1_000_000)
//!     .create()
//!     .await?;
//!
//! // Publish typed messages
//! jetstream.publish::<Event>("events.user", &Event {
//!     id: 1,
//!     data: "user created".to_string(),
//! }).await?;
//!
//! // Create a pull consumer
//! let consumer = stream
//!     .pull_consumer_builder::<Event>("my-consumer")
//!     .durable()
//!     .create()
//!     .await?;
//! # Ok(())
//! # }
//! ```

pub mod consumer;
pub mod context;
pub mod queue;
pub mod stream;