diff --git a/types/mssql/index.d.ts b/types/mssql/index.d.ts index 27afb14bcfecee..55db06e04b91a3 100644 --- a/types/mssql/index.d.ts +++ b/types/mssql/index.d.ts @@ -236,8 +236,7 @@ export declare class ConnectionPool extends events.EventEmitter { public static parseConnectionString( connectionString: string, ): config & { options: IOptions; pool: Partial> }; - public constructor(config: config, callback?: (err?: any) => void); - public constructor(connectionString: string, callback?: (err?: any) => void); + public constructor(configOrConnectionString: config | string, callback?: (err?: any) => void); public query(command: string): Promise>; public query(strings: TemplateStringsArray, ...interpolations: any[]): Promise>; public query(command: string): Promise>; diff --git a/types/mssql/mssql-tests.ts b/types/mssql/mssql-tests.ts index 47593af36ef9fa..73944cd0087b73 100644 --- a/types/mssql/mssql-tests.ts +++ b/types/mssql/mssql-tests.ts @@ -36,6 +36,8 @@ var config: sql.config = { var connectionString = "Server=localhost,1433;Database=database;User Id=username;Password=password;Encrypt=true"; +var configOrConnectionString: sql.config | string; + var minimalConfig: sql.config = { server: "ip" }; var connectionStringTest: sql.ConnectionPool = new sql.ConnectionPool("connectionstring", (err) => { @@ -163,6 +165,8 @@ var connection: sql.ConnectionPool = new sql.ConnectionPool(config, function(err } }); +var connectionUnionTypeTest = new sql.ConnectionPool(configOrConnectionString); + function test_connection_string_parser() { var parsedConfig: sql.config = sql.ConnectionPool.parseConnectionString(connectionString); parsedConfig.pool; // $ExpectType PoolOpts