jacquard_api/pub_leaflet/pages/
linear_document.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: pub.leaflet.pages.linearDocument
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    bon::Builder
18)]
19#[serde(rename_all = "camelCase")]
20pub struct Block<'a> {
21    #[serde(skip_serializing_if = "std::option::Option::is_none")]
22    #[builder(into)]
23    #[serde(borrow)]
24    pub alignment: Option<jacquard_common::CowStr<'a>>,
25    #[serde(borrow)]
26    pub block: BlockBlock<'a>,
27}
28
29#[jacquard_derive::open_union]
30#[derive(
31    serde::Serialize,
32    serde::Deserialize,
33    Debug,
34    Clone,
35    PartialEq,
36    Eq,
37    jacquard_derive::IntoStatic
38)]
39#[serde(tag = "$type")]
40#[serde(bound(deserialize = "'de: 'a"))]
41pub enum BlockBlock<'a> {
42    #[serde(rename = "pub.leaflet.blocks.iframe")]
43    Iframe(Box<crate::pub_leaflet::blocks::iframe::Iframe<'a>>),
44    #[serde(rename = "pub.leaflet.blocks.text")]
45    Text(Box<crate::pub_leaflet::blocks::text::Text<'a>>),
46    #[serde(rename = "pub.leaflet.blocks.blockquote")]
47    Blockquote(Box<crate::pub_leaflet::blocks::blockquote::Blockquote<'a>>),
48    #[serde(rename = "pub.leaflet.blocks.header")]
49    Header(Box<crate::pub_leaflet::blocks::header::Header<'a>>),
50    #[serde(rename = "pub.leaflet.blocks.image")]
51    Image(Box<crate::pub_leaflet::blocks::image::Image<'a>>),
52    #[serde(rename = "pub.leaflet.blocks.unorderedList")]
53    UnorderedList(Box<crate::pub_leaflet::blocks::unordered_list::UnorderedList<'a>>),
54    #[serde(rename = "pub.leaflet.blocks.website")]
55    Website(Box<crate::pub_leaflet::blocks::website::Website<'a>>),
56    #[serde(rename = "pub.leaflet.blocks.math")]
57    Math(Box<crate::pub_leaflet::blocks::math::Math<'a>>),
58    #[serde(rename = "pub.leaflet.blocks.code")]
59    Code(Box<crate::pub_leaflet::blocks::code::Code<'a>>),
60    #[serde(rename = "pub.leaflet.blocks.horizontalRule")]
61    HorizontalRule(Box<crate::pub_leaflet::blocks::horizontal_rule::HorizontalRule<'a>>),
62    #[serde(rename = "pub.leaflet.blocks.bskyPost")]
63    BskyPost(Box<crate::pub_leaflet::blocks::bsky_post::BskyPost<'a>>),
64}
65
66#[jacquard_derive::lexicon]
67#[derive(
68    serde::Serialize,
69    serde::Deserialize,
70    Debug,
71    Clone,
72    PartialEq,
73    Eq,
74    jacquard_derive::IntoStatic,
75    Default
76)]
77#[serde(rename_all = "camelCase")]
78pub struct LinearDocument<'a> {
79    #[serde(skip_serializing_if = "std::option::Option::is_none")]
80    #[serde(borrow)]
81    pub blocks: std::option::Option<
82        Vec<crate::pub_leaflet::pages::linear_document::Block<'a>>,
83    >,
84}
85
86#[jacquard_derive::lexicon]
87#[derive(
88    serde::Serialize,
89    serde::Deserialize,
90    Debug,
91    Clone,
92    PartialEq,
93    Eq,
94    jacquard_derive::IntoStatic,
95    bon::Builder
96)]
97#[serde(rename_all = "camelCase")]
98pub struct Position<'a> {
99    pub block: Vec<i64>,
100    pub offset: i64,
101}
102
103#[jacquard_derive::lexicon]
104#[derive(
105    serde::Serialize,
106    serde::Deserialize,
107    Debug,
108    Clone,
109    PartialEq,
110    Eq,
111    jacquard_derive::IntoStatic,
112    bon::Builder
113)]
114#[serde(rename_all = "camelCase")]
115pub struct Quote<'a> {
116    #[serde(borrow)]
117    pub end: crate::pub_leaflet::pages::linear_document::Position<'a>,
118    #[serde(borrow)]
119    pub start: crate::pub_leaflet::pages::linear_document::Position<'a>,
120}
121
122#[derive(
123    serde::Serialize,
124    serde::Deserialize,
125    Debug,
126    Clone,
127    PartialEq,
128    Eq,
129    Hash,
130    jacquard_derive::IntoStatic
131)]
132pub struct TextAlignCenter;
133impl std::fmt::Display for TextAlignCenter {
134    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
135        write!(f, "textAlignCenter")
136    }
137}
138
139#[derive(
140    serde::Serialize,
141    serde::Deserialize,
142    Debug,
143    Clone,
144    PartialEq,
145    Eq,
146    Hash,
147    jacquard_derive::IntoStatic
148)]
149pub struct TextAlignLeft;
150impl std::fmt::Display for TextAlignLeft {
151    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
152        write!(f, "textAlignLeft")
153    }
154}
155
156#[derive(
157    serde::Serialize,
158    serde::Deserialize,
159    Debug,
160    Clone,
161    PartialEq,
162    Eq,
163    Hash,
164    jacquard_derive::IntoStatic
165)]
166pub struct TextAlignRight;
167impl std::fmt::Display for TextAlignRight {
168    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
169        write!(f, "textAlignRight")
170    }
171}