index.d.ts 5.8 KB

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