UNPKG

nukak

Version:

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

29 lines (28 loc) 1.38 kB
import type { Type, QueryOptions, QueryUpdateResult, QuerySearch, Query, QueryConflictPaths } from '../type/index.js'; import type { AbstractSqlDialect } from '../dialect/index.js'; import { AbstractQuerier } from './abstractQuerier.js'; export declare abstract class AbstractSqlQuerier extends AbstractQuerier { readonly dialect: AbstractSqlDialect; private hasPendingTransaction?; constructor(dialect: AbstractSqlDialect); /** * read query. * @param query the query */ abstract all<T>(query: string): Promise<T[]>; /** * insert/update/delete/ddl query. * @param query the query */ abstract run(query: string): 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>; }