fluent_pipeline 0.1.0

A lightweight pipeline system for Rust.
Documentation
# Pipeline for Rust

[![crates.io](https://img.shields.io/crates/v/fluent_pipeline.svg)](https://crates.io/crates/fluent_pipeline)
[![download count badge](https://img.shields.io/crates/d/fluent_pipeline.svg)](https://crates.io/crates/fluent_pipeline)
[![docs.rs](https://img.shields.io/badge/docs-latest-blue.svg)](https://docs.rs/fluent_pipeline)

A convenient way to "pipe" a given input through a series of invokable classes, closures, or callables, giving each class the opportunity to inspect or modify the input and invoke the next callable in the pipeline.

## Usage

To get started, create a new pipeline with the `send` method, passing the input you want to pipe through the pipeline. Then, use the `through` method to add a series of pipes (either classes implenting the `Pipe` trait, or closures) to the pipeline. Finally, call the `then` method to transform and get the final output.

You can also append `Pipe`s to an existing pipeline using the `pipe` method, or use `thenReturn` to get the final output without transforming it.

```rust
use fluent_pipeline::Pipeline;

Pipeline::send(project).through(&[
    PipeType::Pipe(BuildProject()),
    PipeType::Pipe(UploadProject()),
    PipeType::Pipe(DeployProject()),
    PipeType::Fn(|project| {
        // ...

        return project
    })
]).run()
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.