jaqt - Consultas e Transformações em JavaScript
(github.com/muze-nl)- Um mecanismo de consultas para Array e Object inspirado em GraphQL e SQL
- Uma biblioteca que permite usar no JavaScript funcionalidades no estilo GraphQL como
Array.select()eArray.where()
from(data)
.where({
friends: 'John'
})
.select({
name: o => o.name+' '+o.lastName
})
4 comentários
Olhando o código acima, isso me lembra o Drizzle ORM.
Recentemente conheci o Drizzle ORM; ele é um ORM voltado para query builder, como os ORMs já existentes no ecossistema JS, tipo
knexoutypeorm?O Drizzle tem uma abordagem um pouco diferente dos ORMs tradicionais. Dá para enxergá-lo como uma “camada fina de SQL” otimizada para TypeScript.
Comparando com o Knex, a sintaxe e a forma de definir schemas parecem semelhantes, mas há uma grande diferença no suporte a TypeScript. O Drizzle coloca muito mais foco em segurança de tipos. Enquanto no Knex é preciso definir schema e tipos separadamente, no Drizzle uma única definição gera tanto o schema quanto os tipos, o que é mais prático e reduz a chance de erros.
Em comparação com o TypeORM, o TypeORM é mais pesado e mais próximo de um ORM tradicional. O Drizzle é mais leve e tem melhor desempenho, o que é especialmente vantajoso em ambientes serverless. Em benchmarks reais, dizem que o Drizzle chega a ser várias vezes mais rápido que TypeORM ou Prisma.
Outro ponto interessante é que o Drizzle também oferece um bom suporte para gerenciamento de migrations. Com a ferramenta de CLI Drizzle Kit, é possível gerar automaticamente arquivos de migration e, durante o desenvolvimento, aplicar mudanças de schema de forma simples com o comando
push.Em resumo, o Drizzle pode ser visto como um query builder moderno, amigável ao TypeScript, leve e com ótimo desempenho. Eu o recomendaria especialmente para quem valoriza segurança de tipos e performance!
Este é o resultado de perguntar ao Perplexity.