🦺 Modifica tipos para atributos HTML a minúsculas
This commit is contained in:
		
							parent
							
								
									8b06b1752a
								
							
						
					
					
						commit
						97581659bf
					
				
					 3 changed files with 10 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -25,6 +25,7 @@ pub enum ClassesOp {
 | 
			
		|||
///
 | 
			
		||||
/// - El [orden de las clases no es relevante](https://stackoverflow.com/a/1321712) en CSS.
 | 
			
		||||
/// - No se permiten clases duplicadas.
 | 
			
		||||
/// - Las clases se convierten a minúsculas.
 | 
			
		||||
/// - Las clases vacías se ignoran.
 | 
			
		||||
///
 | 
			
		||||
/// # Ejemplo
 | 
			
		||||
| 
						 | 
				
			
			@ -32,8 +33,8 @@ pub enum ClassesOp {
 | 
			
		|||
/// ```rust
 | 
			
		||||
/// use pagetop::prelude::*;
 | 
			
		||||
///
 | 
			
		||||
/// let classes = OptionClasses::new("btn btn-primary")
 | 
			
		||||
///     .with_value(ClassesOp::Add, "active")
 | 
			
		||||
/// let classes = OptionClasses::new("Btn btn-primary")
 | 
			
		||||
///     .with_value(ClassesOp::Add, "Active")
 | 
			
		||||
///     .with_value(ClassesOp::Remove, "btn-primary");
 | 
			
		||||
///
 | 
			
		||||
/// assert_eq!(classes.get(), Some(String::from("btn active")));
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +52,7 @@ impl OptionClasses {
 | 
			
		|||
 | 
			
		||||
    #[builder_fn]
 | 
			
		||||
    pub fn with_value(mut self, op: ClassesOp, classes: impl AsRef<str>) -> Self {
 | 
			
		||||
        let classes: &str = classes.as_ref();
 | 
			
		||||
        let classes = classes.as_ref().to_ascii_lowercase();
 | 
			
		||||
        let classes: Vec<&str> = classes.split_ascii_whitespace().collect();
 | 
			
		||||
 | 
			
		||||
        if classes.is_empty() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@ use crate::{builder_fn, AutoDefault};
 | 
			
		|||
/// # Normalización
 | 
			
		||||
///
 | 
			
		||||
/// - Se eliminan los espacios al principio y al final.
 | 
			
		||||
/// - Se convierte a minúsculas.
 | 
			
		||||
/// - Se sustituyen los espacios intermedios por guiones bajos (`_`).
 | 
			
		||||
/// - Si el resultado es una cadena vacía, se guarda `None`.
 | 
			
		||||
///
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +16,7 @@ use crate::{builder_fn, AutoDefault};
 | 
			
		|||
/// ```rust
 | 
			
		||||
/// use pagetop::prelude::*;
 | 
			
		||||
///
 | 
			
		||||
/// let id = OptionId::new("main section");
 | 
			
		||||
/// let id = OptionId::new("  main Section ");
 | 
			
		||||
/// assert_eq!(id.get(), Some(String::from("main_section")));
 | 
			
		||||
///
 | 
			
		||||
/// let empty = OptionId::default();
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +40,7 @@ impl OptionId {
 | 
			
		|||
    /// El valor se normaliza automáticamente.
 | 
			
		||||
    #[builder_fn]
 | 
			
		||||
    pub fn with_value(mut self, value: impl AsRef<str>) -> Self {
 | 
			
		||||
        let value = value.as_ref().trim().replace(' ', "_");
 | 
			
		||||
        let value = value.as_ref().trim().to_ascii_lowercase().replace(' ', "_");
 | 
			
		||||
        self.0 = (!value.is_empty()).then_some(value);
 | 
			
		||||
        self
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@ use crate::{builder_fn, AutoDefault};
 | 
			
		|||
/// # Normalización
 | 
			
		||||
///
 | 
			
		||||
/// - Se eliminan los espacios al principio y al final.
 | 
			
		||||
/// - Se convierte a minúsculas.
 | 
			
		||||
/// - Se sustituyen los espacios intermedios por guiones bajos (`_`).
 | 
			
		||||
/// - Si el resultado es una cadena vacía, se guarda `None`.
 | 
			
		||||
///
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +16,7 @@ use crate::{builder_fn, AutoDefault};
 | 
			
		|||
/// ```rust
 | 
			
		||||
/// use pagetop::prelude::*;
 | 
			
		||||
///
 | 
			
		||||
/// let name = OptionName::new("  display name ");
 | 
			
		||||
/// let name = OptionName::new("  DISplay name ");
 | 
			
		||||
/// assert_eq!(name.get(), Some(String::from("display_name")));
 | 
			
		||||
///
 | 
			
		||||
/// let empty = OptionName::default();
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +40,7 @@ impl OptionName {
 | 
			
		|||
    /// El valor se normaliza automáticamente.
 | 
			
		||||
    #[builder_fn]
 | 
			
		||||
    pub fn with_value(mut self, value: impl AsRef<str>) -> Self {
 | 
			
		||||
        let value = value.as_ref().trim().replace(' ', "_");
 | 
			
		||||
        let value = value.as_ref().trim().to_ascii_lowercase().replace(' ', "_");
 | 
			
		||||
        self.0 = (!value.is_empty()).then_some(value);
 | 
			
		||||
        self
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue