index.d.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import * as crypto from 'crypto';
  2. import BaseConnection = require('./lib/Connection');
  3. import {ConnectionOptions, SslOptions} from './lib/Connection';
  4. import BasePoolConnection = require('./lib/PoolConnection');
  5. import BasePool = require('./lib/Pool');
  6. import {PoolOptions} from './lib/Pool';
  7. import BasePoolCluster = require('./lib/PoolCluster');
  8. import {PoolClusterOptions} from './lib/PoolCluster';
  9. import BaseQuery = require('./lib/protocol/sequences/Query');
  10. import BasePrepare = require('./lib/protocol/sequences/Prepare');
  11. import {QueryOptions, StreamOptions, QueryError} from './lib/protocol/sequences/Query';
  12. import {PrepareStatementInfo} from './lib/protocol/sequences/Prepare';
  13. import Server = require('./lib/Server');
  14. import { Pool as PromisePool, Connection as PromiseConnection } from '../../promise';
  15. export function createConnection(connectionUri: string): Connection;
  16. export function createConnection(config: BaseConnection.ConnectionOptions): Connection;
  17. export function createPool(config: BasePool.PoolOptions): BasePool;
  18. export function createPoolCluster(config?: BasePoolCluster.PoolClusterOptions): PoolCluster;
  19. export function escape(value: any): string;
  20. export function escapeId(value: any): string;
  21. export function format(sql: string): string;
  22. export function format(sql: string, values: any[], stringifyObjects?: boolean, timeZone?: string): string;
  23. export function format(sql: string, values: any, stringifyObjects?: boolean, timeZone?: string): string;
  24. export function raw(sql: string): {
  25. toSqlString: () => string
  26. };
  27. export function createServer(handler: (conn: BaseConnection) => any): Server;
  28. export {
  29. ConnectionOptions,
  30. SslOptions,
  31. PoolOptions,
  32. PoolClusterOptions,
  33. QueryOptions,
  34. QueryError,
  35. PrepareStatementInfo
  36. };
  37. export * from './lib/protocol/packets/index';
  38. // Expose class interfaces
  39. export interface Connection extends BaseConnection {
  40. promise(promiseImpl?: PromiseConstructor): PromiseConnection;
  41. }
  42. export interface PoolConnection extends BasePoolConnection {}
  43. export interface Pool extends BasePool {}
  44. export interface PoolCluster extends BasePoolCluster {}
  45. export interface Query extends BaseQuery {}
  46. export interface Prepare extends BasePrepare {}
  47. export type AuthPlugin = (pluginMetadata: {
  48. connection: Connection;
  49. command: string;
  50. }) => (
  51. pluginData: Buffer
  52. ) => Promise<string> | string | Buffer | Promise<Buffer> | null;
  53. type AuthPluginDefinition<T> = (pluginOptions?: T) => AuthPlugin
  54. export const authPlugins: {
  55. caching_sha2_password: AuthPluginDefinition<{
  56. overrideIsSecure?: boolean,
  57. serverPublicKey?: crypto.RsaPublicKey | crypto.RsaPrivateKey | crypto.KeyLike,
  58. jonServerPublicKey?: (data: Buffer) => void;
  59. }>,
  60. mysql_clear_password: AuthPluginDefinition<{
  61. password?: string;
  62. }>,
  63. mysql_native_password: AuthPluginDefinition<{
  64. password?: string;
  65. passwordSha1?: string;
  66. }>,
  67. sha256_password: AuthPluginDefinition<{
  68. serverPublicKey?: crypto.RsaPublicKey | crypto.RsaPrivateKey | crypto.KeyLike,
  69. joinServerPublicKey?: (data: Buffer) => void;
  70. }>,
  71. }