Skip to content

Commit

Permalink
refactor: resolve small eslint rules
Browse files Browse the repository at this point in the history
  • Loading branch information
wellwelwel committed Jun 18, 2023
1 parent ae2f98f commit 57770aa
Show file tree
Hide file tree
Showing 25 changed files with 1,184 additions and 735 deletions.
25 changes: 22 additions & 3 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,13 @@ export interface Connection extends mysql.Connection {
): mysql.Query;
ping(callback?: (err: mysql.QueryError | null) => any): void;
unprepare(sql: string): mysql.PrepareStatementInfo;
prepare(sql: string, callback?: (err: mysql.QueryError | null, statement: mysql.PrepareStatementInfo) => any): mysql.Prepare;
prepare(
sql: string,
callback?: (
err: mysql.QueryError | null,
statement: mysql.PrepareStatementInfo
) => any
): mysql.Prepare;
serverHandshake(args: any): any;
writeOk(args?: mysql.OkPacketParams): void;
writeError(args?: mysql.ErrorPacketParams): void;
Expand Down Expand Up @@ -159,7 +165,13 @@ export interface Pool extends mysql.Connection {
on(event: 'release', listener: (connection: PoolConnection) => any): this;
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;
prepare(
sql: string,
callback?: (
err: mysql.QueryError | null,
statement: mysql.PrepareStatementInfo
) => any
): mysql.Prepare;
promise(promiseImpl?: PromiseConstructor): PromisePool;
config: mysql.PoolOptions;
}
Expand Down Expand Up @@ -195,7 +207,14 @@ export interface ConnectionConfig extends ConnectionOptions {
getDefaultFlags(options?: ConnectionOptions): string[];
getCharsetNumber(charset: string): number;
getSSLProfile(name: string): { ca: string[] };
parseUrl(url: string): { host: string, port: number, database: string, user: string, password: string, [key: string]: any };
parseUrl(url: string): {
host: string;
port: number;
database: string;
user: string;
password: string;
[key: string]: any;
};
}

export interface PoolOptions extends mysql.PoolOptions, ConnectionOptions {}
Expand Down
147 changes: 128 additions & 19 deletions promise.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
QueryOptions,
ConnectionOptions,
PoolOptions,
Pool as CorePool
Pool as CorePool,
} from './index';

import { EventEmitter } from 'events';
Expand All @@ -25,39 +25,87 @@ export interface Connection extends EventEmitter {

changeUser(options: ConnectionOptions): Promise<void>;

query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;

execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions,
values: any | any[] | { [param: string]: any }
Expand Down Expand Up @@ -88,39 +136,87 @@ export interface PoolConnection extends Connection {
}

export interface Pool extends EventEmitter, Connection {
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions
): Promise<[T, FieldPacket[]]>;
query<T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader>(
query<
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;

execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
sql: string,
values: any | any[] | { [param: string]: any }
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions
): Promise<[T, FieldPacket[]]>;
execute<
T extends RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader
T extends
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
>(
options: QueryOptions,
values: any | any[] | { [param: string]: any }
Expand All @@ -138,7 +234,7 @@ export interface Pool extends EventEmitter, Connection {
escapeId(value: string): string;
escapeId(values: string[]): string;
format(sql: string, values?: any | any[] | { [param: string]: any }): string;

pool: CorePool;
}

Expand All @@ -151,5 +247,18 @@ export function createPool(config: PoolOptions): Pool;

export interface PreparedStatementInfo {
close(): Promise<void>;
execute(parameters: any[]): Promise<[RowDataPacket[][] | RowDataPacket[] | OkPacket | OkPacket[] | ResultSetHeader, FieldPacket[]]>;
execute(
parameters: any[]
): Promise<
[
(
| RowDataPacket[][]
| RowDataPacket[]
| OkPacket
| OkPacket[]
| ResultSetHeader
),
FieldPacket[]
]
>;
}
16 changes: 8 additions & 8 deletions test/tsc-build/mysql/createPool/callbacks/connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import { access } from '../../baseConnection';
const pool = mysql.createPool(access);

pool.getConnection((err, conn) => {
conn.connection;
try {
// @ts-expect-error: The pool can't be a connection itself
pool.connection;
} catch (err) {
console.log('This error is expected', err);
}
conn.connection;

try {
// @ts-expect-error: The pool can't be a connection itself
pool.connection;
} catch (err) {
console.log('This error is expected', err);
}
});
16 changes: 8 additions & 8 deletions test/tsc-build/mysql/createPool/callbacks/release.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import { access } from '../../baseConnection';
const pool = mysql.createPool(access);

pool.getConnection((err, conn) => {
conn.release();
try {
// @ts-expect-error: The pool isn't a connection itself, so it doesn't have the connection methods
pool.release();
} catch (err) {
console.log('This error is expected', err);
}
conn.release();

try {
// @ts-expect-error: The pool isn't a connection itself, so it doesn't have the connection methods
pool.release();
} catch (err) {
console.log('This error is expected', err);
}
});
2 changes: 1 addition & 1 deletion test/tsc-build/mysql/createPool/promise/connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { access } from '../../baseConnection';
const conn = await pool.promise().getConnection();

conn.connection;

try {
// @ts-expect-error: The pool can't be a connection itself
pool.connection;
Expand Down
2 changes: 1 addition & 1 deletion test/tsc-build/mysql/createPool/promise/getConnection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { access } from '../../baseConnection';
(async () => {
const pool = mysql.createPool(access);
const conn = await pool.promise().getConnection();

try {
// @ts-expect-error: The connection can't get another connection
conn.getConnection();
Expand Down
16 changes: 8 additions & 8 deletions test/tsc-build/mysql/createPool/promise/promise.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import { mysql, mysqlp } from '../../../index';
import { access } from '../../baseConnection';

(async () => {
let pool: mysql.Pool | null = null;
let promisePool: mysqlp.Pool | null = null;
let conn: mysqlp.PoolConnection | null = null;
let pool: mysql.Pool | null = null;
let promisePool: mysqlp.Pool | null = null;
let conn: mysqlp.PoolConnection | null = null;

if (pool === null) return;
if (pool === null) return;

pool = mysql.createPool(access);
promisePool = pool.promise();
conn = await promisePool.getConnection();
pool = mysql.createPool(access);
promisePool = pool.promise();
conn = await promisePool.getConnection();

conn.release();
conn.release();
})();
18 changes: 9 additions & 9 deletions test/tsc-build/mysql/createPool/promise/release.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import { mysql } from '../../../index';
import { access } from '../../baseConnection';

(async () => {
const pool = mysql.createPool(access);
const conn = await pool.promise().getConnection();
const pool = mysql.createPool(access);
const conn = await pool.promise().getConnection();

conn.release();
conn.release();

try {
// @ts-expect-error: The pool isn't a connection itself, so it doesn't have the connection methods
pool.release();
} catch (err) {
console.log('This error is expected', err);
}
try {
// @ts-expect-error: The pool isn't a connection itself, so it doesn't have the connection methods
pool.release();
} catch (err) {
console.log('This error is expected', err);
}
})();
6 changes: 3 additions & 3 deletions test/tsc-build/mysql/createPool/promise/releaseConnection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { mysql } from '../../../index';
import { access } from '../../baseConnection';

(async () => {
const pool = mysql.createPool(access);
const conn = await pool.promise().getConnection();
const pool = mysql.createPool(access);
const conn = await pool.promise().getConnection();

pool.releaseConnection(conn);
pool.releaseConnection(conn);
})();
Loading

0 comments on commit 57770aa

Please sign in to comment.