-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node: added zrange and zrangeWithScores commands. #1115
Conversation
47e00a5
to
71af8de
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why RangeByScoreOrLex isn't separated to two types as we do in python, RangeByScore and RangeByLex? we shouldn't accept ScoreLimit as strings when is lex is false, and we should except number when is lex is true. We also cannot use it later on with the specific zrange functions (e.g. ZRANGEBYLEX). Please follow python's design, and ping me when it's ready for review 🙏
node/src/Commands.ts
Outdated
*/ | ||
type Range<T> = { | ||
/** | ||
* The start score boundary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same - it should be used both for lex and score, so the doc might be confusing
node/src/Commands.ts
Outdated
}; | ||
}; | ||
|
||
export type RangeByScore = Range<number> & { type: "byScore" }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "Lex" and "Score" is sufficient for 'type'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
round
@barshaul ready |
node/src/BaseClient.ts
Outdated
* If `key` does not exist, it is treated as an empty sorted set, and the command returns an empty array. | ||
* | ||
* @example | ||
* await client.zadd("mySortedSet", \{ member1: 1.0, member2: 2.0, member3: 3.0 \}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow format for examples:
* @example
* ```typescript
* // Example usage of the echo method
* const echoedMessage = await client.echo("Glide-for-Redis");
* console.log(echoedMessage); // Output: "Glide-for-Redis"
* ```
*/
node/src/BaseClient.ts
Outdated
* @example | ||
* await client.zadd("mySortedSet", \{ member1: 1.0, member2: 2.0, member3: 3.0 \}); | ||
* | ||
* await client.zrange("mySortedSet", \{ start: 0, stop: -1 \}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why are the \
needed?
node/src/Commands.ts
Outdated
export type RangeByScore = SortedSetRange<number> & { type: "byScore" }; | ||
export type RangeByLex = SortedSetRange<string> & { type: "byLex" }; | ||
|
||
function getScoreLimitArg( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getScoreBoundaryArg
|
||
function getScoreLimitArg( | ||
score: ScoreBoundary<number> | ScoreBoundary<string>, | ||
isLex: boolean = false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add documentation, this function isn't trivial
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix& mrege
commit 0a430cf Author: Andrew Carbonetto <[email protected]> Date: Wed Apr 10 13:30:02 2024 -0700 Java/Node: Update docs for `xadd` and `xtrim` (valkey-io#1246) * Java: Add XADD command (Stream commands) (valkey-io#155) * Add Stream XADD command to Java Signed-off-by: Andrew Carbonetto <[email protected]> --------- Signed-off-by: Andrew Carbonetto <[email protected]> * Java: Add Zpopmax command. (Sorted Set Commands) (valkey-io#1164) * Java: Add Zpopmax command. (Sorted Set Commands) (valkey-io#149) * Minor documentation update. * Minor test update. * Spotless Signed-off-by: Andrew Carbonetto <[email protected]> * Minor documentation update. * Rebase + Spotless --------- Signed-off-by: Andrew Carbonetto <[email protected]> Co-authored-by: Andrew Carbonetto <[email protected]> * Spotless Signed-off-by: Andrew Carbonetto <[email protected]> * Clean up merge Signed-off-by: Andrew Carbonetto <[email protected]> * Move xadd command Signed-off-by: Andrew Carbonetto <[email protected]> * Spotless Signed-off-by: Andrew Carbonetto <[email protected]> * PR comments. Signed-off-by: Yury-Fridlyand <[email protected]> * Update xtrim documentation Signed-off-by: Andrew Carbonetto <[email protected]> * Spotless Signed-off-by: Andrew Carbonetto <[email protected]> --------- Signed-off-by: Andrew Carbonetto <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: SanHalacogluImproving <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> commit 4ce976c Author: SanHalacogluImproving <[email protected]> Date: Wed Apr 10 12:36:56 2024 -0700 Java: Add `Zmscore` command. (Sorted Set Command Group) (valkey-io#1234) * Java: Add Zmscore command. (Sorted Set Command Group) (valkey-io#173) * Minor update + remove change log. * Minor documentation update. * Minor IT update. * Rebase + Spotless. * Minor IT test update. commit ae0a8f4 Author: Yury-Fridlyand <[email protected]> Date: Wed Apr 10 12:33:22 2024 -0700 Java: Refactor transaction UT (valkey-io#1242) Refactor transaction UT. (valkey-io#192) Signed-off-by: Yury-Fridlyand <[email protected]> commit fec74b8 Author: Andrew Carbonetto <[email protected]> Date: Wed Apr 10 12:28:18 2024 -0700 Clean up all warnings in Java client test (valkey-io#1213) * Clean up all warnings in Java client test Signed-off-by: Andrew Carbonetto <[email protected]> --------- Signed-off-by: Andrew Carbonetto <[email protected]> * Clean FfiTest.java of warnings Signed-off-by: Andrew Carbonetto <[email protected]> * Clean RedisClusterClientTest.java of compiler warnings Signed-off-by: Andrew Carbonetto <[email protected]> * Clean up more warnings in client tests Signed-off-by: Andrew Carbonetto <[email protected]> * Spotless Signed-off-by: Andrew Carbonetto <[email protected]> * Fix UT + update IT. Signed-off-by: Yury-Fridlyand <[email protected]> * Update suppression. Signed-off-by: Yury-Fridlyand <[email protected]> * Remove suppress warnings Signed-off-by: Andrew Carbonetto <[email protected]> --------- Signed-off-by: Andrew Carbonetto <[email protected]> Signed-off-by: Yury-Fridlyand <[email protected]> Co-authored-by: Yury-Fridlyand <[email protected]> commit 527e1ec Author: SanHalacogluImproving <[email protected]> Date: Wed Apr 10 12:06:01 2024 -0700 Java: Add `lindex` command. (List Command Group) (valkey-io#1219) * Java: Add lindex command. (List Command Group) (valkey-io#158) * Minor documentation update + changed param from int to long + minor IT update. commit d766f51 Author: Andrew Carbonetto <[email protected]> Date: Wed Apr 10 10:01:55 2024 -0700 Node: Fix build section for node DEVELOPER.md (valkey-io#1250) * Fix build section for node DEVELOPER.md Signed-off-by: Andrew Carbonetto <[email protected]> * Fix numbers in DEVELOPER.md Signed-off-by: Andrew Carbonetto <[email protected]> * Run prettier --------- Signed-off-by: Andrew Carbonetto <[email protected]> Co-authored-by: Jonathan Louie <[email protected]> commit 939a519 Author: jonathanl-bq <[email protected]> Date: Wed Apr 10 09:08:43 2024 -0700 Java: Use LinkedHashMap instead of HashMap for Java wrapper Map values returned from Redis (valkey-io#1257) * Use LinkedHashMap instead of HashMap for Java wrapper Map values returned from Redis * Run cargo fmt commit d21dbc9 Author: Shoham Elias <[email protected]> Date: Wed Apr 10 18:02:22 2024 +0300 add missing examples and minor doc fix (valkey-io#1258) commit 09bec2d Author: ort-bot <[email protected]> Date: Wed Apr 10 00:19:09 2024 +0000 Updated attribution files commit 4e7acdc Author: Adan Wattad <[email protected]> Date: Wed Apr 10 11:11:21 2024 +0300 Node: added zrange and zrangeWithScores commands. (valkey-io#1115) --------- Co-authored-by: Adan <[email protected]> Co-authored-by: Shoham Elias <[email protected]> Co-authored-by: Shoham Elias <[email protected]> commit 79c49a4 Author: Gilboab <[email protected]> Date: Wed Apr 10 10:53:16 2024 +0300 Python: Added RENAME command (valkey-io#1252) Python: Added rename command commit 78cfa33 Author: Adan Wattad <[email protected]> Date: Tue Apr 9 14:29:45 2024 +0300 Node: added spop and spopCount commands. (valkey-io#1117) Co-authored-by: Shoham Elias <[email protected]> commit 5395fe1 Author: Shoham Elias <[email protected]> Date: Tue Apr 9 12:23:59 2024 +0300 Python: adds ZREMRANGEBYSCORE command (valkey-io#1151)
--------- Co-authored-by: Adan <[email protected]> Co-authored-by: Shoham Elias <[email protected]> Co-authored-by: Shoham Elias <[email protected]>
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.