UNPKG

lupdo

Version:

Database Abstraction Layer for Node js

51 lines (50 loc) 2.65 kB
/// <reference types="node" /> import { EventEmitter } from 'node:events'; import { PdoAttributes } from '../types/pdo-attributes'; import { PdoConnectionI } from '../types/pdo-connection'; import { DriverInstances, PdoDriverI } from '../types/pdo-driver'; import { InternalPdoPoolOptions, PdoPoolOptions, PoolConnection, PoolI, RawPoolConnection } from '../types/pdo-pool'; import { PdoPreparedStatementI } from '../types/pdo-prepared-statement'; import { PdoRawConnectionI } from '../types/pdo-raw-connection'; import { PdoStatementI } from '../types/pdo-statement'; import { PdoTransactionI } from '../types/pdo-transaction'; export declare abstract class PdoDriver extends EventEmitter implements PdoDriverI { protected version: string | undefined; protected instances: DriverInstances; protected defaultAttributes: PdoAttributes; protected driverAttributes: PdoAttributes; private userAttributes; private processedAttributes; private userPoolOptions; private processedPoolOptions; private poolEvents; protected hasDebug: boolean; private initializedPool; protected disconnected: boolean; protected forceReconnect: boolean; constructor(driver: string, userPoolOptions: PdoPoolOptions, userAttributes: PdoAttributes); reconnect(): void; disconnect(): Promise<void>; protected get poolOptions(): InternalPdoPoolOptions<PoolConnection>; protected get attributes(): PdoAttributes; protected get pool(): PoolI<PoolConnection>; beginTransaction(): Promise<PdoTransactionI>; prepare(sql: string): Promise<PdoPreparedStatementI>; exec(sql: string): Promise<number>; query(sql: string): Promise<PdoStatementI>; getAttribute(attribute: string): string | number; setAttribute(attribute: string, value: number | string): boolean; getVersion(): Promise<string>; getRawPoolConnection(): Promise<RawPoolConnection>; getRawDriverConnection<T>(): Promise<T>; protected assignPoolEvents(): void; protected abstract createConnection(unsecure?: boolean): Promise<PoolConnection>; protected abstract getRawConnection(): PdoRawConnectionI; protected abstract closeConnection(connection: PoolConnection): Promise<void>; protected abstract destroyConnection(connection: PoolConnection): Promise<void>; protected abstract createPdoConnection(connection: PoolConnection): PdoConnectionI; protected abstract validateRawConnection(connection: PoolConnection): boolean; protected abstract getVersionFromConnection(connection: PoolConnection): Promise<string>; protected throwIfDisconnected(): void; } export default PdoDriver;