aboutsummaryrefslogtreecommitdiff
path: root/examples/example-pathfinder/src/sub/mod.rs
blob: ef10a758c64e25e569d96b0725f510d9f8503f17 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use mingling::prelude::*;
use crate::Next;

dispatcher!("greet", CMDGreet => EntryGreet);
pack!(ResultName = String);

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

#[renderer]
pub fn render_name(name: ResultName) {
    r_println!("Hello, {}!", *name);
}