1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.weaver.edit.cursor
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 jacquard_derive::IntoStatic
17)]
18#[serde(rename_all = "camelCase")]
19pub struct ContainerId<'a> {
20 #[serde(borrow)]
21 pub value: ContainerIdRecordValue<'a>,
22}
23
24#[jacquard_derive::open_union]
25#[derive(
26 serde::Serialize,
27 serde::Deserialize,
28 Debug,
29 Clone,
30 PartialEq,
31 Eq,
32 jacquard_derive::IntoStatic
33)]
34#[serde(tag = "$type")]
35#[serde(bound(deserialize = "'de: 'a"))]
36pub enum ContainerIdRecordValue<'a> {}
37#[jacquard_derive::lexicon]
38#[derive(
39 serde::Serialize,
40 serde::Deserialize,
41 Debug,
42 Clone,
43 PartialEq,
44 Eq,
45 jacquard_derive::IntoStatic
46)]
47#[serde(rename_all = "camelCase")]
48pub struct CursorSide<'a> {
49 ///The side of an item the cursor is on (left = -1, right = 1, middle = 0)
50 pub value: i64,
51}
52
53#[jacquard_derive::lexicon]
54#[derive(
55 serde::Serialize,
56 serde::Deserialize,
57 Debug,
58 Clone,
59 PartialEq,
60 Eq,
61 jacquard_derive::IntoStatic
62)]
63#[serde(rename_all = "camelCase")]
64pub struct Id<'a> {
65 pub counter: i64,
66 pub peer: i64,
67}
68
69///An edit record for a notebook.
70#[jacquard_derive::lexicon]
71#[derive(
72 serde::Serialize,
73 serde::Deserialize,
74 Debug,
75 Clone,
76 PartialEq,
77 Eq,
78 jacquard_derive::IntoStatic
79)]
80#[serde(rename_all = "camelCase")]
81pub struct Cursor<'a> {
82 #[serde(borrow)]
83 pub container: crate::sh_weaver::edit::cursor::ContainerId<'a>,
84 #[serde(skip_serializing_if = "std::option::Option::is_none")]
85 #[serde(borrow)]
86 pub id: std::option::Option<crate::sh_weaver::edit::cursor::Id<'a>>,
87 #[serde(skip_serializing_if = "std::option::Option::is_none")]
88 #[serde(borrow)]
89 pub side: std::option::Option<crate::sh_weaver::edit::cursor::CursorSide<'a>>,
90}
91
92impl jacquard_common::types::collection::Collection for Cursor<'_> {
93 const NSID: &'static str = "sh.weaver.edit.cursor";
94}
95
96#[jacquard_derive::lexicon]
97#[derive(
98 serde::Serialize,
99 serde::Deserialize,
100 Debug,
101 Clone,
102 PartialEq,
103 Eq,
104 jacquard_derive::IntoStatic
105)]
106#[serde(rename_all = "camelCase")]
107pub struct NormalContainerId<'a> {
108 #[serde(borrow)]
109 pub container_type: jacquard_common::CowStr<'a>,
110 pub counter: i64,
111 pub peer: i64,
112}
113
114#[jacquard_derive::lexicon]
115#[derive(
116 serde::Serialize,
117 serde::Deserialize,
118 Debug,
119 Clone,
120 PartialEq,
121 Eq,
122 jacquard_derive::IntoStatic
123)]
124#[serde(rename_all = "camelCase")]
125pub struct RootContainerId<'a> {
126 #[serde(borrow)]
127 pub container_type: jacquard_common::CowStr<'a>,
128 #[serde(borrow)]
129 pub name: jacquard_common::CowStr<'a>,
130}