UNPKG

nukak

Version:

flexible and efficient ORM, with declarative JSON syntax and smart type-safety

29 lines (28 loc) 1.58 kB
import type { AbstractSqlDialect } from '../dialect/index.js'; import type { Query, QueryConflictPaths, QueryOptions, QuerySearch, QueryUpdateResult, SqlQuerier, Type } from '../type/index.js'; import { AbstractQuerier } from './abstractQuerier.js'; export declare abstract class AbstractSqlQuerier extends AbstractQuerier implements SqlQuerier { readonly dialect: AbstractSqlDialect; private hasPendingTransaction?; constructor(dialect: AbstractSqlDialect); /** * internal read query. */ protected abstract internalAll<T>(query: string, values?: unknown[]): Promise<T[]>; /** * internal insert/update/delete/ddl query. */ protected abstract internalRun(query: string, values?: unknown[]): Promise<QueryUpdateResult>; all<T>(query: string, values?: unknown[]): Promise<T[]>; run(query: string, values?: unknown[]): Promise<QueryUpdateResult>; findMany<E>(entity: Type<E>, q: Query<E>): Promise<E[]>; count<E>(entity: Type<E>, q?: QuerySearch<E>): Promise<number>; insertMany<E>(entity: Type<E>, payload: E[]): Promise<E[import("../type/entity.js").IdKey<E>][]>; updateMany<E>(entity: Type<E>, q: QuerySearch<E>, payload: E): Promise<number>; upsertOne<E>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): Promise<QueryUpdateResult>; deleteMany<E>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>; get hasOpenTransaction(): boolean; beginTransaction(): Promise<void>; commitTransaction(): Promise<void>; rollbackTransaction(): Promise<void>; }