@abraca/schema 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abracadabra-schema.cjs +853 -0
- package/dist/abracadabra-schema.cjs.map +1 -0
- package/dist/abracadabra-schema.esm.js +781 -0
- package/dist/abracadabra-schema.esm.js.map +1 -0
- package/dist/index.d.ts +2538 -0
- package/package.json +41 -0
- package/src/crdt.ts +63 -0
- package/src/generated/calendar.ts +35 -0
- package/src/generated/chart.ts +35 -0
- package/src/generated/checklist.ts +35 -0
- package/src/generated/dashboard.ts +35 -0
- package/src/generated/doc.ts +35 -0
- package/src/generated/gallery.ts +35 -0
- package/src/generated/graph.ts +35 -0
- package/src/generated/json-schema/calendar.json +140 -0
- package/src/generated/json-schema/chart.json +164 -0
- package/src/generated/json-schema/checklist.json +138 -0
- package/src/generated/json-schema/dashboard.json +122 -0
- package/src/generated/json-schema/doc.json +122 -0
- package/src/generated/json-schema/gallery.json +157 -0
- package/src/generated/json-schema/graph.json +125 -0
- package/src/generated/json-schema/kanban.json +145 -0
- package/src/generated/json-schema/map.json +125 -0
- package/src/generated/json-schema/outline.json +122 -0
- package/src/generated/json-schema/overview.json +122 -0
- package/src/generated/json-schema/plugin-manifest.json +221 -0
- package/src/generated/json-schema/prose.json +122 -0
- package/src/generated/json-schema/sheets.json +135 -0
- package/src/generated/json-schema/slides.json +129 -0
- package/src/generated/json-schema/table.json +136 -0
- package/src/generated/json-schema/timeline.json +122 -0
- package/src/generated/kanban.ts +35 -0
- package/src/generated/map.ts +35 -0
- package/src/generated/markdown/calendar.md +59 -0
- package/src/generated/markdown/chart.md +62 -0
- package/src/generated/markdown/checklist.md +58 -0
- package/src/generated/markdown/dashboard.md +56 -0
- package/src/generated/markdown/doc.md +56 -0
- package/src/generated/markdown/gallery.md +61 -0
- package/src/generated/markdown/graph.md +57 -0
- package/src/generated/markdown/kanban.md +62 -0
- package/src/generated/markdown/map.md +57 -0
- package/src/generated/markdown/outline.md +56 -0
- package/src/generated/markdown/overview.md +56 -0
- package/src/generated/markdown/prose.md +56 -0
- package/src/generated/markdown/sheets.md +59 -0
- package/src/generated/markdown/slides.md +57 -0
- package/src/generated/markdown/table.md +58 -0
- package/src/generated/markdown/timeline.md +56 -0
- package/src/generated/outline.ts +35 -0
- package/src/generated/overview.ts +35 -0
- package/src/generated/prose.ts +35 -0
- package/src/generated/rust/calendar.rs +125 -0
- package/src/generated/rust/chart.rs +151 -0
- package/src/generated/rust/checklist.rs +123 -0
- package/src/generated/rust/dashboard.rs +101 -0
- package/src/generated/rust/doc.rs +101 -0
- package/src/generated/rust/gallery.rs +146 -0
- package/src/generated/rust/graph.rs +104 -0
- package/src/generated/rust/kanban.rs +127 -0
- package/src/generated/rust/map.rs +104 -0
- package/src/generated/rust/outline.rs +101 -0
- package/src/generated/rust/overview.rs +101 -0
- package/src/generated/rust/prose.rs +101 -0
- package/src/generated/rust/sheets.rs +110 -0
- package/src/generated/rust/slides.rs +111 -0
- package/src/generated/rust/table.rs +121 -0
- package/src/generated/rust/timeline.rs +101 -0
- package/src/generated/sheets.ts +35 -0
- package/src/generated/slides.ts +35 -0
- package/src/generated/table.ts +35 -0
- package/src/generated/timeline.ts +35 -0
- package/src/index.ts +389 -0
- package/src/manifest/plugin-manifest.ts +212 -0
- package/src/query.ts +150 -0
- package/src/types/calendar.ts +23 -0
- package/src/types/chart.ts +36 -0
- package/src/types/checklist.ts +22 -0
- package/src/types/dashboard.ts +18 -0
- package/src/types/doc.ts +19 -0
- package/src/types/gallery.ts +24 -0
- package/src/types/graph.ts +21 -0
- package/src/types/kanban.ts +27 -0
- package/src/types/map.ts +21 -0
- package/src/types/outline.ts +17 -0
- package/src/types/overview.ts +17 -0
- package/src/types/prose.ts +19 -0
- package/src/types/sheets.ts +24 -0
- package/src/types/slides.ts +22 -0
- package/src/types/table.ts +22 -0
- package/src/types/timeline.ts +18 -0
- package/src/types/universal.ts +59 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (doc).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/doc.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
13
|
+
#[serde(deny_unknown_fields)]
|
|
14
|
+
pub struct DocMeta {
|
|
15
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
16
|
+
pub color: Option<String>,
|
|
17
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
18
|
+
pub icon: Option<String>,
|
|
19
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
20
|
+
#[serde(rename = "datetimeStart")]
|
|
21
|
+
pub datetime_start: Option<String>,
|
|
22
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
23
|
+
#[serde(rename = "datetimeEnd")]
|
|
24
|
+
pub datetime_end: Option<String>,
|
|
25
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
26
|
+
#[serde(rename = "allDay")]
|
|
27
|
+
pub all_day: Option<bool>,
|
|
28
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
29
|
+
#[serde(rename = "dateStart")]
|
|
30
|
+
pub date_start: Option<String>,
|
|
31
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
32
|
+
#[serde(rename = "dateEnd")]
|
|
33
|
+
pub date_end: Option<String>,
|
|
34
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
35
|
+
#[serde(rename = "timeStart")]
|
|
36
|
+
pub time_start: Option<String>,
|
|
37
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
38
|
+
#[serde(rename = "timeEnd")]
|
|
39
|
+
pub time_end: Option<String>,
|
|
40
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
41
|
+
pub tags: Option<Vec<String>>,
|
|
42
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
43
|
+
pub checked: Option<bool>,
|
|
44
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
45
|
+
pub priority: Option<i64>,
|
|
46
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
47
|
+
pub status: Option<String>,
|
|
48
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
49
|
+
pub rating: Option<f64>,
|
|
50
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
51
|
+
pub url: Option<String>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
pub email: Option<String>,
|
|
54
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
55
|
+
pub phone: Option<String>,
|
|
56
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
57
|
+
pub number: Option<f64>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
pub unit: Option<String>,
|
|
60
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
61
|
+
pub subtitle: Option<String>,
|
|
62
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
63
|
+
pub note: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
#[serde(rename = "taskProgress")]
|
|
66
|
+
pub task_progress: Option<f64>,
|
|
67
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
68
|
+
#[serde(rename = "assignedTo")]
|
|
69
|
+
pub assigned_to: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
#[serde(rename = "coverUploadId")]
|
|
72
|
+
pub cover_upload_id: Option<String>,
|
|
73
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
74
|
+
#[serde(rename = "coverDocId")]
|
|
75
|
+
pub cover_doc_id: Option<String>,
|
|
76
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
77
|
+
#[serde(rename = "coverMimeType")]
|
|
78
|
+
pub cover_mime_type: Option<String>,
|
|
79
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
80
|
+
#[serde(rename = "__schemaVersion")]
|
|
81
|
+
pub _schema_version: Option<i64>,
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
85
|
+
#[serde(rename_all = "kebab-case")]
|
|
86
|
+
pub enum DocTypeName {
|
|
87
|
+
Doc,
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
91
|
+
#[serde(rename_all = "lowercase")]
|
|
92
|
+
pub enum BodyKind {
|
|
93
|
+
Ytext,
|
|
94
|
+
Yarray,
|
|
95
|
+
Ymap,
|
|
96
|
+
None,
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
100
|
+
(DocTypeName::Doc, 1u32, BodyKind::Ytext, &[]),
|
|
101
|
+
];
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (gallery).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/gallery.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
13
|
+
#[serde(rename_all = "lowercase")]
|
|
14
|
+
pub enum GalleryGalleryAspect {
|
|
15
|
+
Square,
|
|
16
|
+
#[serde(rename = "4:3")]
|
|
17
|
+
V43,
|
|
18
|
+
#[serde(rename = "3:2")]
|
|
19
|
+
V32,
|
|
20
|
+
#[serde(rename = "16:9")]
|
|
21
|
+
V169,
|
|
22
|
+
Free,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
26
|
+
#[serde(rename_all = "lowercase")]
|
|
27
|
+
pub enum GalleryGalleryCardStyle {
|
|
28
|
+
Default,
|
|
29
|
+
Compact,
|
|
30
|
+
Detailed,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
34
|
+
#[serde(rename_all = "lowercase")]
|
|
35
|
+
pub enum GalleryGallerySortBy {
|
|
36
|
+
Manual,
|
|
37
|
+
Date,
|
|
38
|
+
Name,
|
|
39
|
+
Rating,
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
43
|
+
#[serde(deny_unknown_fields)]
|
|
44
|
+
pub struct GalleryMeta {
|
|
45
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
46
|
+
pub color: Option<String>,
|
|
47
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
48
|
+
pub icon: Option<String>,
|
|
49
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
50
|
+
#[serde(rename = "datetimeStart")]
|
|
51
|
+
pub datetime_start: Option<String>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
#[serde(rename = "datetimeEnd")]
|
|
54
|
+
pub datetime_end: Option<String>,
|
|
55
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
56
|
+
#[serde(rename = "allDay")]
|
|
57
|
+
pub all_day: Option<bool>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
#[serde(rename = "dateStart")]
|
|
60
|
+
pub date_start: Option<String>,
|
|
61
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
62
|
+
#[serde(rename = "dateEnd")]
|
|
63
|
+
pub date_end: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
#[serde(rename = "timeStart")]
|
|
66
|
+
pub time_start: Option<String>,
|
|
67
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
68
|
+
#[serde(rename = "timeEnd")]
|
|
69
|
+
pub time_end: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
pub tags: Option<Vec<String>>,
|
|
72
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
73
|
+
pub checked: Option<bool>,
|
|
74
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
75
|
+
pub priority: Option<i64>,
|
|
76
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
77
|
+
pub status: Option<String>,
|
|
78
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
79
|
+
pub rating: Option<f64>,
|
|
80
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
81
|
+
pub url: Option<String>,
|
|
82
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
83
|
+
pub email: Option<String>,
|
|
84
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
85
|
+
pub phone: Option<String>,
|
|
86
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
87
|
+
pub number: Option<f64>,
|
|
88
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
89
|
+
pub unit: Option<String>,
|
|
90
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
91
|
+
pub subtitle: Option<String>,
|
|
92
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
93
|
+
pub note: Option<String>,
|
|
94
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
95
|
+
#[serde(rename = "taskProgress")]
|
|
96
|
+
pub task_progress: Option<f64>,
|
|
97
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
98
|
+
#[serde(rename = "assignedTo")]
|
|
99
|
+
pub assigned_to: Option<String>,
|
|
100
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
101
|
+
#[serde(rename = "coverUploadId")]
|
|
102
|
+
pub cover_upload_id: Option<String>,
|
|
103
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
104
|
+
#[serde(rename = "coverDocId")]
|
|
105
|
+
pub cover_doc_id: Option<String>,
|
|
106
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
107
|
+
#[serde(rename = "coverMimeType")]
|
|
108
|
+
pub cover_mime_type: Option<String>,
|
|
109
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
110
|
+
#[serde(rename = "__schemaVersion")]
|
|
111
|
+
pub _schema_version: Option<i64>,
|
|
112
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
113
|
+
#[serde(rename = "galleryColumns")]
|
|
114
|
+
pub gallery_columns: Option<i64>,
|
|
115
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
116
|
+
#[serde(rename = "galleryAspect")]
|
|
117
|
+
pub gallery_aspect: Option<GalleryGalleryAspect>,
|
|
118
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
119
|
+
#[serde(rename = "galleryCardStyle")]
|
|
120
|
+
pub gallery_card_style: Option<GalleryGalleryCardStyle>,
|
|
121
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
122
|
+
#[serde(rename = "galleryShowLabels")]
|
|
123
|
+
pub gallery_show_labels: Option<bool>,
|
|
124
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
125
|
+
#[serde(rename = "gallerySortBy")]
|
|
126
|
+
pub gallery_sort_by: Option<GalleryGallerySortBy>,
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
130
|
+
#[serde(rename_all = "kebab-case")]
|
|
131
|
+
pub enum DocTypeName {
|
|
132
|
+
Gallery,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
136
|
+
#[serde(rename_all = "lowercase")]
|
|
137
|
+
pub enum BodyKind {
|
|
138
|
+
Ytext,
|
|
139
|
+
Yarray,
|
|
140
|
+
Ymap,
|
|
141
|
+
None,
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
145
|
+
(DocTypeName::Gallery, 1u32, BodyKind::None, &[]),
|
|
146
|
+
];
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (graph).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/graph.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
13
|
+
#[serde(deny_unknown_fields)]
|
|
14
|
+
pub struct GraphMeta {
|
|
15
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
16
|
+
pub color: Option<String>,
|
|
17
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
18
|
+
pub icon: Option<String>,
|
|
19
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
20
|
+
#[serde(rename = "datetimeStart")]
|
|
21
|
+
pub datetime_start: Option<String>,
|
|
22
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
23
|
+
#[serde(rename = "datetimeEnd")]
|
|
24
|
+
pub datetime_end: Option<String>,
|
|
25
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
26
|
+
#[serde(rename = "allDay")]
|
|
27
|
+
pub all_day: Option<bool>,
|
|
28
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
29
|
+
#[serde(rename = "dateStart")]
|
|
30
|
+
pub date_start: Option<String>,
|
|
31
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
32
|
+
#[serde(rename = "dateEnd")]
|
|
33
|
+
pub date_end: Option<String>,
|
|
34
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
35
|
+
#[serde(rename = "timeStart")]
|
|
36
|
+
pub time_start: Option<String>,
|
|
37
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
38
|
+
#[serde(rename = "timeEnd")]
|
|
39
|
+
pub time_end: Option<String>,
|
|
40
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
41
|
+
pub tags: Option<Vec<String>>,
|
|
42
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
43
|
+
pub checked: Option<bool>,
|
|
44
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
45
|
+
pub priority: Option<i64>,
|
|
46
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
47
|
+
pub status: Option<String>,
|
|
48
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
49
|
+
pub rating: Option<f64>,
|
|
50
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
51
|
+
pub url: Option<String>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
pub email: Option<String>,
|
|
54
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
55
|
+
pub phone: Option<String>,
|
|
56
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
57
|
+
pub number: Option<f64>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
pub unit: Option<String>,
|
|
60
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
61
|
+
pub subtitle: Option<String>,
|
|
62
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
63
|
+
pub note: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
#[serde(rename = "taskProgress")]
|
|
66
|
+
pub task_progress: Option<f64>,
|
|
67
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
68
|
+
#[serde(rename = "assignedTo")]
|
|
69
|
+
pub assigned_to: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
#[serde(rename = "coverUploadId")]
|
|
72
|
+
pub cover_upload_id: Option<String>,
|
|
73
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
74
|
+
#[serde(rename = "coverDocId")]
|
|
75
|
+
pub cover_doc_id: Option<String>,
|
|
76
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
77
|
+
#[serde(rename = "coverMimeType")]
|
|
78
|
+
pub cover_mime_type: Option<String>,
|
|
79
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
80
|
+
#[serde(rename = "__schemaVersion")]
|
|
81
|
+
pub _schema_version: Option<i64>,
|
|
82
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
83
|
+
#[serde(rename = "showRefEdges")]
|
|
84
|
+
pub show_ref_edges: Option<bool>,
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
88
|
+
#[serde(rename_all = "kebab-case")]
|
|
89
|
+
pub enum DocTypeName {
|
|
90
|
+
Graph,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
94
|
+
#[serde(rename_all = "lowercase")]
|
|
95
|
+
pub enum BodyKind {
|
|
96
|
+
Ytext,
|
|
97
|
+
Yarray,
|
|
98
|
+
Ymap,
|
|
99
|
+
None,
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
103
|
+
(DocTypeName::Graph, 1u32, BodyKind::None, &[]),
|
|
104
|
+
];
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (kanban).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/kanban.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
13
|
+
#[serde(rename_all = "lowercase")]
|
|
14
|
+
pub enum KanbanKanbanColumnWidth {
|
|
15
|
+
Narrow,
|
|
16
|
+
Default,
|
|
17
|
+
Wide,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
21
|
+
#[serde(deny_unknown_fields)]
|
|
22
|
+
pub struct KanbanMeta {
|
|
23
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
24
|
+
pub color: Option<String>,
|
|
25
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
26
|
+
pub icon: Option<String>,
|
|
27
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
28
|
+
#[serde(rename = "datetimeStart")]
|
|
29
|
+
pub datetime_start: Option<String>,
|
|
30
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
31
|
+
#[serde(rename = "datetimeEnd")]
|
|
32
|
+
pub datetime_end: Option<String>,
|
|
33
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
34
|
+
#[serde(rename = "allDay")]
|
|
35
|
+
pub all_day: Option<bool>,
|
|
36
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
37
|
+
#[serde(rename = "dateStart")]
|
|
38
|
+
pub date_start: Option<String>,
|
|
39
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
40
|
+
#[serde(rename = "dateEnd")]
|
|
41
|
+
pub date_end: Option<String>,
|
|
42
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
43
|
+
#[serde(rename = "timeStart")]
|
|
44
|
+
pub time_start: Option<String>,
|
|
45
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
46
|
+
#[serde(rename = "timeEnd")]
|
|
47
|
+
pub time_end: Option<String>,
|
|
48
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
49
|
+
pub tags: Option<Vec<String>>,
|
|
50
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
51
|
+
pub checked: Option<bool>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
pub priority: Option<i64>,
|
|
54
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
55
|
+
pub status: Option<String>,
|
|
56
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
57
|
+
pub rating: Option<f64>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
pub url: Option<String>,
|
|
60
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
61
|
+
pub email: Option<String>,
|
|
62
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
63
|
+
pub phone: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
pub number: Option<f64>,
|
|
66
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
67
|
+
pub unit: Option<String>,
|
|
68
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
69
|
+
pub subtitle: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
pub note: Option<String>,
|
|
72
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
73
|
+
#[serde(rename = "taskProgress")]
|
|
74
|
+
pub task_progress: Option<f64>,
|
|
75
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
76
|
+
#[serde(rename = "assignedTo")]
|
|
77
|
+
pub assigned_to: Option<String>,
|
|
78
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
79
|
+
#[serde(rename = "coverUploadId")]
|
|
80
|
+
pub cover_upload_id: Option<String>,
|
|
81
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
82
|
+
#[serde(rename = "coverDocId")]
|
|
83
|
+
pub cover_doc_id: Option<String>,
|
|
84
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
85
|
+
#[serde(rename = "coverMimeType")]
|
|
86
|
+
pub cover_mime_type: Option<String>,
|
|
87
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
88
|
+
#[serde(rename = "__schemaVersion")]
|
|
89
|
+
pub _schema_version: Option<i64>,
|
|
90
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
91
|
+
#[serde(rename = "kanbanColumnWidth")]
|
|
92
|
+
pub kanban_column_width: Option<KanbanKanbanColumnWidth>,
|
|
93
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
94
|
+
#[serde(rename = "kanbanShowIcon")]
|
|
95
|
+
pub kanban_show_icon: Option<bool>,
|
|
96
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
97
|
+
#[serde(rename = "kanbanShowTags")]
|
|
98
|
+
pub kanban_show_tags: Option<bool>,
|
|
99
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
100
|
+
#[serde(rename = "kanbanShowPriority")]
|
|
101
|
+
pub kanban_show_priority: Option<bool>,
|
|
102
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
103
|
+
#[serde(rename = "kanbanShowDueDate")]
|
|
104
|
+
pub kanban_show_due_date: Option<bool>,
|
|
105
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
106
|
+
#[serde(rename = "kanbanShowCover")]
|
|
107
|
+
pub kanban_show_cover: Option<bool>,
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
111
|
+
#[serde(rename_all = "kebab-case")]
|
|
112
|
+
pub enum DocTypeName {
|
|
113
|
+
Kanban,
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
117
|
+
#[serde(rename_all = "lowercase")]
|
|
118
|
+
pub enum BodyKind {
|
|
119
|
+
Ytext,
|
|
120
|
+
Yarray,
|
|
121
|
+
Ymap,
|
|
122
|
+
None,
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
126
|
+
(DocTypeName::Kanban, 1u32, BodyKind::None, &[]),
|
|
127
|
+
];
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (map).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/map.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
13
|
+
#[serde(deny_unknown_fields)]
|
|
14
|
+
pub struct MapMeta {
|
|
15
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
16
|
+
pub color: Option<String>,
|
|
17
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
18
|
+
pub icon: Option<String>,
|
|
19
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
20
|
+
#[serde(rename = "datetimeStart")]
|
|
21
|
+
pub datetime_start: Option<String>,
|
|
22
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
23
|
+
#[serde(rename = "datetimeEnd")]
|
|
24
|
+
pub datetime_end: Option<String>,
|
|
25
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
26
|
+
#[serde(rename = "allDay")]
|
|
27
|
+
pub all_day: Option<bool>,
|
|
28
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
29
|
+
#[serde(rename = "dateStart")]
|
|
30
|
+
pub date_start: Option<String>,
|
|
31
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
32
|
+
#[serde(rename = "dateEnd")]
|
|
33
|
+
pub date_end: Option<String>,
|
|
34
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
35
|
+
#[serde(rename = "timeStart")]
|
|
36
|
+
pub time_start: Option<String>,
|
|
37
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
38
|
+
#[serde(rename = "timeEnd")]
|
|
39
|
+
pub time_end: Option<String>,
|
|
40
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
41
|
+
pub tags: Option<Vec<String>>,
|
|
42
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
43
|
+
pub checked: Option<bool>,
|
|
44
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
45
|
+
pub priority: Option<i64>,
|
|
46
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
47
|
+
pub status: Option<String>,
|
|
48
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
49
|
+
pub rating: Option<f64>,
|
|
50
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
51
|
+
pub url: Option<String>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
pub email: Option<String>,
|
|
54
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
55
|
+
pub phone: Option<String>,
|
|
56
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
57
|
+
pub number: Option<f64>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
pub unit: Option<String>,
|
|
60
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
61
|
+
pub subtitle: Option<String>,
|
|
62
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
63
|
+
pub note: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
#[serde(rename = "taskProgress")]
|
|
66
|
+
pub task_progress: Option<f64>,
|
|
67
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
68
|
+
#[serde(rename = "assignedTo")]
|
|
69
|
+
pub assigned_to: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
#[serde(rename = "coverUploadId")]
|
|
72
|
+
pub cover_upload_id: Option<String>,
|
|
73
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
74
|
+
#[serde(rename = "coverDocId")]
|
|
75
|
+
pub cover_doc_id: Option<String>,
|
|
76
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
77
|
+
#[serde(rename = "coverMimeType")]
|
|
78
|
+
pub cover_mime_type: Option<String>,
|
|
79
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
80
|
+
#[serde(rename = "__schemaVersion")]
|
|
81
|
+
pub _schema_version: Option<i64>,
|
|
82
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
83
|
+
#[serde(rename = "mapShowLabels")]
|
|
84
|
+
pub map_show_labels: Option<bool>,
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
88
|
+
#[serde(rename_all = "kebab-case")]
|
|
89
|
+
pub enum DocTypeName {
|
|
90
|
+
Map,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
94
|
+
#[serde(rename_all = "lowercase")]
|
|
95
|
+
pub enum BodyKind {
|
|
96
|
+
Ytext,
|
|
97
|
+
Yarray,
|
|
98
|
+
Ymap,
|
|
99
|
+
None,
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
103
|
+
(DocTypeName::Map, 1u32, BodyKind::None, &[]),
|
|
104
|
+
];
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
//! AUTO-GENERATED by @abraca/schema (outline).
|
|
2
|
+
//!
|
|
3
|
+
//! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/outline.json`.
|
|
4
|
+
//! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
|
|
5
|
+
//! Do not edit by hand — CI verifies that this file matches the generator output.
|
|
6
|
+
|
|
7
|
+
#![allow(clippy::all)]
|
|
8
|
+
#![allow(dead_code)]
|
|
9
|
+
|
|
10
|
+
use serde::{Deserialize, Serialize};
|
|
11
|
+
|
|
12
|
+
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
|
13
|
+
#[serde(deny_unknown_fields)]
|
|
14
|
+
pub struct OutlineMeta {
|
|
15
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
16
|
+
pub color: Option<String>,
|
|
17
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
18
|
+
pub icon: Option<String>,
|
|
19
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
20
|
+
#[serde(rename = "datetimeStart")]
|
|
21
|
+
pub datetime_start: Option<String>,
|
|
22
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
23
|
+
#[serde(rename = "datetimeEnd")]
|
|
24
|
+
pub datetime_end: Option<String>,
|
|
25
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
26
|
+
#[serde(rename = "allDay")]
|
|
27
|
+
pub all_day: Option<bool>,
|
|
28
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
29
|
+
#[serde(rename = "dateStart")]
|
|
30
|
+
pub date_start: Option<String>,
|
|
31
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
32
|
+
#[serde(rename = "dateEnd")]
|
|
33
|
+
pub date_end: Option<String>,
|
|
34
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
35
|
+
#[serde(rename = "timeStart")]
|
|
36
|
+
pub time_start: Option<String>,
|
|
37
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
38
|
+
#[serde(rename = "timeEnd")]
|
|
39
|
+
pub time_end: Option<String>,
|
|
40
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
41
|
+
pub tags: Option<Vec<String>>,
|
|
42
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
43
|
+
pub checked: Option<bool>,
|
|
44
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
45
|
+
pub priority: Option<i64>,
|
|
46
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
47
|
+
pub status: Option<String>,
|
|
48
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
49
|
+
pub rating: Option<f64>,
|
|
50
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
51
|
+
pub url: Option<String>,
|
|
52
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
53
|
+
pub email: Option<String>,
|
|
54
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
55
|
+
pub phone: Option<String>,
|
|
56
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
57
|
+
pub number: Option<f64>,
|
|
58
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
59
|
+
pub unit: Option<String>,
|
|
60
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
61
|
+
pub subtitle: Option<String>,
|
|
62
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
63
|
+
pub note: Option<String>,
|
|
64
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
65
|
+
#[serde(rename = "taskProgress")]
|
|
66
|
+
pub task_progress: Option<f64>,
|
|
67
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
68
|
+
#[serde(rename = "assignedTo")]
|
|
69
|
+
pub assigned_to: Option<String>,
|
|
70
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
71
|
+
#[serde(rename = "coverUploadId")]
|
|
72
|
+
pub cover_upload_id: Option<String>,
|
|
73
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
74
|
+
#[serde(rename = "coverDocId")]
|
|
75
|
+
pub cover_doc_id: Option<String>,
|
|
76
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
77
|
+
#[serde(rename = "coverMimeType")]
|
|
78
|
+
pub cover_mime_type: Option<String>,
|
|
79
|
+
#[serde(default, skip_serializing_if = "Option::is_none")]
|
|
80
|
+
#[serde(rename = "__schemaVersion")]
|
|
81
|
+
pub _schema_version: Option<i64>,
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
85
|
+
#[serde(rename_all = "kebab-case")]
|
|
86
|
+
pub enum DocTypeName {
|
|
87
|
+
Outline,
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
91
|
+
#[serde(rename_all = "lowercase")]
|
|
92
|
+
pub enum BodyKind {
|
|
93
|
+
Ytext,
|
|
94
|
+
Yarray,
|
|
95
|
+
Ymap,
|
|
96
|
+
None,
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
|
|
100
|
+
(DocTypeName::Outline, 1u32, BodyKind::None, &[]),
|
|
101
|
+
];
|