nukak
Version:
flexible and efficient ORM, with declarative JSON syntax and smart type-safety
29 lines (28 loc) • 1.38 kB
TypeScript
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>;
}