Presentando ToonJS
Presentando ToonJS
Estoy emocionado de anunciar ToonJS - una librería TypeScript de alto rendimiento para manipulación de datos tabulares, diseñada específicamente para aplicaciones JavaScript modernas y optimizada para interacciones con LLMs.
¿Por qué ToonJS?
Después de trabajar con datos en JavaScript durante años, seguía encontrándome con los mismos problemas:
- Rendimiento: Las operaciones manuales de datos eran lentas con grandes conjuntos de datos
- Uso de Tokens LLM: Enviar datos a modelos de IA consumía demasiados tokens
- Diseño de API: Las librerías existentes se sentían torpes o sobre-ingenierizadas
- Seguridad de Tipos: La manipulación de datos en JavaScript carecía de soporte adecuado de TypeScript
ToonJS resuelve todos estos problemas.
El Formato TOON
En el corazón de ToonJS está el formato TOON - una forma compacta y legible de representar datos tabulares:
restaurantes[3]{nombre,ciudad,calificacion}:
Can Cesco,Barcelona,4.8
El Bulli,Girona,5.0
Tickets,Barcelona,4.6
Este formato es:
- ✅ 50% más compacto que JSON para LLMs
- ✅ Legible por humanos y fácil de editar
- ✅ Optimizado para eficiencia de tokens
- ✅ Compatible con todos los LLMs principales
Rendimiento
ToonJS es rápido. Realmente rápido.
A través de optimizaciones estilo DOOM (pre-asignación, cálculos inline, búsquedas basadas en conjuntos), logramos:
- 3.5x más rápido en cálculos de correlación
- 3x más rápido en operaciones de ranking
- 1.7x más rápido en normalización
- 2x promedio de mejora de rendimiento
API Type-Safe
Cada método en ToonJS está completamente tipado:
import { ToonFactory } from '@cescofors/toonjs';
const data = ToonFactory.from(toonString);
const result = data
.filter(r => r.calificacion > 4.5)
.sortBy(['calificacion'], ['desc'])
.select(['nombre', 'ciudad'])
.all();
Más de 60 Métodos
ToonJS incluye todo lo que necesitas para análisis de datos:
- Acceso a Datos: all(), first(), last(), at(), find(), pluck()
- Filtrado: filter(), filterRange(), search(), distinct()
- Transformación: map(), select(), exclude(), addField()
- Agregación: groupBy(), countBy(), aggregate(), stats()
- Estadísticas: correlation(), covariance(), normalize(), standardize()
- Series Temporales: rolling(), lag(), lead(), diff(), pctChange()
Zero Dependencies
ToonJS es TypeScript puro con cero dependencias en tiempo de ejecución.
Esto significa:
- Bundle más pequeño
- Sin vulnerabilidades de cadena de suministro
- Instalación más rápida
- Control completo
Comienza Ahora
npm install @cescofors/toonjs
Consulta la documentación o pruébalo en el playground.
¡Gracias por leer y feliz codificación! 🚀