123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- import { EventEmitter } from 'events';
- import {
- RowDataPacket,
- OkPacket,
- ResultSetHeader,
- FieldPacket,
- QueryOptions,
- ConnectionOptions,
- PoolOptions,
- PoolClusterOptions,
- Pool as CorePool,
- } from './index.js';
- import { ExecutableBase as ExecutableBaseClass } from './typings/mysql/lib/protocol/sequences/promise/ExecutableBase.js';
- import { QueryableBase as QueryableBaseClass } from './typings/mysql/lib/protocol/sequences/promise/QueryableBase.js';
- export * from './index.js';
- // Expose class interfaces
- declare class QueryableAndExecutableBase extends QueryableBaseClass(
- ExecutableBaseClass(EventEmitter),
- ) {}
- export interface PreparedStatementInfo {
- close(): Promise<void>;
- execute(
- parameters: any | any[] | { [param: string]: any },
- ): Promise<
- [
- (
- | RowDataPacket[][]
- | RowDataPacket[]
- | OkPacket
- | OkPacket[]
- | ResultSetHeader
- ),
- FieldPacket[],
- ]
- >;
- }
- export interface Connection extends QueryableAndExecutableBase {
- config: ConnectionOptions;
- threadId: number;
- connect(): Promise<void>;
- ping(): Promise<void>;
- beginTransaction(): Promise<void>;
- commit(): Promise<void>;
- rollback(): Promise<void>;
- changeUser(options: ConnectionOptions): Promise<void>;
- prepare(options: string | QueryOptions): Promise<PreparedStatementInfo>;
- unprepare(sql: string | QueryOptions): void;
- end(options?: any): Promise<void>;
- destroy(): void;
- pause(): void;
- resume(): void;
- escape(value: any): string;
- escapeId(value: string): string;
- escapeId(values: string[]): string;
- format(sql: string, values?: any | any[] | { [param: string]: any }): string;
- }
- export interface PoolConnection extends Connection {
- release(): void;
- connection: Connection;
- }
- export interface Pool extends Connection {
- getConnection(): Promise<PoolConnection>;
- releaseConnection(connection: PoolConnection): void;
- on(event: 'connection', listener: (connection: PoolConnection) => any): this;
- on(event: 'acquire', listener: (connection: PoolConnection) => any): this;
- on(event: 'release', listener: (connection: PoolConnection) => any): this;
- on(event: 'enqueue', listener: () => any): this;
- end(): Promise<void>;
- pool: CorePool;
- }
- export interface PoolNamespace extends QueryableAndExecutableBase {
- getConnection(): Promise<PoolConnection>;
- }
- export interface PoolCluster extends EventEmitter {
- config: PoolClusterOptions;
- add(config: PoolOptions): void;
- add(group: string, connectionUri: string): void;
- add(group: string, config: PoolOptions): void;
- end(): Promise<void>;
- getConnection(): Promise<PoolConnection>;
- getConnection(group: string): Promise<PoolConnection>;
- getConnection(group: string, selector: string): Promise<PoolConnection>;
- of(pattern: string, selector?: string): PoolNamespace;
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: 'remove', listener: (nodeId: number) => void): this;
- on(event: 'warn', listener: (err: Error) => void): this;
- }
- export function createConnection(connectionUri: string): Promise<Connection>;
- export function createConnection(
- config: ConnectionOptions,
- ): Promise<Connection>;
- export function createPool(connectionUri: string): Pool;
- export function createPool(config: PoolOptions): Pool;
- export function createPoolCluster(config?: PoolClusterOptions): PoolCluster;
|