From 1368ed3f942f45df7866ad128441716982d2cc34 Mon Sep 17 00:00:00 2001 From: Ben Farr Date: Sun, 13 Sep 2015 22:56:17 +0100 Subject: [PATCH] Classes extend EventEmitter Classes Connection, Request, Transaction and PreparedStatement all extend Node's EventEmitter --- mssql/mssql-tests.ts | 16 ++++++++++++++++ mssql/mssql.d.ts | 11 +++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/mssql/mssql-tests.ts b/mssql/mssql-tests.ts index 3f4adcd41..6fa546e66 100644 --- a/mssql/mssql-tests.ts +++ b/mssql/mssql-tests.ts @@ -126,3 +126,19 @@ function test_request_constructor() { var request3 = new sql.Request(transaction); var request4 = new sql.Request(); } + +function test_classes_extend_eventemitter() { + var connection: sql.Connection = new sql.Connection(config); + var transaction = new sql.Transaction(); + var request = new sql.Request(); + var preparedStatment = new sql.PreparedStatement(); + + connection.on('connect', () => { }); + transaction.on('begin', () => { }); + transaction.on('commit', () => { }); + transaction.on('rollback', () => { }); + request.on('done', () => { }); + request.on('error', () => { }); + + preparedStatment.on('error', () => { }) +} \ No newline at end of file diff --git a/mssql/mssql.d.ts b/mssql/mssql.d.ts index e0e58237c..4f2ee1ff7 100644 --- a/mssql/mssql.d.ts +++ b/mssql/mssql.d.ts @@ -3,6 +3,7 @@ // Definitions by: COLSA Corporation // Definitions: https://github.com/borisyankov/DefinitelyTyped +/// /// declare module "mssql" { @@ -41,6 +42,8 @@ declare module "mssql" { export var Geometry: any; export interface options { + import events = require('events'); + export var MAX: number; export var fix: boolean; @@ -88,7 +91,7 @@ declare module "mssql" { pool?: IPool; } - export class Connection { + export class Connection extends events.EventEmitter { public constructor(config: config, callback?: (err?: any) => void); @@ -115,7 +118,7 @@ declare module "mssql" { } - export class Request { + export class Request extends events.EventEmitter { public constructor(connection?: Connection); public constructor(transaction: Transaction); public constructor(preparedStatement: PreparedStatement); @@ -135,7 +138,7 @@ declare module "mssql" { public parameters: any; } - export class Transaction { + export class Transaction extends events.EventEmitter { public constructor(connection: Connection); public begin(isolationLevel?: IIsolationLevel): Promise; public begin(isolationLevel?: IIsolationLevel, callback?: (err?: any) => void): void; @@ -145,7 +148,7 @@ declare module "mssql" { public rollback(callback: (err?: any) => void): void; } - export class PreparedStatement { + export class PreparedStatement extends events.EventEmitter { public constructor(connection?: Connection); public input(name: string, type: any): void; public output(name: string, type: any): void;