lefthk-core 0.3.2

A hotkey daemon for Adventurers
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::config::Command;

use super::normalized_command::NormalizedCommand;

pub struct DenormalizeCommandFunction(pub fn(&NormalizedCommand) -> Option<Box<dyn Command>>);

impl DenormalizeCommandFunction {
    #[must_use]
    pub const fn new<T: Command + 'static>() -> Self {
        DenormalizeCommandFunction(|normalized: &NormalizedCommand| {
            T::denormalize(normalized).map(|cmd| cmd as Box<dyn Command>)
        })
    }
}