Introducción
Introducción
Section titled “Introducción”jsorm es un ORM JSON-first para TypeScript enfocado en claridad, tipado fuerte y comportamiento SQL explícito.
Qué hace diferente a jsorm
Section titled “Qué hace diferente a jsorm”- Consultas JSON-first en lugar de builders opacos
- Generación SQL basada en AST para mantener una estructura interna inspeccionable
- Inferencia de tipos desde modelos para que
defineModel()sea la única fuente de verdad - Builders de relaciones explícitos para joins y mutaciones predecibles
- Migraciones opcionales para usar bases existentes de inmediato
Idea principal
Section titled “Idea principal”Describes la intención con objetos simples:
const users = await db.get(User, { select: { id: true, name: true, role: { name: true }, }, where: { active: true, },});El ORM convierte eso en un AST estructurado y luego emite SQL a través del adaptador configurado.
Cuándo encaja bien jsorm
Section titled “Cuándo encaja bien jsorm”- backends TypeScript que quieren inferencia guiada por modelos
- equipos que prefieren semántica SQL explícita en lugar de magia
- servicios que usan PostgreSQL, MySQL o SQLite
- apps que quieren acceso a SQL raw sin perder una API de alto nivel
Buenas prácticas
Section titled “Buenas prácticas”- Trata las definiciones de modelo como la única fuente de verdad.
- Mantén los payloads de consulta legibles y cercanos a la intención del negocio.
- Usa
executeSql()para sentencias realmente personalizadas, no como camino por defecto. - Centraliza la configuración del adaptador en un solo módulo de conexión.