/* eslint-disable @typescript-eslint/no-unused-vars */ import * as AWSXRay from 'aws-xray-sdk-core'; import * as MySQL from 'mysql'; import { expectType } from 'tsd'; import { captureMySQL } from '../lib'; const segment = AWSXRay.getSegment(); const mysql = captureMySQL(MySQL); const config = {}; const connection: captureMySQL.PatchedConnection = mysql.createConnection(config); const pool: captureMySQL.PatchedPool = mysql.createPool(config); const poolCluster: captureMySQL.PatchedPoolCluster = mysql.createPoolCluster(config); const queryCallback: MySQL.queryCallback = function(err: MySQL.MysqlError | null, rows: any) { }; const getConnectionCallback = function(err: MySQL.MysqlError, conn: captureMySQL.PatchedConnection) { }; expectType(connection.query('SELECT * FROM cats', queryCallback)); expectType(connection.query('SELECT * FROM cats', queryCallback, segment)); expectType(pool.query('SELECT * FROM cats', queryCallback)); expectType(pool.query('SELECT * FROM cats', queryCallback, segment)); expectType(pool.getConnection(getConnectionCallback)); expectType(poolCluster.getConnection(getConnectionCallback)); expectType(poolCluster.getConnection('pattern', getConnectionCallback)); expectType(poolCluster.getConnection('pattern', 'selector', getConnectionCallback)); expectType(poolCluster.of('pattern')); expectType(poolCluster.of('pattern', 'selector')); expectType(poolCluster.of(null, 'selector'));