notebook_types/v0/
document.rs1use super::analysis::Analysis;
2use super::api::Link;
3use super::diagram_judgment::DiagramJudgment;
4use super::model_judgment::ModelJudgment;
5use super::notebook::Notebook;
6
7use serde::{Deserialize, Serialize};
8use tsify::Tsify;
9
10#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Tsify)]
13#[tsify(into_wasm_abi, from_wasm_abi)]
14pub struct ModelDocumentContent {
15 pub name: String,
16 pub theory: String,
17 pub notebook: Notebook<ModelJudgment>,
18}
19
20#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Tsify)]
21#[tsify(into_wasm_abi, from_wasm_abi)]
22pub struct DiagramDocumentContent {
23 pub name: String,
24 #[serde(rename = "diagramIn")]
25 pub diagram_in: Link,
26 pub notebook: Notebook<DiagramJudgment>,
27}
28
29#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Tsify)]
30#[tsify(into_wasm_abi, from_wasm_abi)]
31pub enum AnalysisType {
32 #[serde(rename = "model")]
33 Model,
34 #[serde(rename = "diagram")]
35 Diagram,
36}
37
38#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Tsify)]
39#[tsify(into_wasm_abi, from_wasm_abi)]
40pub struct AnalysisDocumentContent {
41 pub name: String,
42 #[serde(rename = "analysisType")]
43 pub analysis_type: AnalysisType,
44 #[serde(rename = "analysisOf")]
45 pub analysis_of: Link,
46 pub notebook: Notebook<Analysis>,
47}
48
49#[derive(PartialEq, Eq, Debug, Serialize, Deserialize, Tsify)]
50#[serde(tag = "type")]
51#[tsify(into_wasm_abi, from_wasm_abi)]
52pub enum Document {
53 #[serde(rename = "model")]
54 Model(ModelDocumentContent),
55 #[serde(rename = "diagram")]
56 Diagram(DiagramDocumentContent),
57 #[serde(rename = "analysis")]
58 Analysis(AnalysisDocumentContent),
59}