1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3
4mod async_coroutine;
5mod async_iter;
6mod types;
7
8pub use futures_core;
9
10pub use async_coroutine::{gen, AsyncGen, Return, Yielder};
11pub use async_iter::{async_iter_from, AsyncIter};
12pub use types::{AsyncGenerator, GeneratorState};
13
14#[macro_export]
36macro_rules! gen {
37 ($($tt:tt)*) => {
38 $crate::__private::gen_inner!(($crate) $($tt)*)
39 }
40}
41
42#[macro_export]
44macro_rules! stream {
45 ($($tt:tt)*) => {
46 $crate::__private::gen_inner!(($crate) $($tt)*).into_async_iter()
47 }
48}
49
50#[doc(hidden)]
51pub mod __private {
52 pub use async_gen_macros::gen_inner;
53}