//! API para definir acciones que inyectan código en el flujo de la aplicación. //! //! Permite crear acciones para que otros *crates* puedan inyectar código usando funciones *ad hoc* //! que modifican el comportamiento predefinido en puntos concretos del flujo de ejecución de la //! aplicación. mod definition; pub use definition::{ActionBox, ActionDispatcher, ActionKey}; mod list; use list::ActionsList; mod all; pub(crate) use all::add_action; pub use all::dispatch_actions; /// Facilita la implementación del método /// [`actions()`](crate::core::extension::ExtensionTrait::actions). /// /// Evita escribir repetidamente `Box::new(...)` para cada acción de la lista, manteniendo el código /// más limpio. /// /// # Ejemplo /// /// ```rust,ignore /// use pagetop::prelude::*; /// /// impl ExtensionTrait for MyTheme { /// fn actions(&self) -> Vec { /// actions_boxed![ /// action::theme::BeforeRender::