From cfb96135dfcb921d99b400042fdcd687fe3b3764 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Thu, 2 Jan 2025 11:49:10 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20[macros]=20Elimina=20innecesaria?= =?UTF-8?q?=20ComponentClasses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- helpers/pagetop-macros/src/lib.rs | 35 ++------------------------- pagetop/src/core/component.rs | 3 --- pagetop/src/core/component/classes.rs | 19 --------------- pagetop/src/lib.rs | 2 +- pagetop/src/prelude.rs | 2 +- 5 files changed, 4 insertions(+), 57 deletions(-) delete mode 100644 pagetop/src/core/component/classes.rs diff --git a/helpers/pagetop-macros/src/lib.rs b/helpers/pagetop-macros/src/lib.rs index d802672e..17b076e3 100644 --- a/helpers/pagetop-macros/src/lib.rs +++ b/helpers/pagetop-macros/src/lib.rs @@ -127,8 +127,8 @@ pub fn fn_builder(_: TokenStream, item: TokenStream) -> TokenStream { // Genera el método alter_...() con el código del método with_...(). let fn_alter_doc = format!( - "Permite modificar la instancia actual en los mismos términos que el método \ - builder `{}()` al que está asociado.", + "Modifica la instancia en los mismos términos que para el patrón builder hace el \ + método asociado `{}()`.", fn_with_name_str, ); let fn_alter = quote! { @@ -171,37 +171,6 @@ pub fn derive_auto_default(input: TokenStream) -> TokenStream { } } -#[proc_macro_derive(ComponentClasses)] -pub fn derive_component_classes(input: TokenStream) -> TokenStream { - let input = parse_macro_input!(input as DeriveInput); - let name = &input.ident; - - #[rustfmt::skip] - let fn_alter_doc = format!(r##" -

Use - with_classes(self, …) -> Self - to apply the builder pattern. -

- "##); - - let expanded = quote! { - impl ComponentClasses for #name { - #[inline] - #[doc = #fn_alter_doc] - fn alter_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { - self.classes.alter_value(op, classes); - self - } - - fn classes(&self) -> &OptionClasses { - &self.classes - } - } - }; - - TokenStream::from(expanded) -} - /// Define una función `main` asíncrona como punto de entrada de `PageTop`. /// /// # Ejemplos diff --git a/pagetop/src/core/component.rs b/pagetop/src/core/component.rs index 5a02ee0e..cca8baf9 100644 --- a/pagetop/src/core/component.rs +++ b/pagetop/src/core/component.rs @@ -5,9 +5,6 @@ pub type FnContextualPath = fn(cx: &Context) -> &str; mod definition; pub use definition::{ComponentBase, ComponentTrait}; -mod classes; -pub use classes::{ComponentClasses, ComponentClassesOp}; - mod children; pub use children::Children; pub use children::{ChildComponent, ChildOp}; diff --git a/pagetop/src/core/component/classes.rs b/pagetop/src/core/component/classes.rs deleted file mode 100644 index ab094be7..00000000 --- a/pagetop/src/core/component/classes.rs +++ /dev/null @@ -1,19 +0,0 @@ -use crate::core::component::ComponentBase; -use crate::html::{ClassesOp, OptionClasses}; - -pub trait ComponentClassesOp { - fn with_classes(self, op: ClassesOp, classes: impl Into) -> Self; -} - -pub trait ComponentClasses: ComponentBase + ComponentClassesOp { - fn alter_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self; - - fn classes(&self) -> &OptionClasses; -} - -impl ComponentClassesOp for C { - fn with_classes(mut self, op: ClassesOp, classes: impl Into) -> Self { - self.alter_classes(op, classes); - self - } -} diff --git a/pagetop/src/lib.rs b/pagetop/src/lib.rs index 09378170..001d3961 100644 --- a/pagetop/src/lib.rs +++ b/pagetop/src/lib.rs @@ -85,7 +85,7 @@ // RE-EXPORTED ************************************************************************************* -pub use pagetop_macros::{fn_builder, html, main, test, AutoDefault, ComponentClasses}; +pub use pagetop_macros::{fn_builder, html, main, test, AutoDefault}; pub type StaticResources = std::collections::HashMap<&'static str, static_files::Resource>; diff --git a/pagetop/src/prelude.rs b/pagetop/src/prelude.rs index 8f4de49f..190acced 100644 --- a/pagetop/src/prelude.rs +++ b/pagetop/src/prelude.rs @@ -4,7 +4,7 @@ pub use crate::{fn_builder, html, main, test}; -pub use crate::{AutoDefault, ComponentClasses, StaticResources, UniqueId, Weight}; +pub use crate::{AutoDefault, StaticResources, UniqueId, Weight}; // MACROS.