wmark/
lib.rs

1//! `Watermark` and `Closer` implementation for implementing transaction.
2#![allow(clippy::type_complexity)]
3#![deny(warnings, missing_docs)]
4#![cfg_attr(docsrs, feature(doc_cfg))]
5#![cfg_attr(docsrs, allow(unused_attributes))]
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(feature = "core")]
9extern crate alloc;
10
11#[cfg(feature = "std")]
12extern crate std;
13
14mod closer;
15
16#[cfg(feature = "std")]
17pub use closer::Closer;
18
19#[cfg(feature = "future")]
20pub use closer::AsyncCloser;
21
22mod watermark;
23
24#[cfg(feature = "std")]
25pub use watermark::{WaterMark, WaterMarkError};
26
27#[cfg(feature = "future")]
28#[cfg_attr(docsrs, doc(cfg(feature = "future")))]
29pub use watermark::future::AsyncWaterMark;
30
31#[cfg(feature = "future")]
32#[cfg_attr(docsrs, doc(cfg(feature = "future")))]
33pub use agnostic_lite::{AsyncSpawner, Detach};
34
35#[cfg(all(feature = "tokio", feature = "future"))]
36#[cfg_attr(docsrs, doc(cfg(all(feature = "tokio", feature = "future"))))]
37pub use agnostic_lite::tokio::TokioSpawner;
38
39#[cfg(feature = "async-std")]
40#[cfg_attr(docsrs, doc(cfg(feature = "async-std")))]
41pub use agnostic_lite::async_std::AsyncStdSpawner;
42
43#[cfg(feature = "smol")]
44#[cfg_attr(docsrs, doc(cfg(feature = "smol")))]
45pub use agnostic_lite::smol::SmolSpawner;
46
47#[cfg(feature = "wasm")]
48#[cfg_attr(docsrs, doc(cfg(feature = "wasm")))]
49pub use agnostic_lite::wasm::WasmSpawner;