packages/mysql/test-d/index.test-d.ts (25 lines of code) (raw):
/* 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<MySQL.Query>(connection.query('SELECT * FROM cats', queryCallback));
expectType<MySQL.Query>(connection.query('SELECT * FROM cats', queryCallback, segment));
expectType<MySQL.Query>(pool.query('SELECT * FROM cats', queryCallback));
expectType<MySQL.Query>(pool.query('SELECT * FROM cats', queryCallback, segment));
expectType<void>(pool.getConnection(getConnectionCallback));
expectType<void>(poolCluster.getConnection(getConnectionCallback));
expectType<void>(poolCluster.getConnection('pattern', getConnectionCallback));
expectType<void>(poolCluster.getConnection('pattern', 'selector', getConnectionCallback));
expectType<captureMySQL.PatchedPool>(poolCluster.of('pattern'));
expectType<captureMySQL.PatchedPool>(poolCluster.of('pattern', 'selector'));
expectType<captureMySQL.PatchedPool>(poolCluster.of(null, 'selector'));