cdoc_base/node/
definition.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Clone, Debug, Serialize, Deserialize)]
5pub struct NodeDef {
6    pub name: String,
7    pub description: String,
8    pub parameters: Vec<Parameter>,
9    pub children: bool,
10    pub templates: HashMap<String, String>,
11    pub examples: Vec<UsageExample>,
12}
13
14#[derive(Clone, Debug, Serialize, Deserialize)]
15pub struct UsageExample {
16    pub title: String,
17    pub body: String,
18}
19
20#[derive(Clone, Debug, Serialize, Deserialize)]
21pub struct Parameter {
22    pub name: String,
23    #[serde(default)]
24    pub description: String,
25    #[serde(rename = "type")]
26    pub type_: String,
27    #[serde(default)]
28    pub optional: bool,
29}
30
31#[derive(Deserialize)]
32pub struct ParameterType {}