Something went wrong. Try again.
atproto made easy crates.io/crates/jacquard
atproto rust
Something went wrong. Try again.
4.0 kB · 115 lines
Rust
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116// @generated by jacquard-lexicon. DO NOT EDIT.//// Lexicon: pub.leaflet.blocks.code//// This file was automatically generated from Lexicon schemas.// Any manual changes will be overwritten on the next regeneration.
#[allow(unused_imports)]use alloc::collections::BTreeMap;use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
#[allow(unused_imports)]use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;use jacquard_common::deps::smol_str::SmolStr;use jacquard_common::types::value::Data;use jacquard_derive::IntoStatic;use jacquard_lexicon::lexicon::LexiconDoc;use jacquard_lexicon::schema::LexiconSchema;
#[allow(unused_imports)]use jacquard_lexicon::validation::{ConstraintError, ValidationPath};use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]#[serde( rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr"))]pub struct Code<S: BosStr = DefaultStr> { #[serde(skip_serializing_if = "Option::is_none")] pub language: Option<S>, pub plaintext: S, #[serde(skip_serializing_if = "Option::is_none")] pub syntax_highlighting_theme: Option<S>, #[serde( flatten, default, deserialize_with = "deserialize_code_extra_data", skip_serializing_if = "Option::is_none" )] pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,}
impl<S: BosStr> LexiconSchema for Code<S> { fn nsid() -> &'static str { "pub.leaflet.blocks.code" } fn def_name() -> &'static str { "main" } fn lexicon_doc() -> LexiconDoc<'static> { lexicon_doc_pub_leaflet_blocks_code() } fn validate(&self) -> Result<(), ConstraintError> { Ok(()) }}
fn deserialize_code_extra_data<'de, S, D>( deserializer: D,) -> Result<Option<BTreeMap<SmolStr, Data<S>>>, D::Error>where S: BosStr + serde::Deserialize<'de>, D: serde::Deserializer<'de>,{ let data = <Option<BTreeMap<SmolStr, Data<S>>> as serde::Deserialize<'de>>::deserialize(deserializer)?; Ok(data.filter(|extra_data| !extra_data.is_empty()))}
fn lexicon_doc_pub_leaflet_blocks_code() -> LexiconDoc<'static> { use alloc::collections::BTreeMap; #[allow(unused_imports)] use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType}; use jacquard_lexicon::lexicon::*; LexiconDoc { lexicon: Lexicon::Lexicon1, id: CowStr::new_static("pub.leaflet.blocks.code"), defs: { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("main"), LexUserType::Object(LexObject { required: Some(vec![SmolStr::new_static("plaintext")]), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("language"), LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("plaintext"), LexObjectProperty::String(LexString { ..Default::default() }), ); map.insert( SmolStr::new_static("syntaxHighlightingTheme"), LexObjectProperty::String(LexString { ..Default::default() }), ); map }, ..Default::default() }), ); map }, ..Default::default() }}