aboutsummaryrefslogtreecommitdiff
path: root/examples/example-async/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example-async/src')
-rw-r--r--examples/example-async/src/main.rs50
1 files changed, 0 insertions, 50 deletions
diff --git a/examples/example-async/src/main.rs b/examples/example-async/src/main.rs
deleted file mode 100644
index 7b0be38..0000000
--- a/examples/example-async/src/main.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-//! `Mingling` Example - Async
-//!
-//! After enabling the `async` feature:
-//! 1. The `chain!` macro will support using **async** functions,
-//! 2. The `exec` function of `Program` will return a `Future` for you to use with an async runtime
-//!
-//! ## Enable Feature
-//! Enable the `async` feature for mingling in `Cargo.toml`
-//! ```toml
-//! [dependencies]
-//! mingling = { version = "...", features = ["async"] }
-//! ```
-//!
-//! # How to Run
-//! ```bash
-//! cargo run --manifest-path ./examples/example-async/Cargo.toml -- hello World
-//! ```
-
-use mingling::prelude::*;
-
-dispatcher!("hello", HelloCommand => HelloEntry);
-
-// Use Tokio async runtime
-#[tokio::main]
-async fn main() {
- let mut program = ThisProgram::new();
- program.with_dispatcher(HelloCommand);
-
- // Run program
- program.exec().await;
-}
-
-pack!(Hello = String);
-
-// You can freely use async / non-async functions to declare your Chain
-
-#[chain]
-// fn parse_name(prev: HelloEntry) -> Next {
-async fn parse_name(prev: HelloEntry) -> Next {
- let name = prev.first().cloned().unwrap_or_else(|| "World".to_string());
- Hello::new(name).to_render()
-}
-
-// For renderers, you can still only use synchronous functions
-#[renderer]
-fn render_hello_who(prev: Hello) {
- r_println!("Hello, {}!", *prev);
-}
-
-gen_program!();