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.

42 lines (41 loc) 3.93 kB
import type { QueryRunner } from "./QueryRunner"; import { ChainedQueryRunner } from "./ChainedQueryRunner"; import type { UnwrapPromiseTuple } from "../utils/PromiseProvider"; export type QueryType = 'selectOneRow' | 'selectManyRows' | 'selectOneColumnOneRow' | 'selectOneColumnManyRows' | 'insert' | 'insertReturningLastInsertedId' | 'insertReturningMultipleLastInsertedId' | 'insertReturningOneRow' | 'insertReturningManyRows' | 'insertReturningOneColumnOneRow' | 'insertReturningOneColumnManyRows' | 'update' | 'updateReturningOneRow' | 'updateReturningManyRows' | 'updateReturningOneColumnOneRow' | 'updateReturningOneColumnManyRows' | 'delete' | 'deleteReturningOneRow' | 'deleteReturningManyRows' | 'deleteReturningOneColumnOneRow' | 'deleteReturningOneColumnManyRows' | 'executeProcedure' | 'executeFunction' | 'beginTransaction' | 'commit' | 'rollback' | 'executeDatabaseSchemaModification' | 'executeConnectionConfiguration'; export declare abstract class InterceptorQueryRunner<PLAYLOAD_TYPE, T extends QueryRunner = QueryRunner> extends ChainedQueryRunner<T> { constructor(queryRunner: T); abstract onQuery(queryType: QueryType, query: string, params: any[]): PLAYLOAD_TYPE; abstract onQueryResult(queryType: QueryType, query: string, params: any[], result: any, playload: PLAYLOAD_TYPE): void; abstract onQueryError(queryType: QueryType, query: string, params: any[], error: any, playload: PLAYLOAD_TYPE): void; executeSelectOneRow(query: string, params?: any[]): Promise<any>; executeSelectManyRows(query: string, params?: any[]): Promise<any[]>; executeSelectOneColumnOneRow(query: string, params?: any[]): Promise<any>; executeSelectOneColumnManyRows(query: string, params?: any[]): Promise<any[]>; executeInsert(query: string, params?: any[]): Promise<number>; executeInsertReturningLastInsertedId(query: string, params?: any[]): Promise<any>; executeInsertReturningMultipleLastInsertedId(query: string, params?: any[]): Promise<any>; executeInsertReturningOneRow(query: string, params?: any[]): Promise<any>; executeInsertReturningManyRows(query: string, params?: any[]): Promise<any[]>; executeInsertReturningOneColumnOneRow(query: string, params?: any[]): Promise<any>; executeInsertReturningOneColumnManyRows(query: string, params?: any[]): Promise<any[]>; executeUpdate(query: string, params?: any[]): Promise<number>; executeUpdateReturningOneRow(query: string, params?: any[]): Promise<any>; executeUpdateReturningManyRows(query: string, params?: any[]): Promise<any[]>; executeUpdateReturningOneColumnOneRow(query: string, params?: any[]): Promise<any>; executeUpdateReturningOneColumnManyRows(query: string, params?: any[]): Promise<any[]>; executeDelete(query: string, params?: any[]): Promise<number>; executeDeleteReturningOneRow(query: string, params?: any[]): Promise<any>; executeDeleteReturningManyRows(query: string, params?: any[]): Promise<any[]>; executeDeleteReturningOneColumnOneRow(query: string, params?: any[]): Promise<any>; executeDeleteReturningOneColumnManyRows(query: string, params?: any[]): Promise<any[]>; executeProcedure(query: string, params?: any[]): Promise<void>; executeFunction(query: string, params?: any[]): Promise<any>; executeInTransaction<P extends Promise<any>[]>(fn: () => [...P], outermostQueryRunner: QueryRunner): Promise<UnwrapPromiseTuple<P>>; executeInTransaction<T>(fn: () => Promise<T>, outermostQueryRunner: QueryRunner): Promise<T>; executeInTransaction(fn: () => Promise<any>[] | Promise<any>, outermostQueryRunner: QueryRunner): Promise<any>; executeBeginTransaction(): Promise<void>; executeCommit(): Promise<void>; executeRollback(): Promise<void>; executeDatabaseSchemaModification(query: string, params?: any[]): Promise<void>; executeConnectionConfiguration(query: string, params?: any[]): Promise<void>; }