🔥 [macros] Elimina innecesaria ComponentClasses
This commit is contained in:
parent
a3657fef9f
commit
cfb96135df
5 changed files with 4 additions and 57 deletions
|
|
@ -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 \
|
||||
<em>builder</em> `{}()` al que está asociado.",
|
||||
"Modifica la instancia en los mismos términos que para el patrón <em>builder</em> 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##"
|
||||
<p id="method.with_classes">Use
|
||||
<code class="code-header"><span class="fn" href="#method.with_classes">with_classes</span>(self, …) -> Self</code>
|
||||
to apply the <a href="#method.new">builder pattern</a>.
|
||||
</p>
|
||||
"##);
|
||||
|
||||
let expanded = quote! {
|
||||
impl ComponentClasses for #name {
|
||||
#[inline]
|
||||
#[doc = #fn_alter_doc]
|
||||
fn alter_classes(&mut self, op: ClassesOp, classes: impl Into<String>) -> &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
|
||||
|
|
|
|||
|
|
@ -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};
|
||||
|
|
|
|||
|
|
@ -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<String>) -> Self;
|
||||
}
|
||||
|
||||
pub trait ComponentClasses: ComponentBase + ComponentClassesOp {
|
||||
fn alter_classes(&mut self, op: ClassesOp, classes: impl Into<String>) -> &mut Self;
|
||||
|
||||
fn classes(&self) -> &OptionClasses;
|
||||
}
|
||||
|
||||
impl<C: ComponentBase + ComponentClasses> ComponentClassesOp for C {
|
||||
fn with_classes(mut self, op: ClassesOp, classes: impl Into<String>) -> Self {
|
||||
self.alter_classes(op, classes);
|
||||
self
|
||||
}
|
||||
}
|
||||
|
|
@ -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>;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue