rust_actions/args.rs
1use crate::Result;
2use serde_json::Value;
3use std::collections::HashMap;
4
5pub type RawArgs = HashMap<String, Value>;
6
7pub trait FromArgs: Sized {
8 fn from_args(args: &RawArgs) -> Result<Self>;
9}
10
11impl FromArgs for () {
12 fn from_args(_args: &RawArgs) -> Result<Self> {
13 Ok(())
14 }
15}
16
17impl FromArgs for RawArgs {
18 fn from_args(args: &RawArgs) -> Result<Self> {
19 Ok(args.clone())
20 }
21}