UNPKG

ts-sql-query

Version:

Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.

49 lines (48 loc) 1.8 kB
import { PromiseBasedQueryRunner } from "./PromiseBasedQueryRunner"; import type { DatabaseType } from "./QueryRunner"; export interface Connection { query(sql: string, params?: any[], cb?: QueryCb): Query; beginTransaction(cb?: StatusCb): void; commit(cb?: StatusCb): void; rollback(cb?: StatusCb): void; } export interface Query { on(name: string, cb: SubmittedEventCb): void; on(name: string, cb: EventCb): void; on(name: string, cb: EventColumnCb): void; } export interface QueryCb { (err?: Error, rows?: any[], more?: boolean): void; } export interface StatusCb { (err?: Error): void; } export interface EventCb { (data: any): void; } export interface SubmittedEventCb { (sql: string, params: any[]): void; } export interface EventColumnCb { (colIndex: number, data: any, more: boolean): void; } /** * @deprecated Use mssql instead with MssqlPoolQueryRunner or MssqlPoolQueryRunner */ export declare class MsNodeSqlV8QueryRunner<CONNECTION extends Connection> extends PromiseBasedQueryRunner { readonly database: DatabaseType; readonly connection: CONNECTION; private transactionLevel; constructor(connection: CONNECTION); useDatabase(database: DatabaseType): void; getNativeRunner(): CONNECTION; getCurrentNativeTransaction(): undefined; execute<RESULT>(fn: (connection: unknown, transaction?: unknown) => Promise<RESULT>): Promise<RESULT>; protected executeQueryReturning(query: string, params: any[]): Promise<any[]>; protected executeMutation(query: string, params: any[]): Promise<number>; executeBeginTransaction(): Promise<void>; executeCommit(): Promise<void>; executeRollback(): Promise<void>; isTransactionActive(): boolean; addParam(params: any[], value: any): string; }