jaqt - JavaScript Sorguları ve Dönüşümleri
(github.com/muze-nl)- GraphQL ve SQL'den ilham alan, Array ve Object için bir sorgu motoru
- GraphQL tarzı
Array.select()veArray.where()özelliklerini JavaScript'e getirip kullanılmasını sağlayan bir kütüphane
from(data)
.where({
friends: 'John'
})
.select({
name: o => o.name+' '+o.lastName
})
4 yorum
Yukarıdaki koda bakınca aklıma Drizzle ORM geliyor
Drizzle ORM’yi yakın zamanda öğrendim; mevcut JS ekosistemindeki Knex veya TypeORM gibi sorgu oluşturucu odaklı bir ORM mi?
Drizzle, mevcut ORM'lerden biraz farklı bir yaklaşım benimsiyor. TypeScript için optimize edilmiş "ince bir SQL katmanı" olarak düşünebilirsiniz.
Knex ile karşılaştırıldığında, söz dizimi ve şema tanımlama biçimi benzer görünebilir ama TypeScript desteği tarafında büyük bir fark var. Drizzle, tip güvenliğine çok daha fazla odaklanıyor. Knex'te şema ve tip tanımlarını ayrı ayrı yapmak gerekirken, Drizzle'da tek bir tanımla hem şema hem de tipler üretiliyor; bu da daha kullanışlı oluyor ve daha az hataya yol açıyor.
TypeORM ile kıyaslarsak, TypeORM daha ağır ve geleneksel bir ORM'e daha yakın. Drizzle ise daha hafif ve performansı daha iyi; özellikle de serverless ortamlarda avantaj sağlıyor. Gerçek benchmark'lara bakıldığında Drizzle'ın TypeORM veya Prisma'dan birkaç kat daha hızlı olduğu söyleniyor.
Ek olarak ilginç bir nokta da Drizzle'ın migration yönetimini iyi desteklemesi. CLI aracı olan Drizzle Kit ile migration dosyalarını otomatik olarak oluşturabiliyor, geliştirme aşamasında ise
pushkomutuyla şema değişikliklerini kolayca uygulayabiliyorsunuz.Sonuç olarak Drizzle'ı, TypeScript dostu olmasının yanında hafif ve yüksek performanslı modern bir query builder olarak görmek mümkün. Özellikle tip güvenliği ve performansa önem verenlere tavsiye ederim!
Perplexity'ye sormanın sonucu bu.