Skip to content

Typescript generics for main Client methods#403

Closed
twoojoo wants to merge 4 commits intoapache:masterfrom
twoojoo:typescript-generics
Closed

Typescript generics for main Client methods#403
twoojoo wants to merge 4 commits intoapache:masterfrom
twoojoo:typescript-generics

Conversation

@twoojoo
Copy link
Copy Markdown

@twoojoo twoojoo commented May 25, 2023

When working with typescript I find very comfortable to declare the type of the requested data with generics instead of using the "as" keyword.
So I just added generics to the main methods (execute, eachRow and batch) and to the types on which they are based (Row and ResultSet). I skipped graph methods and their types because I'm not really aware of how how they works in Cassandra.

Since every generic has "any" as default type, backwards compatibility should be ok (except for Row switching from being an interface to being a type, which I'm not sure if it could lead to problems in that sense).

Offtopic: it would be nice to set a string union type for hints. I'm only doubting whether hints can be used for user defined types too, which would probably make this useless.

@absurdfarce
Copy link
Copy Markdown
Contributor

Greetings @twoojoo and thanks for the contribution! Apologies for taking so long to get back to you.

Have you signed the Contributor License Agreement for contributions to DataStax open source projects? If not you can find it at https://cla.datastax.com/. Thanks!

@SiyaoIsTraveling
Copy link
Copy Markdown

This would be great improvement. I created a ticket here: https://datastax-oss.atlassian.net/browse/NODEJS-562

@absurdfarce
Copy link
Copy Markdown
Contributor

absurdfarce commented Jun 17, 2025

Minor correction to the earlier comment from @SiyaoIsHiding: the ticket to cover this is actually NODEJS-683

@absurdfarce
Copy link
Copy Markdown
Contributor

These fixes will be handled as part of the conversion to TypeScript.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants