cdoc_base/node/
definition.rs1use 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 {}