💡 Repasa comentarios de la cabecera de funciones
This commit is contained in:
parent
b76c4a4d23
commit
700bca7258
29 changed files with 182 additions and 182 deletions
|
|
@ -50,7 +50,7 @@ impl Application {
|
|||
Self::internal_prepare(Some(root_extension))
|
||||
}
|
||||
|
||||
// Método interno para preparar la aplicación, opcionalmente con una extensión.
|
||||
/// Método interno para preparar la aplicación, opcionalmente con una extensión.
|
||||
fn internal_prepare(root_extension: Option<ExtensionRef>) -> Self {
|
||||
// Al arrancar muestra una cabecera para la aplicación.
|
||||
Self::show_banner();
|
||||
|
|
@ -73,7 +73,7 @@ impl Application {
|
|||
Self
|
||||
}
|
||||
|
||||
// Muestra una cabecera para la aplicación basada en la configuración.
|
||||
/// Muestra una cabecera para la aplicación basada en la configuración.
|
||||
fn show_banner() {
|
||||
use colored::Colorize;
|
||||
use terminal_size::{terminal_size, Width};
|
||||
|
|
@ -164,7 +164,7 @@ impl Application {
|
|||
Self::service_app()
|
||||
}
|
||||
|
||||
// Configura el servicio web de la aplicación.
|
||||
/// Configura el servicio web de la aplicación.
|
||||
fn service_app() -> service::App<
|
||||
impl service::Factory<
|
||||
service::Request,
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ impl<C: Component> AfterRender<C> {
|
|||
self
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline]
|
||||
pub(crate) fn dispatch(component: &mut C, cx: &mut Context) {
|
||||
// Primero despacha las acciones para el tipo de componente.
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ impl<C: Component> BeforeRender<C> {
|
|||
self
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline]
|
||||
pub(crate) fn dispatch(component: &mut C, cx: &mut Context) {
|
||||
// Primero despacha las acciones para el tipo de componente.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl AfterRenderBody {
|
|||
self
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline(always)]
|
||||
#[allow(clippy::inline_always)]
|
||||
pub(crate) fn dispatch(page: &mut Page) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl BeforeRenderBody {
|
|||
self
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline(always)]
|
||||
#[allow(clippy::inline_always)]
|
||||
pub(crate) fn dispatch(page: &mut Page) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl<C: Component> AfterRender<C> {
|
|||
}
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline]
|
||||
pub(crate) fn dispatch(component: &mut C, cx: &mut Context) {
|
||||
dispatch_actions(
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl<C: Component> BeforeRender<C> {
|
|||
}
|
||||
}
|
||||
|
||||
// Despacha las acciones.
|
||||
/// Despacha las acciones.
|
||||
#[inline]
|
||||
pub(crate) fn dispatch(component: &mut C, cx: &mut Context) {
|
||||
dispatch_actions(
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ impl<C: Component> PrepareRender<C> {
|
|||
}
|
||||
}
|
||||
|
||||
// Despacha las acciones. Se detiene en cuanto una renderiza.
|
||||
/// Despacha las acciones. Se detiene en cuanto una renderiza.
|
||||
#[inline]
|
||||
pub(crate) fn dispatch(component: &C, cx: &mut Context) -> PrepareMarkup {
|
||||
let mut render_component = PrepareMarkup::None;
|
||||
|
|
|
|||
44
src/core.rs
44
src/core.rs
|
|
@ -30,28 +30,28 @@ impl TypeInfo {
|
|||
}
|
||||
}
|
||||
|
||||
// Extrae un rango de segmentos de `type_name` (tokens separados por `::`).
|
||||
//
|
||||
// Los argumentos `start` y `end` identifican los índices de los segmentos teniendo en cuenta:
|
||||
//
|
||||
// * Los índices positivos cuentan **desde la izquierda**, empezando en `0`.
|
||||
// * Los índices negativos cuentan **desde la derecha**, `-1` es el último.
|
||||
// * Si `end` es `None`, el corte llega hasta el último segmento.
|
||||
// * Si la selección resulta vacía por índices desordenados o segmento inexistente, se devuelve
|
||||
// la cadena vacía.
|
||||
//
|
||||
// Ejemplos (con `type_name = "alloc::vec::Vec<i32>"`):
|
||||
//
|
||||
// | Llamada | Resultado |
|
||||
// |------------------------------|--------------------------|
|
||||
// | `partial(..., 0, None)` | `"alloc::vec::Vec<i32>"` |
|
||||
// | `partial(..., 1, None)` | `"vec::Vec<i32>"` |
|
||||
// | `partial(..., -1, None)` | `"Vec<i32>"` |
|
||||
// | `partial(..., 0, Some(-2))` | `"alloc::vec"` |
|
||||
// | `partial(..., -5, None)` | `"alloc::vec::Vec<i32>"` |
|
||||
//
|
||||
// La porción devuelta vive tanto como `'static` porque `type_name` es `'static` y sólo se
|
||||
// presta.
|
||||
/// Extrae un rango de segmentos de `type_name` (tokens separados por `::`).
|
||||
///
|
||||
/// Los argumentos `start` y `end` identifican los índices de los segmentos teniendo en cuenta:
|
||||
///
|
||||
/// * Los índices positivos cuentan **desde la izquierda**, empezando en `0`.
|
||||
/// * Los índices negativos cuentan **desde la derecha**, `-1` es el último.
|
||||
/// * Si `end` es `None`, el corte llega hasta el último segmento.
|
||||
/// * Si la selección resulta vacía por índices desordenados o segmento inexistente, se devuelve
|
||||
/// la cadena vacía.
|
||||
///
|
||||
/// Ejemplos (con `type_name = "alloc::vec::Vec<i32>"`):
|
||||
///
|
||||
/// | Llamada | Resultado |
|
||||
/// |------------------------------|--------------------------|
|
||||
/// | `partial(..., 0, None)` | `"alloc::vec::Vec<i32>"` |
|
||||
/// | `partial(..., 1, None)` | `"vec::Vec<i32>"` |
|
||||
/// | `partial(..., -1, None)` | `"Vec<i32>"` |
|
||||
/// | `partial(..., 0, Some(-2))` | `"alloc::vec"` |
|
||||
/// | `partial(..., -5, None)` | `"alloc::vec::Vec<i32>"` |
|
||||
///
|
||||
/// La porción devuelta vive tanto como `'static` porque `type_name` es `'static` y sólo se
|
||||
/// presta.
|
||||
fn partial(type_name: &'static str, start: isize, end: Option<isize>) -> &'static str {
|
||||
let maxlen = type_name.len();
|
||||
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@ static ACTIONS: LazyLock<RwLock<HashMap<ActionKey, ActionsList>>> =
|
|||
|
||||
// **< AÑADIR ACCIONES >****************************************************************************
|
||||
|
||||
// Registra una nueva acción en el sistema.
|
||||
//
|
||||
// Si ya existen acciones con la misma `ActionKey`, la acción se añade a la misma lista. Si no, se
|
||||
// crea una nueva lista.
|
||||
//
|
||||
// Las extensiones llamarán a esta función durante su inicialización para instalar acciones
|
||||
// personalizadas que modifiquen el comportamiento del *core* o de otros componentes.
|
||||
/// Registra una nueva acción en el sistema.
|
||||
///
|
||||
/// Si ya existen acciones con la misma `ActionKey`, la acción se añade a la misma lista. Si no, se
|
||||
/// crea una nueva lista.
|
||||
///
|
||||
/// Las extensiones llamarán a esta función durante su inicialización para instalar acciones
|
||||
/// personalizadas que modifiquen el comportamiento del *core* o de otros componentes.
|
||||
pub(crate) fn add_action(action: ActionBox) {
|
||||
let key = ActionKey::new(
|
||||
action.type_id(),
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ impl Child {
|
|||
|
||||
// **< Child HELPERS >**************************************************************************
|
||||
|
||||
// Devuelve el [`UniqueId`] del tipo del componente, si existe.
|
||||
/// Devuelve el [`UniqueId`] del tipo del componente, si existe.
|
||||
#[inline]
|
||||
fn type_id(&self) -> Option<UniqueId> {
|
||||
self.0.as_ref().map(|c| c.read().type_id())
|
||||
|
|
@ -156,7 +156,7 @@ impl<C: Component> Typed<C> {
|
|||
|
||||
// **< Typed HELPERS >**************************************************************************
|
||||
|
||||
// Método interno para convertir un componente tipado en un [`Child`].
|
||||
/// Método interno para convertir un componente tipado en un [`Child`].
|
||||
#[inline]
|
||||
fn into(self) -> Child {
|
||||
if let Some(c) = &self.0 {
|
||||
|
|
@ -216,7 +216,7 @@ impl Children {
|
|||
Children::default().with_child(ChildOp::Add(child))
|
||||
}
|
||||
|
||||
// Fusiona varias listas de `Children` en una sola.
|
||||
/// Fusiona varias listas de `Children` en una sola.
|
||||
pub(crate) fn merge(mixes: &[Option<&Children>]) -> Self {
|
||||
let mut opt = Children::default();
|
||||
for m in mixes.iter().flatten() {
|
||||
|
|
@ -321,7 +321,7 @@ impl Children {
|
|||
|
||||
// **< Children HELPERS >***********************************************************************
|
||||
|
||||
// Añade más de un componente hijo al final de la lista (en el orden recibido).
|
||||
/// Añade más de un componente hijo al final de la lista (en el orden recibido).
|
||||
#[inline]
|
||||
fn add_many<I>(&mut self, iter: I) -> &mut Self
|
||||
where
|
||||
|
|
@ -331,7 +331,7 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Inserta un hijo después del componente con el `id` dado, o al final si no se encuentra.
|
||||
/// Inserta un hijo después del componente con el `id` dado, o al final si no se encuentra.
|
||||
#[inline]
|
||||
fn insert_after_id(&mut self, id: impl AsRef<str>, child: Child) -> &mut Self {
|
||||
let id = Some(id.as_ref());
|
||||
|
|
@ -342,7 +342,7 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Inserta un hijo antes del componente con el `id` dado, o al principio si no se encuentra.
|
||||
/// Inserta un hijo antes del componente con el `id` dado, o al principio si no se encuentra.
|
||||
#[inline]
|
||||
fn insert_before_id(&mut self, id: impl AsRef<str>, child: Child) -> &mut Self {
|
||||
let id = Some(id.as_ref());
|
||||
|
|
@ -353,14 +353,14 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Inserta un hijo al principio de la colección.
|
||||
/// Inserta un hijo al principio de la colección.
|
||||
#[inline]
|
||||
fn prepend(&mut self, child: Child) -> &mut Self {
|
||||
self.0.insert(0, child);
|
||||
self
|
||||
}
|
||||
|
||||
// Inserta más de un componente hijo al principio de la lista (manteniendo el orden recibido).
|
||||
/// Inserta más de un componente hijo al principio de la lista (manteniendo el orden recibido).
|
||||
#[inline]
|
||||
fn prepend_many<I>(&mut self, iter: I) -> &mut Self
|
||||
where
|
||||
|
|
@ -371,7 +371,7 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Elimina el primer hijo con el `id` dado.
|
||||
/// Elimina el primer hijo con el `id` dado.
|
||||
#[inline]
|
||||
fn remove_by_id(&mut self, id: impl AsRef<str>) -> &mut Self {
|
||||
let id = Some(id.as_ref());
|
||||
|
|
@ -381,7 +381,7 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Sustituye el primer hijo con el `id` dado por otro componente.
|
||||
/// Sustituye el primer hijo con el `id` dado por otro componente.
|
||||
#[inline]
|
||||
fn replace_by_id(&mut self, id: impl AsRef<str>, child: Child) -> &mut Self {
|
||||
let id = Some(id.as_ref());
|
||||
|
|
@ -394,7 +394,7 @@ impl Children {
|
|||
self
|
||||
}
|
||||
|
||||
// Elimina todos los componentes hijo de la lista.
|
||||
/// Elimina todos los componentes hijo de la lista.
|
||||
#[inline]
|
||||
fn reset(&mut self) -> &mut Self {
|
||||
self.0.clear();
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ pub static DEFAULT_THEME: LazyLock<ThemeRef> =
|
|||
|
||||
// **< TEMA POR NOMBRE >****************************************************************************
|
||||
|
||||
// Devuelve el tema identificado por su [`short_name()`](AnyInfo::short_name).
|
||||
/// Devuelve el tema identificado por su [`short_name()`](AnyInfo::short_name).
|
||||
pub fn theme_by_short_name(short_name: &'static str) -> Option<ThemeRef> {
|
||||
let short_name = short_name.to_lowercase();
|
||||
match THEMES
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ impl PrepareMarkup {
|
|||
self.render().into_string()
|
||||
}
|
||||
|
||||
// Integra el renderizado fácilmente en la macro [`html!`].
|
||||
/// Integra el renderizado fácilmente en la macro [`html!`].
|
||||
pub(crate) fn render(&self) -> Markup {
|
||||
match self {
|
||||
PrepareMarkup::None => html! {},
|
||||
|
|
|
|||
|
|
@ -113,14 +113,14 @@ impl Favicon {
|
|||
self
|
||||
}
|
||||
|
||||
// Función interna que centraliza la creación de las etiquetas `<link>`.
|
||||
//
|
||||
// - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.).
|
||||
// - `icon_source`: URL del recurso.
|
||||
// - `icon_sizes`: tamaños opcionales.
|
||||
// - `icon_color`: color opcional (solo relevante para `mask-icon`).
|
||||
//
|
||||
// También infiere automáticamente el tipo MIME (`type`) según la extensión del archivo.
|
||||
/// Función interna que centraliza la creación de las etiquetas `<link>`.
|
||||
///
|
||||
/// - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.).
|
||||
/// - `icon_source`: URL del recurso.
|
||||
/// - `icon_sizes`: tamaños opcionales.
|
||||
/// - `icon_color`: color opcional (solo relevante para `mask-icon`).
|
||||
///
|
||||
/// También infiere automáticamente el tipo MIME (`type`) según la extensión del archivo.
|
||||
fn add_icon_item(
|
||||
mut self,
|
||||
icon_rel: &str,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
//! #[derive(serde::Deserialize)]
|
||||
//! struct NuevoUsuario { nombre: String, email: String }
|
||||
//!
|
||||
//! // Manejador configurado para la ruta POST "/usuarios".
|
||||
//! /// Manejador configurado para la ruta POST "/usuarios".
|
||||
//! async fn crear_usuario(payload: Json<NuevoUsuario>) -> HttpResponse {
|
||||
//! // `payload` ya es `NuevoUsuario`; si la deserialización falla,
|
||||
//! // devolverá automáticamente 400 Bad Request con un cuerpo JSON que describe el error.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue