From 2fc9fda1735d8c0ab8d807cbff6ba94e820def2f Mon Sep 17 00:00:00 2001 From: Leo Liang Date: Tue, 5 Sep 2017 15:52:57 +0800 Subject: [PATCH] [cassandra-driver] add promise API --- types/cassandra-driver/cassandra-driver-tests.ts | 9 +++++++-- types/cassandra-driver/index.d.ts | 14 +++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/types/cassandra-driver/cassandra-driver-tests.ts b/types/cassandra-driver/cassandra-driver-tests.ts index e5d8f2ab60..40971c7183 100644 --- a/types/cassandra-driver/cassandra-driver-tests.ts +++ b/types/cassandra-driver/cassandra-driver-tests.ts @@ -4,6 +4,11 @@ import * as util from 'util'; var client = new cassandra.Client({ contactPoints: ['h1', 'h2'], keyspace: 'ks1'}); var query = 'SELECT email, last_name FROM user_profiles WHERE key=?'; -client.execute(query, ['guy'], function(err: any, result: any) { +client.execute(query, ['guy'], function(err, result) { console.log('got user profile with email ' + result.rows[0].email); -}); \ No newline at end of file +}); + +client.execute(query, [ 'guy' ], { prepare: true }).then( + (result) => console.log(result.first().email), + (error) => console.log(error) +); diff --git a/types/cassandra-driver/index.d.ts b/types/cassandra-driver/index.d.ts index 4b9d6a7d9d..e2bb887cb9 100644 --- a/types/cassandra-driver/index.d.ts +++ b/types/cassandra-driver/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for nodejs-driver v0.8.2 +// Type definitions for cassandra-driver v3.2.2 // Project: https://github.com/datastax/nodejs-driver // Definitions by: Marc Fisher // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -378,6 +378,7 @@ export namespace types { values(): Array<{ [key: string]: any; }>; keys(): Array; forEach(callback: Callback): void; + [key: string]: any; } interface TimeUuidStatic { @@ -506,10 +507,17 @@ export interface Client extends events.EventEmitter { metadata: metadata.Metadata; batch(queries: Array | Array<{ query: string, params?: any }>, options: QueryOptions, callback: ResultCallback): void; + batch(queries: Array | Array<{ query: string, params?: any }>, callback: ResultCallback): void; + batch(queries: Array | Array<{ query: string, params?: any }>, options?: QueryOptions): Promise; + connect(callback: Callback): void; eachRow(query: string, params?: any, options?: QueryOptions, rowCallback?: Callback, callback?: Callback): void; - execute(query: string, params?: any, callback?: ResultCallback): void; - execute(query: string, params?: any, options?: QueryOptions, callback?: ResultCallback): void; + + execute(query: string, params: any, options: QueryOptions, callback: ResultCallback): void; + execute(query: string, params: any, callback: ResultCallback): void; + execute(query: string, callback: ResultCallback): void; + execute(query: string, params?: any, options?: QueryOptions): Promise; + getReplicas(keyspace: string, token: Buffer): Array; // TODO: Should this be a more explicit return? shutdown(callback?: Callback): void; stream(query: string, params?: any, options?: QueryOptions, callback?: Callback): NodeJS.ReadableStream;