132 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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;
 |