brack_sdk_rs/
lib.rs

1pub mod ast;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Hash)]
6pub enum Type {
7    TInline,
8    TOption(Box<Type>),
9    TBlock,
10    TArray(Box<Type>),
11    TInlineCmd(String),
12    TBlockCmd(String),
13    TAST,
14}
15
16#[derive(Debug, Serialize, Deserialize, Clone)]
17pub struct MetaData {
18    pub command_name: String,
19    pub call_name: String,
20    pub argument_types: Vec<(String, Type)>,
21    pub return_type: Type,
22}
23
24#[derive(Debug, Serialize, Deserialize, Clone)]
25pub enum Value {
26    Text(String),
27    TextArray(Vec<String>),
28    TextOption(Option<String>),
29}