mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +00:00
Add feature: no-metadata-doc which removes doc from metadata and full-metadata which build metadata with all doc (#10493)
* add features to remove or add doc * fmt * add test for event/error/call * fmt
This commit is contained in:
committed by
GitHub
parent
2a122c44b1
commit
137628b4d7
@@ -137,6 +137,8 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
let count = COUNTER.with(|counter| counter.borrow_mut().inc());
|
||||
let macro_ident = syn::Ident::new(&format!("__is_call_part_defined_{}", count), span);
|
||||
|
||||
let capture_docs = if cfg!(feature = "no-metadata-docs") { "never" } else { "always" };
|
||||
|
||||
quote::quote_spanned!(span =>
|
||||
#[doc(hidden)]
|
||||
pub mod __substrate_call_check {
|
||||
@@ -164,7 +166,7 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
)]
|
||||
#[codec(encode_bound())]
|
||||
#[codec(decode_bound())]
|
||||
#[scale_info(skip_type_params(#type_use_gen), capture_docs = "always")]
|
||||
#[scale_info(skip_type_params(#type_use_gen), capture_docs = #capture_docs)]
|
||||
#[allow(non_camel_case_types)]
|
||||
pub enum #call_ident<#type_decl_bounded_gen> #where_clause {
|
||||
#[doc(hidden)]
|
||||
|
||||
@@ -79,7 +79,9 @@ pub fn expand_constants(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
let const_type = &const_.type_;
|
||||
let ident_str = format!("{}", const_.metadata_name.unwrap_or(const_.ident));
|
||||
|
||||
let doc = const_.doc.clone().into_iter();
|
||||
let no_docs = vec![];
|
||||
let doc = if cfg!(feature = "no-metadata-docs") { &no_docs } else { &const_.doc };
|
||||
|
||||
let default_byte_impl = &const_.default_byte_impl;
|
||||
|
||||
quote::quote!({
|
||||
|
||||
@@ -58,12 +58,15 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
};
|
||||
|
||||
error_item.variants.insert(0, phantom_variant);
|
||||
|
||||
let capture_docs = if cfg!(feature = "no-metadata-docs") { "never" } else { "always" };
|
||||
|
||||
// derive TypeInfo for error metadata
|
||||
error_item
|
||||
.attrs
|
||||
.push(syn::parse_quote!( #[derive(#frame_support::scale_info::TypeInfo)] ));
|
||||
error_item.attrs.push(syn::parse_quote!(
|
||||
#[scale_info(skip_type_params(#type_use_gen), capture_docs = "always")]
|
||||
#[scale_info(skip_type_params(#type_use_gen), capture_docs = #capture_docs)]
|
||||
));
|
||||
|
||||
if get_doc_literals(&error_item.attrs).is_empty() {
|
||||
|
||||
@@ -117,9 +117,11 @@ pub fn expand_event(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
)]
|
||||
));
|
||||
|
||||
// skip requirement for type params to implement `TypeInfo`, and require docs capture
|
||||
let capture_docs = if cfg!(feature = "no-metadata-docs") { "never" } else { "always" };
|
||||
|
||||
// skip requirement for type params to implement `TypeInfo`, and set docs capture
|
||||
event_item.attrs.push(syn::parse_quote!(
|
||||
#[scale_info(skip_type_params(#event_use_gen), capture_docs = "always")]
|
||||
#[scale_info(skip_type_params(#event_use_gen), capture_docs = #capture_docs)]
|
||||
));
|
||||
|
||||
let deposit_event = if let Some(deposit_event) = &event.deposit_event {
|
||||
|
||||
@@ -234,7 +234,8 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
let pallet_ident = &def.pallet_struct.pallet;
|
||||
|
||||
let entries_builder = def.storages.iter().map(|storage| {
|
||||
let docs = &storage.docs;
|
||||
let no_docs = vec![];
|
||||
let docs = if cfg!(feature = "no-metadata-docs") { &no_docs } else { &storage.docs };
|
||||
|
||||
let ident = &storage.ident;
|
||||
let gen = &def.type_use_generics(storage.attr_span);
|
||||
|
||||
Reference in New Issue
Block a user