jacquard_api/sh_weaver/edit/
cursor.rs

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}