atproto blogging
at main 141 lines 5.6 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: pub.leaflet.blocks.header 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 Default 18)] 19#[serde(rename_all = "camelCase")] 20pub struct Header<'a> { 21 #[serde(skip_serializing_if = "std::option::Option::is_none")] 22 #[serde(borrow)] 23 pub facets: std::option::Option<Vec<crate::pub_leaflet::richtext::facet::Facet<'a>>>, 24 #[serde(skip_serializing_if = "std::option::Option::is_none")] 25 pub level: std::option::Option<i64>, 26 #[serde(borrow)] 27 pub plaintext: jacquard_common::CowStr<'a>, 28} 29 30fn lexicon_doc_pub_leaflet_blocks_header() -> ::jacquard_lexicon::lexicon::LexiconDoc< 31 'static, 32> { 33 ::jacquard_lexicon::lexicon::LexiconDoc { 34 lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1, 35 id: ::jacquard_common::CowStr::new_static("pub.leaflet.blocks.header"), 36 revision: None, 37 description: None, 38 defs: { 39 let mut map = ::alloc::collections::BTreeMap::new(); 40 map.insert( 41 ::jacquard_common::smol_str::SmolStr::new_static("main"), 42 ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject { 43 description: None, 44 required: Some( 45 vec![ 46 ::jacquard_common::smol_str::SmolStr::new_static("plaintext") 47 ], 48 ), 49 nullable: None, 50 properties: { 51 #[allow(unused_mut)] 52 let mut map = ::alloc::collections::BTreeMap::new(); 53 map.insert( 54 ::jacquard_common::smol_str::SmolStr::new_static("facets"), 55 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray { 56 description: None, 57 items: ::jacquard_lexicon::lexicon::LexArrayItem::Ref(::jacquard_lexicon::lexicon::LexRef { 58 description: None, 59 r#ref: ::jacquard_common::CowStr::new_static( 60 "pub.leaflet.richtext.facet", 61 ), 62 }), 63 min_length: None, 64 max_length: None, 65 }), 66 ); 67 map.insert( 68 ::jacquard_common::smol_str::SmolStr::new_static("level"), 69 ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger { 70 description: None, 71 default: None, 72 minimum: Some(1i64), 73 maximum: Some(6i64), 74 r#enum: None, 75 r#const: None, 76 }), 77 ); 78 map.insert( 79 ::jacquard_common::smol_str::SmolStr::new_static( 80 "plaintext", 81 ), 82 ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { 83 description: None, 84 format: None, 85 default: None, 86 min_length: None, 87 max_length: None, 88 min_graphemes: None, 89 max_graphemes: None, 90 r#enum: None, 91 r#const: None, 92 known_values: None, 93 }), 94 ); 95 map 96 }, 97 }), 98 ); 99 map 100 }, 101 } 102} 103 104impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Header<'a> { 105 fn nsid() -> &'static str { 106 "pub.leaflet.blocks.header" 107 } 108 fn def_name() -> &'static str { 109 "main" 110 } 111 fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> { 112 lexicon_doc_pub_leaflet_blocks_header() 113 } 114 fn validate( 115 &self, 116 ) -> ::core::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> { 117 if let Some(ref value) = self.level { 118 if *value > 6i64 { 119 return Err(::jacquard_lexicon::validation::ConstraintError::Maximum { 120 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 121 "level", 122 ), 123 max: 6i64, 124 actual: *value, 125 }); 126 } 127 } 128 if let Some(ref value) = self.level { 129 if *value < 1i64 { 130 return Err(::jacquard_lexicon::validation::ConstraintError::Minimum { 131 path: ::jacquard_lexicon::validation::ValidationPath::from_field( 132 "level", 133 ), 134 min: 1i64, 135 actual: *value, 136 }); 137 } 138 } 139 Ok(()) 140 } 141}