1e46750ca1
- Update copyright from 'Parity Technologies (UK) Ltd.' to 'Dijital Kurdistan Tech Institute' - Update year to 2026 - Mark doc tests with relative metadata paths as 'ignore' to fix workspace-level doc tests - Affected files: runtime_apis.rs, storage.rs, constants.rs, transactions.rs, codegen.rs The doc tests use relative paths like '../artifacts/*.scale' which only work when testing the crate directly (-p pezkuwi-subxt), not during workspace-level tests. The examples/ directory contains the actual runnable test code.
35 lines
1000 B
Rust
35 lines
1000 B
Rust
// Copyright 2019-2026 Dijital Kurdistan Tech Institute
|
|
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
|
// see LICENSE for license details.
|
|
|
|
use pezkuwi_subxt_metadata::PalletMetadata;
|
|
use proc_macro2::TokenStream as TokenStream2;
|
|
use quote::quote;
|
|
use scale_typegen::TypeGenerator;
|
|
|
|
use super::CodegenError;
|
|
use scale_typegen::typegen::ir::ToTokensWithSettings;
|
|
|
|
/// Generate error type alias from the provided pallet metadata.
|
|
pub fn generate_error_type_alias(
|
|
type_gen: &TypeGenerator,
|
|
pallet: &PalletMetadata,
|
|
) -> Result<TokenStream2, CodegenError> {
|
|
let Some(error_ty) = pallet.error_ty_id() else {
|
|
return Ok(quote!());
|
|
};
|
|
|
|
let error_type = type_gen.resolve_type_path(error_ty)?.to_token_stream(type_gen.settings());
|
|
let error_ty = type_gen.resolve_type(error_ty)?;
|
|
let docs = &error_ty.docs;
|
|
let docs = type_gen
|
|
.settings()
|
|
.should_gen_docs
|
|
.then_some(quote! { #( #[doc = #docs ] )* })
|
|
.unwrap_or_default();
|
|
Ok(quote! {
|
|
#docs
|
|
pub type Error = #error_type;
|
|
})
|
|
}
|