@querykitjs/core
v1.1.0
Published
ORM-agnostic query DSL shared by querykit packages — filters, operators & wire types.
Maintainers
Readme
English · O'zbekcha
@querykitjs/core
querykit oilasi uchun umumiy, ORM-agnostik query DSL: filter tiplari, operatorlar,
createFiltersbuilder va wire-meta shakllari.
Bu paketni odatda to'g'ridan-to'g'ri o'rnatmaysiz — u @querykitjs/drizzle-pg (backend) va @querykitjs/web (frontend) tomonidan ishlatiladigan umumiy poydevor. Tiplar ustun-kaliti (TKey) bo'yicha generic; har bir adapter uni o'z kalit tipiga ixtisoslashtiradi (Drizzle jadval ustuni yoki entity maydoni).
Ichida nima bor
FilterOperator— barcha operatorlar:= != > >= < <=(+eq/ne/gt/gte/lt/lte),like/ilike/notLike,contains/startsWith/endsWith(+ token%_%/%_/_%),in/notIn,between/notBetween,isNull/isNotNull.- Filter daraxti —
FieldCondition<TKey>,AndGroup/OrGroup/NotGroup<TKey, TRaw>,FilterNode<TKey, TRaw>,Filter<TKey, TRaw>.TRaw— adapter qo'shadigan raw escape-hatch (masalan DrizzleSQL; defaultnever). FilterScalar/FilterValue,SortDirection.createFilters<TKey, TRaw>()+f— ergonomik builder (eq/ne/…, contains/…, like/ilike/notLike, in/notIn, between, range, isNull/isNotNull, and/or/not).- Wire meta (server javobi, snake_case) —
OffsetMeta,InfiniteMeta,CursorMeta.
Foydalanish (adapter ichida)
import { createFilters } from "@querykitjs/core";
import type { Filter } from "@querykitjs/core";
// adapter o'z kalit tipiga ixtisoslashtiradi:
type MyFilter = Filter<"status" | "age", MyRawSql>;
const f = createFilters<"status" | "age", MyRawSql>();
f.and(f.eq("status", "active"), f.gte("age", 18));Litsenziya
MIT © Suhrobbek Soatov
