index.d.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. import {
  2. Connection as PromiseConnection,
  3. Pool as PromisePool,
  4. PoolConnection as PromisePoolConnection
  5. } from './promise';
  6. import * as mysql from './typings/mysql';
  7. export * from './typings/mysql';
  8. export interface Connection extends mysql.Connection {
  9. execute<
  10. T extends
  11. | mysql.RowDataPacket[][]
  12. | mysql.RowDataPacket[]
  13. | mysql.OkPacket
  14. | mysql.OkPacket[]
  15. | mysql.ResultSetHeader
  16. >(
  17. sql: string,
  18. callback?: (
  19. err: mysql.QueryError | null,
  20. result: T,
  21. fields: mysql.FieldPacket[]
  22. ) => any
  23. ): mysql.Query;
  24. execute<
  25. T extends
  26. | mysql.RowDataPacket[][]
  27. | mysql.RowDataPacket[]
  28. | mysql.OkPacket
  29. | mysql.OkPacket[]
  30. | mysql.ResultSetHeader
  31. >(
  32. sql: string,
  33. values: any | any[] | { [param: string]: any },
  34. callback?: (
  35. err: mysql.QueryError | null,
  36. result: T,
  37. fields: mysql.FieldPacket[]
  38. ) => any
  39. ): mysql.Query;
  40. execute<
  41. T extends
  42. | mysql.RowDataPacket[][]
  43. | mysql.RowDataPacket[]
  44. | mysql.OkPacket
  45. | mysql.OkPacket[]
  46. | mysql.ResultSetHeader
  47. >(
  48. options: mysql.QueryOptions,
  49. callback?: (
  50. err: mysql.QueryError | null,
  51. result: T,
  52. fields?: mysql.FieldPacket[]
  53. ) => any
  54. ): mysql.Query;
  55. execute<
  56. T extends
  57. | mysql.RowDataPacket[][]
  58. | mysql.RowDataPacket[]
  59. | mysql.OkPacket
  60. | mysql.OkPacket[]
  61. | mysql.ResultSetHeader
  62. >(
  63. options: mysql.QueryOptions,
  64. values: any | any[] | { [param: string]: any },
  65. callback?: (
  66. err: mysql.QueryError | null,
  67. result: T,
  68. fields: mysql.FieldPacket[]
  69. ) => any
  70. ): mysql.Query;
  71. ping(callback?: (err: mysql.QueryError | null) => any): void;
  72. promise(promiseImpl?: PromiseConstructor): PromiseConnection;
  73. }
  74. export interface PoolConnection extends mysql.PoolConnection, Connection {
  75. promise(promiseImpl?: PromiseConstructor): PromisePoolConnection;
  76. }
  77. export interface Pool extends mysql.Connection {
  78. execute<
  79. T extends
  80. | mysql.RowDataPacket[][]
  81. | mysql.RowDataPacket[]
  82. | mysql.OkPacket
  83. | mysql.OkPacket[]
  84. | mysql.ResultSetHeader
  85. >(
  86. sql: string,
  87. callback?: (
  88. err: mysql.QueryError | null,
  89. result: T,
  90. fields: mysql.FieldPacket[]
  91. ) => any
  92. ): mysql.Query;
  93. execute<
  94. T extends
  95. | mysql.RowDataPacket[][]
  96. | mysql.RowDataPacket[]
  97. | mysql.OkPacket
  98. | mysql.OkPacket[]
  99. | mysql.ResultSetHeader
  100. >(
  101. sql: string,
  102. values: any | any[] | { [param: string]: any },
  103. callback?: (
  104. err: mysql.QueryError | null,
  105. result: T,
  106. fields: mysql.FieldPacket[]
  107. ) => any
  108. ): mysql.Query;
  109. execute<
  110. T extends
  111. | mysql.RowDataPacket[][]
  112. | mysql.RowDataPacket[]
  113. | mysql.OkPacket
  114. | mysql.OkPacket[]
  115. | mysql.ResultSetHeader
  116. >(
  117. options: mysql.QueryOptions,
  118. callback?: (
  119. err: mysql.QueryError | null,
  120. result: T,
  121. fields?: mysql.FieldPacket[]
  122. ) => any
  123. ): mysql.Query;
  124. execute<
  125. T extends
  126. | mysql.RowDataPacket[][]
  127. | mysql.RowDataPacket[]
  128. | mysql.OkPacket
  129. | mysql.OkPacket[]
  130. | mysql.ResultSetHeader
  131. >(
  132. options: mysql.QueryOptions,
  133. values: any | any[] | { [param: string]: any },
  134. callback?: (
  135. err: mysql.QueryError | null,
  136. result: T,
  137. fields: mysql.FieldPacket[]
  138. ) => any
  139. ): mysql.Query;
  140. getConnection(
  141. callback: (err: NodeJS.ErrnoException, connection: PoolConnection) => any
  142. ): void;
  143. on(event: 'connection', listener: (connection: PoolConnection) => any): this;
  144. on(event: 'acquire', listener: (connection: PoolConnection) => any): this;
  145. on(event: 'release', listener: (connection: PoolConnection) => any): this;
  146. on(event: 'enqueue', listener: () => any): this;
  147. promise(promiseImpl?: PromiseConstructor): PromisePool;
  148. }
  149. type authPlugins = (pluginMetadata: {
  150. connection: Connection;
  151. command: string;
  152. }) => (
  153. pluginData: Buffer
  154. ) => Promise<string> | string | Buffer | Promise<Buffer> | null;
  155. export interface ConnectionOptions extends mysql.ConnectionOptions {
  156. charsetNumber?: number;
  157. compress?: boolean;
  158. authSwitchHandler?: (data: any, callback: () => void) => any;
  159. connectAttributes?: { [param: string]: any };
  160. decimalNumbers?: boolean;
  161. isServer?: boolean;
  162. maxPreparedStatements?: number;
  163. namedPlaceholders?: boolean;
  164. nestTables?: boolean | string;
  165. passwordSha1?: string;
  166. pool?: any;
  167. rowsAsArray?: boolean;
  168. stream?: any;
  169. uri?: string;
  170. connectionLimit?: number;
  171. Promise?: any;
  172. queueLimit?: number;
  173. waitForConnections?: boolean;
  174. authPlugins?: {
  175. [key: string]: authPlugins;
  176. };
  177. }
  178. export interface PoolOptions extends mysql.PoolOptions, ConnectionOptions {}
  179. export function createConnection(connectionUri: string): Connection;
  180. export function createConnection(config: ConnectionOptions): Connection;
  181. export function createPool(config: PoolOptions): Pool;