Rename to streem

This commit is contained in:
asonix 2023-09-09 16:31:37 -04:00
parent 5428246aa7
commit 9fe8331210
10 changed files with 28 additions and 26 deletions

View file

@ -1,11 +1,11 @@
[package]
name = "streaming"
name = "streem"
description = "Simple utilities for creating and consuming streams"
version = "0.1.0"
license = "GPL-3.0"
authors = ["asonix <asonix@asonix.dog>"]
repository = "https://git.asonix.dog/asonix/streaming"
documentation = "https://docs.rs/streaming"
documentation = "https://docs.rs/streem"
readme = "README.md"
keywords = ["async", "streams"]
edition = "2021"

View file

@ -1,21 +1,21 @@
# Streaming
# Streem
A simple library for creating and consuming async streams
## Usage
```bash
$ cargo add streaming
$ cargo add streem
```
```rust
use streaming::IntoStreamer;
use streem::IntoStreamer;
fn from_iter<I>(iter: impl IntoIterator<Item = I>) -> impl futures_core::Stream<Item = I>
where
I: 'static,
{
streaming::from_fn(|yielder| async move {
streem::from_fn(|yielder| async move {
for i in iter {
yielder.yield_(i).await;
}

View file

@ -1,14 +1,14 @@
use streaming::IntoStreamer;
use streem::IntoStreamer;
fn main() {
futures_executor::block_on(async {
let input_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
let input_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
for i in 0..10 {
yielder.yield_(i).await;
}
}));
let filter_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
let filter_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
let mut streamer = input_stream.into_streamer();
while let Some(item) = streamer.next().await {

View file

@ -1,10 +1,10 @@
use streaming::IntoStreamer;
use streem::IntoStreamer;
fn from_iter<I>(iter: impl IntoIterator<Item = I>) -> impl futures_core::Stream<Item = I>
where
I: 'static,
{
streaming::from_fn(|yielder| async move {
streem::from_fn(|yielder| async move {
for i in iter {
yielder.yield_(i).await;
}

View file

@ -1,14 +1,14 @@
use streaming::IntoStreamer;
use streem::IntoStreamer;
fn main() {
futures_executor::block_on(async {
let input_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
let input_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
for i in 0..10 {
yielder.yield_(i).await;
}
}));
let map_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
let map_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
let mut streamer = input_stream.into_streamer();
while let Some(item) = streamer.next().await {

View file

@ -1,8 +1,8 @@
use streaming::IntoStreamer;
use streem::IntoStreamer;
fn main() -> Result<(), &'static str> {
futures_executor::block_on(async {
let input_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
let input_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
for item in [Ok(1), Ok(2), Err("failure")] {
yielder.yield_(item).await;
}
@ -10,7 +10,7 @@ fn main() -> Result<(), &'static str> {
let mut input_streamer = input_stream.into_streamer();
let output_stream = std::pin::pin!(streaming::try_from_fn(|yielder| async move {
let output_stream = std::pin::pin!(streem::try_from_fn(|yielder| async move {
while let Some(item) = input_streamer.try_next().await? {
yielder.yield_ok(item).await;
}

View file

@ -1,5 +1,5 @@
{
description = "streaming";
description = "streem";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";

View file

@ -71,7 +71,7 @@ impl<T: 'static, E: 'static> Yielder<Result<T, E>> {
///
/// Example:
/// ```rust
/// let input_stream = streaming::from_fn(|yielder| async move {
/// let input_stream = streem::from_fn(|yielder| async move {
/// for i in 0..10 {
/// yielder.yield_(i).await;
/// }
@ -97,7 +97,7 @@ where
/// # Ok(i)
/// }
///
/// let input_stream = streaming::try_from_fn(|yielder| async move {
/// let input_stream = streem::try_from_fn(|yielder| async move {
/// for i in 0..10 {
/// let value = fallible_fn(i)?;
///

View file

@ -1,3 +1,5 @@
#![doc = include_str!("../README.md")]
pub mod from_fn;
pub mod streamer;

View file

@ -6,8 +6,8 @@ pub trait IntoStreamer: futures_core::Stream {
///
/// Example
/// ```rust
/// use streaming::IntoStreamer;
/// let stream = streaming::from_fn(|yielder| async move { yielder.yield_(1).await; });
/// use streem::IntoStreamer;
/// let stream = streem::from_fn(|yielder| async move { yielder.yield_(1).await; });
/// let pinned = std::pin::pin!(stream);
/// let streamer = pinned.into_streamer();
/// ```
@ -31,12 +31,12 @@ impl<S> Streamer<S> {
///
/// Example:
/// ```rust
/// let input_stream = std::pin::pin!(streaming::from_fn(|yielder| async move {
/// let input_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
/// # for i in 0..10 {
/// # yielder.yield_(i).await;
/// # }
/// }));
/// use streaming::IntoStreamer;
/// use streem::IntoStreamer;
///
/// let mut streamer = input_stream.into_streamer();
///
@ -61,7 +61,7 @@ impl<S> Streamer<S> {
/// # Ok(i)
/// # }
/// #
/// let input_stream = std::pin::pin!(streaming::try_from_fn(|yielder| async move {
/// let input_stream = std::pin::pin!(streem::try_from_fn(|yielder| async move {
/// # for i in 0..10 {
/// # let value = fallible_fn(i)?;
/// #
@ -70,7 +70,7 @@ impl<S> Streamer<S> {
/// #
/// # Ok(()) as Result<_, String>
/// }));
/// use streaming::IntoStreamer;
/// use streem::IntoStreamer;
///
/// let mut streamer = input_stream.into_streamer();
///