Skip to content

TypeScript: Utils ​

cx(...classes) ​

Qué hace ​

Compone clases CSS filtrando valores falsy.

Cuándo usarlo ​

  • Para clases condicionales simples.
  • Para evitar arrays manuales con .filter(Boolean).join(' ').
  • En proyectos donde no se quiere agregar una dependencia como clsx.

Cuándo no usarlo ​

  • Si necesitas objetos { active: true }.
  • Si necesitas deduplicación de clases Tailwind.
  • Si la expresión se vuelve difícil de leer.

Parametros ​

  • ...classes: Array<string | false | null | undefined>

Valor de retorno ​

string

Ejemplo real ​

ts
import { cx } from '@micazoyolli/foundation';

const className = cx(
  'menuItem',
  isActive && 'menuItemActive',
  isDisabled && 'menuItemDisabled',
);

ClassValue ​

Tipo de entrada aceptado por cx.

ts
type ClassValue = string | false | null | undefined;

isNonEmptyString(value) ​

Qué hace ​

Verifica que un valor sea string y que trim() tenga contenido.

Cuándo usarlo ​

  • Para validar valores opcionales simples.
  • Antes de construir atributos o rutas con strings externos.

Cuándo no usarlo ​

  • Para validar formularios complejos.
  • Para validaciónes con mensajes de error de usuario.
  • Para normalizar contenido con reglas de negocio.

Parametros ​

  • value: unknown

Valor de retorno ​

value is string

Ejemplo ​

ts
import { isNonEmptyString } from '@micazoyolli/foundation';

function getLabel(value: unknown) {
  return isNonEmptyString(value) ? value.trim() : 'Sin titulo';
}

Uso en producción ​

Foundation se utiliza como base compartida en sitios de producción, aplicaciones de negocio y experiencias interactivas.