diff --git a/msnodesql/msnodesql.d.ts b/msnodesql/msnodesql.d.ts index 569c5a0e56..2309ae2c5b 100644 --- a/msnodesql/msnodesql.d.ts +++ b/msnodesql/msnodesql.d.ts @@ -7,37 +7,52 @@ /// declare module "msnodesql" { - export function open(connectionString: string, callback: Function): Connection; + export function open(connectionString: string, callback?: OpenCallback): Connection; - export function query(connectionString: string, query: string): StreamEvents; - export function query(connectionString: string, query: string, callback: Callback): StreamEvents; - export function query(connectionString: string, query: string, params, callback: Callback): StreamEvents; + export function query(connectionString: string, query: string, callback?: QueryCallback): StreamEvents; + export function query(connectionString: string, query: string, params: any[], callback?: QueryCallback): StreamEvents; - export function queryRaw(connectionString: string, query: string): StreamEvents; - export function queryRaw(connectionString: string, query: string, callback: Callback): StreamEvents; - export function queryRaw(connectionString: string, query: string, params, callback: Callback): StreamEvents; + export function queryRaw(connectionString: string, query: string, callback?: QueryRawCallback): StreamEvents; + export function queryRaw(connectionString: string, query: string, params: any[], callback?: QueryRawCallback): StreamEvents; - interface Callback { - (err: Error, results: any[]): void; + interface OpenCallback { + (err?: Error, connection?: Connection): void; } - interface Errback { + interface QueryCallback { + (err?: Error, results?: any[], more?: bool): void; + } + + interface QueryRawCallback { + (err?: Error, results?: QueryRawResult, more?: bool): void; + } + + interface QueryRawResult { + meta: QueryRawColumn[]; + rows: any[][]; + } + + interface QueryRawColumn { + name?: string; + } + + interface ErrorCallback { (err: Error): void; } interface Connection { - queryRaw(connectionString: string, query: string): StreamEvents; - queryRaw(connectionString: string, query: string, callback: Callback): StreamEvents; - queryRaw(connectionString: string, query: string, params, callback: Callback): StreamEvents; + queryRaw(query: string, callback?: QueryCallback): StreamEvents; + queryRaw(query: string, params: any[], callback?: QueryCallback): StreamEvents; - query(connectionString: string, query: string): StreamEvents; - query(connectionString: string, query: string, callback: Callback): StreamEvents; - query(connectionString: string, query: string, params, callback: Callback): StreamEvents; + query(query: string, callback?: QueryRawCallback): StreamEvents; + query(query: string, params: any[], callback?: QueryRawCallback): StreamEvents; - beginTransaction(callback?: Errback); - commit(callback?: Errback); - rollback(callback?: Errback); - close(callback?: Errback); + beginTransaction(callback?: ErrorCallback); + commit(callback?: ErrorCallback); + rollback(callback?: ErrorCallback); + + close(callback?: ErrorCallback); + close(immediately: bool, callback?: ErrorCallback); } interface StreamEvents extends EventEmitter { }