Utilities

Ecosistema completo para organización y gestión de contenido con interfaces espaciales

Librería Utilities (Core)

Prioridad: Muy Alta

Propósito: Proveer utilidades transversales reutilizables en todo el monorepo GoGrab, siendo la base fundamental para operaciones comunes en fechas, strings, validaciones, archivos y formato de datos.

Especificación funcional

Esta librería debe proporcionar utilidades organizadas por dominio:

DateUtils:

StringUtils:

Array/ObjectUtils:

ValidationUtils:

FileUtils:

CurrencyUtils/NumberUtils:

Estado actual

API pública actual

Estructura del paquete

Comandos de mantenimiento

Importancia en el ecosistema GoGrab

Esta librería es foundational para toda la plataforma, siendo la primera dependencia que debe implementarse:

Sin estas utilidades, el desarrollo de otros módulos será significativamente más lento y propenso a errores.

Dependencias identificadas

Esta librería será requerida por virtualmente todos los módulos del sistema:

Dependencias propias: Ninguna - debe ser completamente independiente.

Convenciones para nuevas utilidades (cuando se incorporen)

Roadmap de implementación

Fase 1 - Utilities críticas (Prioridad: Muy Alta)

Objetivo: Funcionalidad básica requerida inmediatamente por otros módulos

Fase 2 - Utilities avanzadas

Objetivo: Funcionalidad completa para desarrollo robusto

Fase 3 - Optimizaciones y herramientas

Objetivo: Performance y herramientas de desarrollo

Estructura propuesta

libs/core/utilities/src/
  index.ts
  lib/
    date/
      date-utils.ts
      date-validators.ts
      timezone-utils.ts
    string/
      string-utils.ts
      string-validators.ts
      slug-utils.ts
    array/
      array-utils.ts
      collection-utils.ts
    object/
      object-utils.ts
      deep-merge.ts
    validation/
      validators.ts
      schemas.ts
      async-validators.ts
    file/
      file-utils.ts
      upload-utils.ts
      mime-utils.ts
    number/
      number-utils.ts
      currency-utils.ts
      format-utils.ts

Próximos pasos críticos

Implementación inmediata requerida

  1. Completar Fase 1 - Es bloqueante para todos los demás módulos
  2. Testing exhaustivo - Al ser dependencia universal, debe ser extremadamente estable
  3. Documentación completa - Para facilitar adopción en todo el equipo

Estado actual crítico

BLOQUEANTE: Esta librería debe implementarse PRIMERO antes que cualquier otro módulo, ya que prácticamente todos dependen de ella.

Orden de implementación recomendado

  1. DateUtils y StringUtils - Requeridos por LogSystem
  2. ValidationUtils - Requerido por múltiples módulos
  3. ObjectUtils y ArrayUtils - Para transformaciones de datos
  4. FileUtils - Para Media Asset Management
  5. CurrencyUtils - Para módulos de negocio

Estado recomendado: Implementar inmediatamente como primera prioridad del proyecto.

Nota: Al agregar nuevas utilidades, seguir las convenciones anteriores para mantener coherencia y auditabilidad.