aboutsummaryrefslogtreecommitdiff
path: root/examples/example-combine-pathf-dispatch-tree/src/sub/mod.rs
blob: e0b77434e8eae36f9e85eda541c50867a3a7d557 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::Next;
use mingling::{macros::r_println, prelude::*};

dispatcher!("hello");

pack!(ResultMessage = String);

#[chain]
pub fn handle_my(args: EntryHello) -> Next {
    let name: ResultMessage = args
        .inner
        .first()
        .cloned()
        .unwrap_or_else(|| "World".to_string())
        .into();
    name
}

#[renderer]
pub fn render_my(msg: ResultMessage) {
    r_println!("Hello, {}!", *msg);
}