Skip to main content

eztui_derive/
lib.rs

1//! This crate provides a procedural macro to derive the [`MockComponent`] trait for structs.
2//! The target struct must contain a field named `component` of type [`MockComponent`] itsel. All calls will be forwarded to it.
3
4use proc_macro::TokenStream;
5
6mod decorated_mock_component;
7mod mock_component;
8mod mock_props;
9mod utils;
10
11/// Procedural macro to derive the `MockComponent` trait.
12#[proc_macro_derive(MockComponent)]
13pub fn mock_component_derive(input: TokenStream) -> TokenStream {
14    mock_component::mock_component(input)
15}
16
17/// Procedural macro to derive the `MockComponent` trait.
18#[proc_macro_derive(MockProps)]
19pub fn mock_props_derive(input: TokenStream) -> TokenStream {
20    mock_props::mock_props(input)
21}
22
23/// Procedural macro to derive the `MockComponent` trait.
24#[proc_macro_derive(DecoratedMockComponent)]
25pub fn decorated_mock_component_derive(input: TokenStream) -> TokenStream {
26    decorated_mock_component::decorated_mock_component(input)
27}