// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: network.cosmik.defs // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. //! Generated bindings for the `network.cosmik` Lexicon namespace/module. pub mod card; pub mod collection; pub mod collection_link; pub mod collection_link_removal; pub mod connection; pub mod follow; #[allow(unused_imports)] use alloc::collections::BTreeMap; use jacquard_common::{BosStr, 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; use crate::com_atproto::repo::strong_ref::StrongRef; #[allow(unused_imports)] use jacquard_lexicon::validation::{ConstraintError, ValidationPath}; use serde::{Deserialize, Serialize}; /// Represents the provenance or source of a record. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)] #[serde( rename_all = "camelCase", bound(deserialize = "S: Deserialize<'de> + BosStr") )] pub struct Provenance { /// Strong reference to the card that led to this record. #[serde(skip_serializing_if = "Option::is_none")] pub via: Option>, #[serde( flatten, default, deserialize_with = "deserialize_provenance_extra_data", skip_serializing_if = "Option::is_none" )] pub extra_data: Option>>, } impl LexiconSchema for Provenance { fn nsid() -> &'static str { "network.cosmik.defs" } fn def_name() -> &'static str { "provenance" } fn lexicon_doc() -> LexiconDoc<'static> { lexicon_doc_network_cosmik_defs() } fn validate(&self) -> Result<(), ConstraintError> { Ok(()) } } fn deserialize_provenance_extra_data<'de, S, D>( deserializer: D, ) -> Result>>, D::Error> where S: BosStr + serde::Deserialize<'de>, D: serde::Deserializer<'de>, { let data = >> as serde::Deserialize<'de>>::deserialize(deserializer)?; Ok(data.filter(|extra_data| !extra_data.is_empty())) } fn lexicon_doc_network_cosmik_defs() -> 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("network.cosmik.defs"), defs: { let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("provenance"), LexUserType::Object(LexObject { description: Some(CowStr::new_static( "Represents the provenance or source of a record.", )), properties: { #[allow(unused_mut)] let mut map = BTreeMap::new(); map.insert( SmolStr::new_static("via"), LexObjectProperty::Ref(LexRef { r#ref: CowStr::new_static("com.atproto.repo.strongRef"), ..Default::default() }), ); map }, ..Default::default() }), ); map }, ..Default::default() } }