From ec7d4a209732b2febb14963bdfccd3132ed5b0fe Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Sun, 7 May 2023 04:59:55 -0300 Subject: [PATCH 01/11] fix: `execute` types in `Connection` --- typings/mysql/lib/Connection.d.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/typings/mysql/lib/Connection.d.ts b/typings/mysql/lib/Connection.d.ts index 41c37183f0..fbcc5cb769 100644 --- a/typings/mysql/lib/Connection.d.ts +++ b/typings/mysql/lib/Connection.d.ts @@ -289,9 +289,8 @@ declare class Connection extends EventEmitter { rollback(callback: (err: Query.QueryError | null) => void): void; - execute(sql: string, callback?: (err: any, rows: Array, fields: Array) => any): any; - - execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: any, rows: Array, fields: Array) => any): any; + execute(sql: string, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; + execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; unprepare(sql: string): any; From d297146b5d876efda3ef4d1f357a34cfdc7b167a Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Sun, 7 May 2023 05:05:05 -0300 Subject: [PATCH 02/11] fix: `promise` options don't appears --- typings/mysql/lib/Pool.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typings/mysql/lib/Pool.d.ts b/typings/mysql/lib/Pool.d.ts index 4d7ac68bb8..701f26a520 100644 --- a/typings/mysql/lib/Pool.d.ts +++ b/typings/mysql/lib/Pool.d.ts @@ -71,7 +71,7 @@ declare class Pool extends EventEmitter { on(event: string, listener: Function): this; on(event: 'connection', listener: (connection: PoolConnection) => any): this; - promise(promiseImpl?: any): any; + promise(promiseImpl?: PromiseConstructor): PromisePoolConnection; } export = Pool; From cc4b1206a39e898a11a353215a9e55f7ade895da Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Sun, 7 May 2023 05:08:04 -0300 Subject: [PATCH 03/11] fix: missing `execute` method in `Pool` --- typings/mysql/lib/Pool.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/typings/mysql/lib/Pool.d.ts b/typings/mysql/lib/Pool.d.ts index 701f26a520..600ec9db35 100644 --- a/typings/mysql/lib/Pool.d.ts +++ b/typings/mysql/lib/Pool.d.ts @@ -4,6 +4,7 @@ import {OkPacket, RowDataPacket, FieldPacket, ResultSetHeader} from './protocol/ import Connection = require('./Connection'); import PoolConnection = require('./PoolConnection'); import {EventEmitter} from 'events'; +import { PromisePoolConnection } from '../../../promise'; declare namespace Pool { @@ -66,6 +67,9 @@ declare class Pool extends EventEmitter { query(options: Query.QueryOptions, callback?: (err: Query.QueryError | null, result: T, fields?: FieldPacket[]) => any): Query; query(options: Query.QueryOptions, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + execute(sql: string, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; + execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; + end(callback?: (err: NodeJS.ErrnoException | null, ...args: any[]) => any): void; on(event: string, listener: Function): this; From 0bbee8d24040c72c9026d2d7872481673930dd70 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Sun, 7 May 2023 05:29:19 -0300 Subject: [PATCH 04/11] fix: missing `getConnection()` in `.promise()` --- promise.d.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/promise.d.ts b/promise.d.ts index b5441aba61..2b1c4ad8de 100644 --- a/promise.d.ts +++ b/promise.d.ts @@ -153,6 +153,4 @@ export interface PreparedStatementInfo { execute(parameters: any[]): Promise<[RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader, FieldPacket[]]>; } -export interface PromisePoolConnection extends Connection { - destroy(): any; -} +export interface PromisePoolConnection extends Pool {} From c90eacd97ff9b89821288b04a3b73d8e09e9dbda Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 05:54:03 -0300 Subject: [PATCH 05/11] fix: patterning `execute` overloads in mysql import --- typings/mysql/lib/Connection.d.ts | 7 +++++-- typings/mysql/lib/Pool.d.ts | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/typings/mysql/lib/Connection.d.ts b/typings/mysql/lib/Connection.d.ts index fbcc5cb769..4a82f31d31 100644 --- a/typings/mysql/lib/Connection.d.ts +++ b/typings/mysql/lib/Connection.d.ts @@ -289,8 +289,11 @@ declare class Connection extends EventEmitter { rollback(callback: (err: Query.QueryError | null) => void): void; - execute(sql: string, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; - execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; + execute(sql: string, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + execute(options: Query.QueryOptions, callback?: (err: Query.QueryError | null, result: T, fields?: FieldPacket[]) => any): Query; + execute(options: Query.QueryOptions, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + unprepare(sql: string): any; diff --git a/typings/mysql/lib/Pool.d.ts b/typings/mysql/lib/Pool.d.ts index 600ec9db35..633516637f 100644 --- a/typings/mysql/lib/Pool.d.ts +++ b/typings/mysql/lib/Pool.d.ts @@ -67,8 +67,11 @@ declare class Pool extends EventEmitter { query(options: Query.QueryOptions, callback?: (err: Query.QueryError | null, result: T, fields?: FieldPacket[]) => any): Query; query(options: Query.QueryOptions, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; - execute(sql: string, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; - execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: any, rows: RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[] | ResultSetHeader, fields: FieldPacket[]) => void): void; + execute(sql: string, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + execute(sql: string, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + execute(options: Query.QueryOptions, callback?: (err: Query.QueryError | null, result: T, fields?: FieldPacket[]) => any): Query; + execute(options: Query.QueryOptions, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; + end(callback?: (err: NodeJS.ErrnoException | null, ...args: any[]) => any): void; From ea77ac766b6d83afa65992ad9c15bde6010466e9 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 06:17:05 -0300 Subject: [PATCH 06/11] fix: `promise` method types in `createConnection` --- typings/mysql/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/typings/mysql/index.d.ts b/typings/mysql/index.d.ts index c25edb89f9..75761e871e 100644 --- a/typings/mysql/index.d.ts +++ b/typings/mysql/index.d.ts @@ -12,7 +12,7 @@ import BasePrepare = require('./lib/protocol/sequences/Prepare'); import {QueryOptions, StreamOptions, QueryError} from './lib/protocol/sequences/Query'; import {PrepareStatementInfo} from './lib/protocol/sequences/Prepare'; import Server = require('./lib/Server'); -import { Pool as PromisePool } from '../../promise'; +import { Pool as PromisePool, Connection as PromiseConnection } from '../../promise'; export function createConnection(connectionUri: string): Connection; export function createConnection(config: BaseConnection.ConnectionOptions): Connection; @@ -41,7 +41,7 @@ export * from './lib/protocol/packets/index'; // Expose class interfaces export interface Connection extends BaseConnection { - promise(promiseImpl?: PromiseConstructor): PromisePool; + promise(promiseImpl?: PromiseConstructor): PromiseConnection; } export interface PoolConnection extends BasePoolConnection {} export interface Pool extends BasePool {} From 4249b28a1c5e060cb175f2012ce410a437f91068 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 07:08:42 -0300 Subject: [PATCH 07/11] fix: `promise` method types in `createPool` --- index.d.ts | 3 ++- promise.d.ts | 2 +- typings/mysql/lib/Pool.d.ts | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index 716e5d161b..f63883c112 100644 --- a/index.d.ts +++ b/index.d.ts @@ -78,6 +78,7 @@ export interface Connection extends mysql.Connection { writeEof(warnings?: number, statusFlags?: number): void; writeTextResult(rows?: Array, columns?: Array): void; writePacket(packet: any): void; + promise(promiseImpl?: PromiseConstructor): PromiseConnection; sequenceId: number; } @@ -157,7 +158,7 @@ export interface Pool extends mysql.Connection { on(event: 'enqueue', listener: () => any): this; unprepare(sql: string): mysql.PrepareStatementInfo; prepare(sql: string, callback?: (err: mysql.QueryError | null, statement: mysql.PrepareStatementInfo) => any): mysql.Prepare; - + promise(promiseImpl?: PromiseConstructor): PromisePoolConnection; config: mysql.PoolOptions; } diff --git a/promise.d.ts b/promise.d.ts index 2b1c4ad8de..5fad9bacdf 100644 --- a/promise.d.ts +++ b/promise.d.ts @@ -84,6 +84,7 @@ export interface Connection extends EventEmitter { export interface PoolConnection extends Connection { connection: Connection; + getConnection(): Promise; release(): void; } @@ -153,4 +154,3 @@ export interface PreparedStatementInfo { execute(parameters: any[]): Promise<[RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader, FieldPacket[]]>; } -export interface PromisePoolConnection extends Pool {} diff --git a/typings/mysql/lib/Pool.d.ts b/typings/mysql/lib/Pool.d.ts index 633516637f..1bace502db 100644 --- a/typings/mysql/lib/Pool.d.ts +++ b/typings/mysql/lib/Pool.d.ts @@ -4,7 +4,7 @@ import {OkPacket, RowDataPacket, FieldPacket, ResultSetHeader} from './protocol/ import Connection = require('./Connection'); import PoolConnection = require('./PoolConnection'); import {EventEmitter} from 'events'; -import { PromisePoolConnection } from '../../../promise'; +import {PoolConnection as PromisePoolConnection} from '../../../promise'; declare namespace Pool { @@ -72,7 +72,6 @@ declare class Pool extends EventEmitter { execute(options: Query.QueryOptions, callback?: (err: Query.QueryError | null, result: T, fields?: FieldPacket[]) => any): Query; execute(options: Query.QueryOptions, values: any | any[] | { [param: string]: any }, callback?: (err: Query.QueryError | null, result: T, fields: FieldPacket[]) => any): Query; - end(callback?: (err: NodeJS.ErrnoException | null, ...args: any[]) => any): void; on(event: string, listener: Function): this; From 86daa77dba93842e55e578d58b646d33ba65961d Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 07:24:48 -0300 Subject: [PATCH 08/11] add: TypeScript build tests for mysql `createPool` and `createConnection` --- test/tsc-build/mysql/baseConnection.ts | 17 +++++ .../createConnection/callbacks/execute.ts | 61 +++++++++++++++ .../mysql/createConnection/callbacks/query.ts | 61 +++++++++++++++ .../mysql/createConnection/promise/execute.ts | 38 ++++++++++ .../mysql/createConnection/promise/query.ts | 38 ++++++++++ .../mysql/createPool/callbacks/execute.ts | 61 +++++++++++++++ .../mysql/createPool/callbacks/query.ts | 61 +++++++++++++++ .../mysql/createPool/promise/execute.ts | 75 +++++++++++++++++++ .../mysql/createPool/promise/query.ts | 75 +++++++++++++++++++ test/tsc-build/tsconfig.json | 32 ++++---- 10 files changed, 503 insertions(+), 16 deletions(-) create mode 100644 test/tsc-build/mysql/baseConnection.ts create mode 100644 test/tsc-build/mysql/createConnection/callbacks/execute.ts create mode 100644 test/tsc-build/mysql/createConnection/callbacks/query.ts create mode 100644 test/tsc-build/mysql/createConnection/promise/execute.ts create mode 100644 test/tsc-build/mysql/createConnection/promise/query.ts create mode 100644 test/tsc-build/mysql/createPool/callbacks/execute.ts create mode 100644 test/tsc-build/mysql/createPool/callbacks/query.ts create mode 100644 test/tsc-build/mysql/createPool/promise/execute.ts create mode 100644 test/tsc-build/mysql/createPool/promise/query.ts diff --git a/test/tsc-build/mysql/baseConnection.ts b/test/tsc-build/mysql/baseConnection.ts new file mode 100644 index 0000000000..ecb16e44be --- /dev/null +++ b/test/tsc-build/mysql/baseConnection.ts @@ -0,0 +1,17 @@ +import { mysql } from '../index'; + +export const access: mysql.ConnectionOptions = { + host: '', + user: '', + password: '', + database: '', +}; + +/** The SQL for the query */ +export const sql = 'SELECT * FROM `table`'; + +/** The SQL for the query with prepared statements */ +export const sqlPS = 'SELECT * FROM `table` WHERE `id` = ?'; + +/** The values for the query with prepared statements */ +export const values = [1]; diff --git a/test/tsc-build/mysql/createConnection/callbacks/execute.ts b/test/tsc-build/mysql/createConnection/callbacks/execute.ts new file mode 100644 index 0000000000..5fd8e4cead --- /dev/null +++ b/test/tsc-build/mysql/createConnection/callbacks/execute.ts @@ -0,0 +1,61 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +{ + const db = mysql.createPool(access); + + /** Overload: execute(sql, () => {}}) */ + db.execute(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(sql, values, () => {}}) */ + db.execute(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) I */ + db.execute({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) II */ + db.execute({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, values, () => {}}) */ + db.execute({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); +} + +/** getConnection and query */ +{ + mysql.createPool(access).getConnection((err, connection) => { + /** Overload: execute(sql, () => {}}) */ + connection.execute(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(sql, values, () => {}}) */ + connection.execute(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) I */ + connection.execute({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) II */ + connection.execute({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, values, () => {}}) */ + connection.execute({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); + }); +} diff --git a/test/tsc-build/mysql/createConnection/callbacks/query.ts b/test/tsc-build/mysql/createConnection/callbacks/query.ts new file mode 100644 index 0000000000..af1289e3f6 --- /dev/null +++ b/test/tsc-build/mysql/createConnection/callbacks/query.ts @@ -0,0 +1,61 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +{ + const db = mysql.createPool(access); + + /** Overload: query(sql, () => {}}) */ + db.query(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(sql, values, () => {}}) */ + db.query(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) I */ + db.query({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) II */ + db.query({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, values, () => {}}) */ + db.query({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); +} + +/** getConnection */ +{ + mysql.createPool(access).getConnection((err, connection) => { + /** Overload: query(sql, () => {}}) */ + connection.query(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(sql, values, () => {}}) */ + connection.query(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) I */ + connection.query({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) II */ + connection.query({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, values, () => {}}) */ + connection.query({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); + }); +} diff --git a/test/tsc-build/mysql/createConnection/promise/execute.ts b/test/tsc-build/mysql/createConnection/promise/execute.ts new file mode 100644 index 0000000000..d1afcfe0ca --- /dev/null +++ b/test/tsc-build/mysql/createConnection/promise/execute.ts @@ -0,0 +1,38 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +(async () => { + const db = mysql.createConnection(access).promise(); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/mysql/createConnection/promise/query.ts b/test/tsc-build/mysql/createConnection/promise/query.ts new file mode 100644 index 0000000000..18915179a1 --- /dev/null +++ b/test/tsc-build/mysql/createConnection/promise/query.ts @@ -0,0 +1,38 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +(async () => { + const db = mysql.createPool(access).promise(); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/mysql/createPool/callbacks/execute.ts b/test/tsc-build/mysql/createPool/callbacks/execute.ts new file mode 100644 index 0000000000..5fd8e4cead --- /dev/null +++ b/test/tsc-build/mysql/createPool/callbacks/execute.ts @@ -0,0 +1,61 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +{ + const db = mysql.createPool(access); + + /** Overload: execute(sql, () => {}}) */ + db.execute(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(sql, values, () => {}}) */ + db.execute(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) I */ + db.execute({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) II */ + db.execute({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, values, () => {}}) */ + db.execute({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); +} + +/** getConnection and query */ +{ + mysql.createPool(access).getConnection((err, connection) => { + /** Overload: execute(sql, () => {}}) */ + connection.execute(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(sql, values, () => {}}) */ + connection.execute(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) I */ + connection.execute({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, () => {}}) II */ + connection.execute({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: execute(QueryOptions, values, () => {}}) */ + connection.execute({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); + }); +} diff --git a/test/tsc-build/mysql/createPool/callbacks/query.ts b/test/tsc-build/mysql/createPool/callbacks/query.ts new file mode 100644 index 0000000000..af1289e3f6 --- /dev/null +++ b/test/tsc-build/mysql/createPool/callbacks/query.ts @@ -0,0 +1,61 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +{ + const db = mysql.createPool(access); + + /** Overload: query(sql, () => {}}) */ + db.query(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(sql, values, () => {}}) */ + db.query(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) I */ + db.query({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) II */ + db.query({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, values, () => {}}) */ + db.query({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); +} + +/** getConnection */ +{ + mysql.createPool(access).getConnection((err, connection) => { + /** Overload: query(sql, () => {}}) */ + connection.query(sql, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(sql, values, () => {}}) */ + connection.query(sqlPS, values, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) I */ + connection.query({ sql }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, () => {}}) II */ + connection.query({ sql, values }, (err, result, fields) => { + console.log(err, result, fields); + }); + + /** Overload: query(QueryOptions, values, () => {}}) */ + connection.query({ sql }, values, (err, result, fields) => { + console.log(err, result, fields); + }); + }); +} diff --git a/test/tsc-build/mysql/createPool/promise/execute.ts b/test/tsc-build/mysql/createPool/promise/execute.ts new file mode 100644 index 0000000000..04cf9ccda0 --- /dev/null +++ b/test/tsc-build/mysql/createPool/promise/execute.ts @@ -0,0 +1,75 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +(async () => { + const db = mysql.createPool(access).promise(); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); + +/** getConnection */ +(async () => { + const db = await mysql.createPool(access).promise().getConnection(); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/mysql/createPool/promise/query.ts b/test/tsc-build/mysql/createPool/promise/query.ts new file mode 100644 index 0000000000..41377b37bb --- /dev/null +++ b/test/tsc-build/mysql/createPool/promise/query.ts @@ -0,0 +1,75 @@ +import { mysql } from '../../../index'; +import { access, sql, sqlPS, values } from '../../baseConnection'; + +(async () => { + const db = mysql.createPool(access).promise(); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); + +/** getConnection and query */ +(async () => { + const db = await mysql.createPool(access).promise().getConnection(); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/tsconfig.json b/test/tsc-build/tsconfig.json index 6f7c8c0b7c..dd47203cac 100644 --- a/test/tsc-build/tsconfig.json +++ b/test/tsc-build/tsconfig.json @@ -1,18 +1,18 @@ { - "include": ["index.ts"], - "compilerOptions": { - "target": "ES2016", - "module": "CommonJS", - "moduleResolution": "Node", - "isolatedModules": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "alwaysStrict": true, - "noImplicitAny": true, - "strictFunctionTypes": false, - "skipLibCheck": false, - "noEmitOnError": true, - "noEmit": true - } + "include": ["index.ts", "mysql", "promise"], + "compilerOptions": { + "target": "ES2016", + "module": "CommonJS", + "moduleResolution": "Node", + "isolatedModules": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "alwaysStrict": true, + "noImplicitAny": true, + "strictFunctionTypes": false, + "skipLibCheck": false, + "noEmitOnError": true, + "noEmit": true + } } From 01a7dec5adfa2a6b9df26572a0898b1dc8934a71 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 07:35:10 -0300 Subject: [PATCH 09/11] add: TypeScript build tests for mysql/promise `createPool` and `createConnection` --- .../createConnection/callbacks/execute.ts | 8 +- .../mysql/createConnection/callbacks/query.ts | 8 +- .../mysql/createConnection/promise/execute.ts | 2 +- .../mysql/createConnection/promise/query.ts | 2 +- .../mysql/createPool/callbacks/execute.ts | 8 +- .../mysql/createPool/callbacks/query.ts | 8 +- .../mysql/createPool/promise/execute.ts | 4 +- .../mysql/createPool/promise/query.ts | 4 +- test/tsc-build/promise/baseConnection.ts | 17 +++++ .../promise/createConnection/execute.ts | 38 ++++++++++ .../promise/createConnection/query.ts | 38 ++++++++++ test/tsc-build/promise/createPool/execute.ts | 75 +++++++++++++++++++ test/tsc-build/promise/createPool/query.ts | 75 +++++++++++++++++++ 13 files changed, 265 insertions(+), 22 deletions(-) create mode 100644 test/tsc-build/promise/baseConnection.ts create mode 100644 test/tsc-build/promise/createConnection/execute.ts create mode 100644 test/tsc-build/promise/createConnection/query.ts create mode 100644 test/tsc-build/promise/createPool/execute.ts create mode 100644 test/tsc-build/promise/createPool/query.ts diff --git a/test/tsc-build/mysql/createConnection/callbacks/execute.ts b/test/tsc-build/mysql/createConnection/callbacks/execute.ts index 5fd8e4cead..8be6bf606a 100644 --- a/test/tsc-build/mysql/createConnection/callbacks/execute.ts +++ b/test/tsc-build/mysql/createConnection/callbacks/execute.ts @@ -20,12 +20,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: execute(QueryOptions, () => {}}) II */ - db.execute({ sql, values }, (err, result, fields) => { + db.execute({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: execute(QueryOptions, values, () => {}}) */ - db.execute({ sql }, values, (err, result, fields) => { + db.execute({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); } @@ -49,12 +49,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: execute(QueryOptions, () => {}}) II */ - connection.execute({ sql, values }, (err, result, fields) => { + connection.execute({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: execute(QueryOptions, values, () => {}}) */ - connection.execute({ sql }, values, (err, result, fields) => { + connection.execute({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); }); diff --git a/test/tsc-build/mysql/createConnection/callbacks/query.ts b/test/tsc-build/mysql/createConnection/callbacks/query.ts index af1289e3f6..6e6c34780c 100644 --- a/test/tsc-build/mysql/createConnection/callbacks/query.ts +++ b/test/tsc-build/mysql/createConnection/callbacks/query.ts @@ -20,12 +20,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: query(QueryOptions, () => {}}) II */ - db.query({ sql, values }, (err, result, fields) => { + db.query({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: query(QueryOptions, values, () => {}}) */ - db.query({ sql }, values, (err, result, fields) => { + db.query({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); } @@ -49,12 +49,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: query(QueryOptions, () => {}}) II */ - connection.query({ sql, values }, (err, result, fields) => { + connection.query({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: query(QueryOptions, values, () => {}}) */ - connection.query({ sql }, values, (err, result, fields) => { + connection.query({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); }); diff --git a/test/tsc-build/mysql/createConnection/promise/execute.ts b/test/tsc-build/mysql/createConnection/promise/execute.ts index d1afcfe0ca..100e4ef4a6 100644 --- a/test/tsc-build/mysql/createConnection/promise/execute.ts +++ b/test/tsc-build/mysql/createConnection/promise/execute.ts @@ -30,7 +30,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: execute(QueryOptions, values) */ - const [results, fields] = await db.execute({ sql }, values); + const [results, fields] = await db.execute({ sql: sqlPS }, values); console.log(results, fields); } diff --git a/test/tsc-build/mysql/createConnection/promise/query.ts b/test/tsc-build/mysql/createConnection/promise/query.ts index 18915179a1..de0f78c427 100644 --- a/test/tsc-build/mysql/createConnection/promise/query.ts +++ b/test/tsc-build/mysql/createConnection/promise/query.ts @@ -30,7 +30,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: query(QueryOptions, values) */ - const [results, fields] = await db.query({ sql }, values); + const [results, fields] = await db.query({ sql: sqlPS }, values); console.log(results, fields); } diff --git a/test/tsc-build/mysql/createPool/callbacks/execute.ts b/test/tsc-build/mysql/createPool/callbacks/execute.ts index 5fd8e4cead..8be6bf606a 100644 --- a/test/tsc-build/mysql/createPool/callbacks/execute.ts +++ b/test/tsc-build/mysql/createPool/callbacks/execute.ts @@ -20,12 +20,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: execute(QueryOptions, () => {}}) II */ - db.execute({ sql, values }, (err, result, fields) => { + db.execute({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: execute(QueryOptions, values, () => {}}) */ - db.execute({ sql }, values, (err, result, fields) => { + db.execute({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); } @@ -49,12 +49,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: execute(QueryOptions, () => {}}) II */ - connection.execute({ sql, values }, (err, result, fields) => { + connection.execute({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: execute(QueryOptions, values, () => {}}) */ - connection.execute({ sql }, values, (err, result, fields) => { + connection.execute({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); }); diff --git a/test/tsc-build/mysql/createPool/callbacks/query.ts b/test/tsc-build/mysql/createPool/callbacks/query.ts index af1289e3f6..6e6c34780c 100644 --- a/test/tsc-build/mysql/createPool/callbacks/query.ts +++ b/test/tsc-build/mysql/createPool/callbacks/query.ts @@ -20,12 +20,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: query(QueryOptions, () => {}}) II */ - db.query({ sql, values }, (err, result, fields) => { + db.query({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: query(QueryOptions, values, () => {}}) */ - db.query({ sql }, values, (err, result, fields) => { + db.query({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); } @@ -49,12 +49,12 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; }); /** Overload: query(QueryOptions, () => {}}) II */ - connection.query({ sql, values }, (err, result, fields) => { + connection.query({ sql: sqlPS, values }, (err, result, fields) => { console.log(err, result, fields); }); /** Overload: query(QueryOptions, values, () => {}}) */ - connection.query({ sql }, values, (err, result, fields) => { + connection.query({ sql: sqlPS }, values, (err, result, fields) => { console.log(err, result, fields); }); }); diff --git a/test/tsc-build/mysql/createPool/promise/execute.ts b/test/tsc-build/mysql/createPool/promise/execute.ts index 04cf9ccda0..995185a9c1 100644 --- a/test/tsc-build/mysql/createPool/promise/execute.ts +++ b/test/tsc-build/mysql/createPool/promise/execute.ts @@ -30,7 +30,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: execute(QueryOptions, values) */ - const [results, fields] = await db.execute({ sql }, values); + const [results, fields] = await db.execute({ sql: sqlPS }, values); console.log(results, fields); } @@ -67,7 +67,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: execute(QueryOptions, values) */ - const [results, fields] = await db.execute({ sql }, values); + const [results, fields] = await db.execute({ sql: sqlPS }, values); console.log(results, fields); } diff --git a/test/tsc-build/mysql/createPool/promise/query.ts b/test/tsc-build/mysql/createPool/promise/query.ts index 41377b37bb..38090fe0c6 100644 --- a/test/tsc-build/mysql/createPool/promise/query.ts +++ b/test/tsc-build/mysql/createPool/promise/query.ts @@ -30,7 +30,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: query(QueryOptions, values) */ - const [results, fields] = await db.query({ sql }, values); + const [results, fields] = await db.query({ sql: sqlPS }, values); console.log(results, fields); } @@ -67,7 +67,7 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; { /** Overload: query(QueryOptions, values) */ - const [results, fields] = await db.query({ sql }, values); + const [results, fields] = await db.query({ sql: sqlPS }, values); console.log(results, fields); } diff --git a/test/tsc-build/promise/baseConnection.ts b/test/tsc-build/promise/baseConnection.ts new file mode 100644 index 0000000000..8723efdd20 --- /dev/null +++ b/test/tsc-build/promise/baseConnection.ts @@ -0,0 +1,17 @@ +import { mysqlp as mysql } from '../index'; + +export const access: mysql.ConnectionOptions = { + host: '', + user: '', + password: '', + database: '', +}; + +/** The SQL for the query */ +export const sql = 'SELECT * FROM `table`'; + +/** The SQL for the query with prepared statements */ +export const sqlPS = 'SELECT * FROM `table` WHERE `id` = ?'; + +/** The values for the query with prepared statements */ +export const values = [1]; diff --git a/test/tsc-build/promise/createConnection/execute.ts b/test/tsc-build/promise/createConnection/execute.ts new file mode 100644 index 0000000000..bf7ed8729a --- /dev/null +++ b/test/tsc-build/promise/createConnection/execute.ts @@ -0,0 +1,38 @@ +import { mysqlp as mysql } from '../../index'; +import { access, sql, sqlPS, values } from '../baseConnection'; + +(async () => { + const db = await mysql.createConnection(access); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/promise/createConnection/query.ts b/test/tsc-build/promise/createConnection/query.ts new file mode 100644 index 0000000000..a4aaae7989 --- /dev/null +++ b/test/tsc-build/promise/createConnection/query.ts @@ -0,0 +1,38 @@ +import { mysqlp as mysql } from '../../index'; +import { access, sql, sqlPS, values } from '../baseConnection'; + +(async () => { + const db = mysql.createPool(access); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/promise/createPool/execute.ts b/test/tsc-build/promise/createPool/execute.ts new file mode 100644 index 0000000000..ed3fc2806a --- /dev/null +++ b/test/tsc-build/promise/createPool/execute.ts @@ -0,0 +1,75 @@ +import { mysqlp as mysql } from '../../index'; +import { access, sql, sqlPS, values } from '../baseConnection'; + +(async () => { + const db = mysql.createPool(access); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); + +/** getConnection */ +(async () => { + const db = await mysql.createPool(access).getConnection(); + + { + /** Overload: execute(sql) */ + const [results, fields] = await db.execute(sql); + console.log(results, fields); + } + + { + /** Overload: execute(sql, values) */ + const [results, fields] = await db.execute(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) I */ + const [results, fields] = await db.execute({ sql }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions) II */ + const [results, fields] = await db.execute({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: execute(QueryOptions, values) */ + const [results, fields] = await db.execute({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); diff --git a/test/tsc-build/promise/createPool/query.ts b/test/tsc-build/promise/createPool/query.ts new file mode 100644 index 0000000000..b77c0d6027 --- /dev/null +++ b/test/tsc-build/promise/createPool/query.ts @@ -0,0 +1,75 @@ +import { mysqlp as mysql } from '../../index'; +import { access, sql, sqlPS, values } from '../baseConnection'; + +(async () => { + const db = mysql.createPool(access); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); + +/** getConnection and query */ +(async () => { + const db = await mysql.createPool(access).getConnection(); + + { + /** Overload: query(sql) */ + const [results, fields] = await db.query(sql); + console.log(results, fields); + } + + { + /** Overload: query(sql, values) */ + const [results, fields] = await db.query(sqlPS, values); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) I */ + const [results, fields] = await db.query({ sql }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions) II */ + const [results, fields] = await db.query({ sql: sqlPS, values }); + console.log(results, fields); + } + + { + /** Overload: query(QueryOptions, values) */ + const [results, fields] = await db.query({ sql: sqlPS }, values); + console.log(results, fields); + } + + await db.end(); +})(); From 9755849394ae6805204b17ae1a827dcc60fb3708 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 07:52:16 -0300 Subject: [PATCH 10/11] add: description for further contributions in TypeScript build tests --- test/tsc-build/index.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/tsc-build/index.ts b/test/tsc-build/index.ts index 1956ed7467..18681fe078 100644 --- a/test/tsc-build/index.ts +++ b/test/tsc-build/index.ts @@ -1,3 +1,16 @@ +/** + * This tests doesn't execute the scripts or connect in any database. + * It only compiles all typings in the project and ensures that the compilation will be successful. + * To test it, run: npm run test:tsc-build + * + * The purpose of this test is to prevent changes that break the typings in new PRs + * + * Contributions: + * + * For mysql build tests: './mysql/...' + * For mysql/promise build tests: './promise/...' + */ + import mysql from '../../index'; import mysqlp from '../../promise'; From b0e340b55ec5ebbfb8fc2407dbf26f71299a1605 Mon Sep 17 00:00:00 2001 From: wellwelwel <46850407+wellwelwel@users.noreply.github.com> Date: Mon, 8 May 2023 21:39:40 -0300 Subject: [PATCH 11/11] fix: call methods in createConnection tsc-build --- .../createConnection/callbacks/execute.ts | 32 +------------------ .../mysql/createConnection/callbacks/query.ts | 32 +------------------ .../mysql/createConnection/promise/query.ts | 2 +- .../promise/createConnection/query.ts | 2 +- 4 files changed, 4 insertions(+), 64 deletions(-) diff --git a/test/tsc-build/mysql/createConnection/callbacks/execute.ts b/test/tsc-build/mysql/createConnection/callbacks/execute.ts index 8be6bf606a..0e916943d7 100644 --- a/test/tsc-build/mysql/createConnection/callbacks/execute.ts +++ b/test/tsc-build/mysql/createConnection/callbacks/execute.ts @@ -2,7 +2,7 @@ import { mysql } from '../../../index'; import { access, sql, sqlPS, values } from '../../baseConnection'; { - const db = mysql.createPool(access); + const db = mysql.createConnection(access); /** Overload: execute(sql, () => {}}) */ db.execute(sql, (err, result, fields) => { @@ -29,33 +29,3 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; console.log(err, result, fields); }); } - -/** getConnection and query */ -{ - mysql.createPool(access).getConnection((err, connection) => { - /** Overload: execute(sql, () => {}}) */ - connection.execute(sql, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: execute(sql, values, () => {}}) */ - connection.execute(sqlPS, values, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: execute(QueryOptions, () => {}}) I */ - connection.execute({ sql }, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: execute(QueryOptions, () => {}}) II */ - connection.execute({ sql: sqlPS, values }, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: execute(QueryOptions, values, () => {}}) */ - connection.execute({ sql: sqlPS }, values, (err, result, fields) => { - console.log(err, result, fields); - }); - }); -} diff --git a/test/tsc-build/mysql/createConnection/callbacks/query.ts b/test/tsc-build/mysql/createConnection/callbacks/query.ts index 6e6c34780c..4b41605420 100644 --- a/test/tsc-build/mysql/createConnection/callbacks/query.ts +++ b/test/tsc-build/mysql/createConnection/callbacks/query.ts @@ -2,7 +2,7 @@ import { mysql } from '../../../index'; import { access, sql, sqlPS, values } from '../../baseConnection'; { - const db = mysql.createPool(access); + const db = mysql.createConnection(access); /** Overload: query(sql, () => {}}) */ db.query(sql, (err, result, fields) => { @@ -29,33 +29,3 @@ import { access, sql, sqlPS, values } from '../../baseConnection'; console.log(err, result, fields); }); } - -/** getConnection */ -{ - mysql.createPool(access).getConnection((err, connection) => { - /** Overload: query(sql, () => {}}) */ - connection.query(sql, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: query(sql, values, () => {}}) */ - connection.query(sqlPS, values, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: query(QueryOptions, () => {}}) I */ - connection.query({ sql }, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: query(QueryOptions, () => {}}) II */ - connection.query({ sql: sqlPS, values }, (err, result, fields) => { - console.log(err, result, fields); - }); - - /** Overload: query(QueryOptions, values, () => {}}) */ - connection.query({ sql: sqlPS }, values, (err, result, fields) => { - console.log(err, result, fields); - }); - }); -} diff --git a/test/tsc-build/mysql/createConnection/promise/query.ts b/test/tsc-build/mysql/createConnection/promise/query.ts index de0f78c427..03ce0f6734 100644 --- a/test/tsc-build/mysql/createConnection/promise/query.ts +++ b/test/tsc-build/mysql/createConnection/promise/query.ts @@ -2,7 +2,7 @@ import { mysql } from '../../../index'; import { access, sql, sqlPS, values } from '../../baseConnection'; (async () => { - const db = mysql.createPool(access).promise(); + const db = mysql.createConnection(access).promise(); { /** Overload: query(sql) */ diff --git a/test/tsc-build/promise/createConnection/query.ts b/test/tsc-build/promise/createConnection/query.ts index a4aaae7989..79a14ca046 100644 --- a/test/tsc-build/promise/createConnection/query.ts +++ b/test/tsc-build/promise/createConnection/query.ts @@ -2,7 +2,7 @@ import { mysqlp as mysql } from '../../index'; import { access, sql, sqlPS, values } from '../baseConnection'; (async () => { - const db = mysql.createPool(access); + const db = await mysql.createConnection(access); { /** Overload: query(sql) */