// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: test.ns1.defs // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. /// Another type in ns1 for cross-namespace ref testing. #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, Default )] #[serde( rename_all = "camelCase", bound(deserialize = "S: serde::Deserialize<'de> + jacquard_common::BosStr") )] pub struct Bar { pub tag: S, #[serde(flatten, default, skip_serializing_if = "core::option::Option::is_none")] pub extra_data: core::option::Option< alloc::collections::BTreeMap< jacquard_common::deps::smol_str::SmolStr, jacquard_common::types::value::Data, >, >, } /// A type defined in ns1, referenced cross-namespace by ns2. #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, Default )] #[serde( rename_all = "camelCase", bound(deserialize = "S: serde::Deserialize<'de> + jacquard_common::BosStr") )] pub struct Foo { pub name: S, #[serde(skip_serializing_if = "core::option::Option::is_none")] pub value: core::option::Option, #[serde(flatten, default, skip_serializing_if = "core::option::Option::is_none")] pub extra_data: core::option::Option< alloc::collections::BTreeMap< jacquard_common::deps::smol_str::SmolStr, jacquard_common::types::value::Data, >, >, } impl jacquard_lexicon::schema::LexiconSchema for Bar { fn nsid() -> &'static str { "test.ns1.defs" } fn def_name() -> &'static str { "bar" } fn lexicon_doc() -> jacquard_lexicon::lexicon::LexiconDoc<'static> { lexicon_doc_test_ns1_defs() } fn validate(&self) -> Result<(), jacquard_lexicon::validation::ConstraintError> { { let value = &self.tag; #[allow(unused_comparisons)] if ::len(value.as_ref()) > 50usize { return Err(jacquard_lexicon::validation::ConstraintError::MaxLength { path: jacquard_lexicon::validation::ValidationPath::from_field( "tag", ), max: 50usize, actual: ::len(value.as_ref()), }); } } Ok(()) } } impl jacquard_lexicon::schema::LexiconSchema for Foo { fn nsid() -> &'static str { "test.ns1.defs" } fn def_name() -> &'static str { "foo" } fn lexicon_doc() -> jacquard_lexicon::lexicon::LexiconDoc<'static> { lexicon_doc_test_ns1_defs() } fn validate(&self) -> Result<(), jacquard_lexicon::validation::ConstraintError> { { let value = &self.name; #[allow(unused_comparisons)] if ::len(value.as_ref()) > 100usize { return Err(jacquard_lexicon::validation::ConstraintError::MaxLength { path: jacquard_lexicon::validation::ValidationPath::from_field( "name", ), max: 100usize, actual: ::len(value.as_ref()), }); } } Ok(()) } } fn lexicon_doc_test_ns1_defs() -> jacquard_lexicon::lexicon::LexiconDoc<'static> { ::jacquard_lexicon::lexicon::LexiconDoc { lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1, id: ::jacquard_common::CowStr::new_static("test.ns1.defs"), defs: { let mut map = ::alloc::collections::BTreeMap::new(); map.insert( ::jacquard_common::deps::smol_str::SmolStr::new_static("bar"), ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject { description: Some( ::jacquard_common::CowStr::new_static( "Another type in ns1 for cross-namespace ref testing.", ), ), required: Some( vec![ ::jacquard_common::deps::smol_str::SmolStr::new_static("tag") ], ), properties: { #[allow(unused_mut)] let mut map = ::alloc::collections::BTreeMap::new(); map.insert( ::jacquard_common::deps::smol_str::SmolStr::new_static( "tag", ), ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { max_length: Some(50usize), ..Default::default() }), ); map }, ..Default::default() }), ); map.insert( ::jacquard_common::deps::smol_str::SmolStr::new_static("foo"), ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject { description: Some( ::jacquard_common::CowStr::new_static( "A type defined in ns1, referenced cross-namespace by ns2.", ), ), required: Some( vec![ ::jacquard_common::deps::smol_str::SmolStr::new_static("name") ], ), properties: { #[allow(unused_mut)] let mut map = ::alloc::collections::BTreeMap::new(); map.insert( ::jacquard_common::deps::smol_str::SmolStr::new_static( "name", ), ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString { max_length: Some(100usize), ..Default::default() }), ); map.insert( ::jacquard_common::deps::smol_str::SmolStr::new_static( "value", ), ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger { ..Default::default() }), ); map }, ..Default::default() }), ); map }, ..Default::default() } }