promise.d.ts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import {
  2. RowDataPacket,
  3. OkPacket,
  4. ResultSetHeader,
  5. FieldPacket,
  6. QueryOptions,
  7. ConnectionOptions,
  8. PoolOptions,
  9. Pool as CorePool
  10. } from './index';
  11. import { EventEmitter } from 'events';
  12. export * from './index';
  13. export interface Connection extends EventEmitter {
  14. config: ConnectionOptions;
  15. threadId: number;
  16. connect(): Promise<void>;
  17. ping(): Promise<void>;
  18. beginTransaction(): Promise<void>;
  19. commit(): Promise<void>;
  20. rollback(): Promise<void>;
  21. changeUser(options: ConnectionOptions): Promise<void>;
  22. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  23. sql: string
  24. ): Promise<[T, FieldPacket[]]>;
  25. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  26. sql: string,
  27. values: any | any[] | { [param: string]: any }
  28. ): Promise<[T, FieldPacket[]]>;
  29. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  30. options: QueryOptions
  31. ): Promise<[T, FieldPacket[]]>;
  32. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  33. options: QueryOptions,
  34. values: any | any[] | { [param: string]: any }
  35. ): Promise<[T, FieldPacket[]]>;
  36. execute<
  37. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  38. >(
  39. sql: string
  40. ): Promise<[T, FieldPacket[]]>;
  41. execute<
  42. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  43. >(
  44. sql: string,
  45. values: any | any[] | { [param: string]: any }
  46. ): Promise<[T, FieldPacket[]]>;
  47. execute<
  48. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  49. >(
  50. options: QueryOptions
  51. ): Promise<[T, FieldPacket[]]>;
  52. execute<
  53. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  54. >(
  55. options: QueryOptions,
  56. values: any | any[] | { [param: string]: any }
  57. ): Promise<[T, FieldPacket[]]>;
  58. prepare(options: string | QueryOptions): Promise<PreparedStatementInfo>;
  59. unprepare(sql: string | QueryOptions): void;
  60. end(options?: any): Promise<void>;
  61. destroy(): void;
  62. pause(): void;
  63. resume(): void;
  64. escape(value: any): string;
  65. escapeId(value: string): string;
  66. escapeId(values: string[]): string;
  67. format(sql: string, values?: any | any[] | { [param: string]: any }): string;
  68. }
  69. export interface PoolConnection extends Connection {
  70. connection: Connection;
  71. getConnection(): Promise<PoolConnection>;
  72. release(): void;
  73. }
  74. export interface Pool extends EventEmitter {
  75. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  76. sql: string
  77. ): Promise<[T, FieldPacket[]]>;
  78. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  79. sql: string,
  80. values: any | any[] | { [param: string]: any }
  81. ): Promise<[T, FieldPacket[]]>;
  82. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  83. options: QueryOptions
  84. ): Promise<[T, FieldPacket[]]>;
  85. query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
  86. options: QueryOptions,
  87. values: any | any[] | { [param: string]: any }
  88. ): Promise<[T, FieldPacket[]]>;
  89. execute<
  90. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  91. >(
  92. sql: string
  93. ): Promise<[T, FieldPacket[]]>;
  94. execute<
  95. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  96. >(
  97. sql: string,
  98. values: any | any[] | { [param: string]: any }
  99. ): Promise<[T, FieldPacket[]]>;
  100. execute<
  101. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  102. >(
  103. options: QueryOptions
  104. ): Promise<[T, FieldPacket[]]>;
  105. execute<
  106. T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
  107. >(
  108. options: QueryOptions,
  109. values: any | any[] | { [param: string]: any }
  110. ): Promise<[T, FieldPacket[]]>;
  111. getConnection(): Promise<PoolConnection>;
  112. on(event: 'connection', listener: (connection: PoolConnection) => any): this;
  113. on(event: 'acquire', listener: (connection: PoolConnection) => any): this;
  114. on(event: 'release', listener: (connection: PoolConnection) => any): this;
  115. on(event: 'enqueue', listener: () => any): this;
  116. end(): Promise<void>;
  117. escape(value: any): string;
  118. escapeId(value: string): string;
  119. escapeId(values: string[]): string;
  120. format(sql: string, values?: any | any[] | { [param: string]: any }): string;
  121. pool: CorePool;
  122. }
  123. export function createConnection(connectionUri: string): Promise<Connection>;
  124. export function createConnection(
  125. config: ConnectionOptions
  126. ): Promise<Connection>;
  127. export function createPool(connectionUri: string): Pool;
  128. export function createPool(config: PoolOptions): Pool;
  129. export interface PreparedStatementInfo {
  130. close(): Promise<void>;
  131. execute(parameters: any[]): Promise<[RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader, FieldPacket[]]>;
  132. }