#![deny(missing_docs, rust_2018_idioms, nonstandard_style, future_incompatible)]
#![doc = include_str!("README.md")]
use tower::util::BoxCloneService;
mod action;
mod axum;
mod context;
mod errors;
mod extract;
mod frame;
mod future;
mod layer;
mod pattern;
mod routing;
mod system;
pub use action::*;
pub use axum::*;
pub use context::*;
pub use errors::Error;
pub use extract::*;
pub use frame::*;
pub use future::*;
pub use pattern::*;
pub use routing::*;
pub use system::{StatefulSystem, StatelessSystem, System};
pub type ActionService = BoxCloneService<Frame, Frame, Error>;
pub type Actions<State> = Vec<BoxedAction<State>>;
pub type BoxedAction<State> = Box<dyn Actionable<State>>;
pub type Result<T> = std::result::Result<T, Error>;