* wip
* improve the vadd api
* resp3 tests
* fix some tests
* extract json helper functions in client package
* use transformJsonReply
* remove the CACHEABLE flag for all vector set commands
currently, client side caching is not supported
for vector set commands by the server
* properly transform vinfo result
* add resp3 test for vlinks
* add more tests for vrandmember
* fix vrem return types
* fix vsetattr return type
* fix vsim_withscores
* implement vlinks_withscores
* set minimum docker image version to 8
* align return types
* add RAW variant for VEMB -> VEMB_RAW
* use the new parseCommand api
* [CAE-686] Added hash field expiration commands
* [CAE-686] Improve HSETEX return type
* [CAE-686] Minor pushTuples change, renamed HSETEX test
* [CAE-686] Changed hsetex function signature for better consistency with other commands
* [CAE-686] Fixed hsetex test
* [CAE-686] Bumped docker version to 8.0-M05-pre, enabled and fixed tests
* Parser support with all commands
* remove "dist" from all imports for consistency
* address most of my review comments
* small tweak to multi type mapping handling
* tweak multi commands / fix addScript cases
* nits
* addressed all in person review comments
* revert addCommand/addScript changes to multi-commands
addCommand needs to be there for sendCommand like ability within a multi.
If its there, it might as well be used by createCommand() et al, to avoid repeating code.
addScript is there (even though only used once), but now made private to keep the logic for bookkeeping near each other.
RESP3 Support
- Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion.
Sentinel
TypeMapping
Correctly types Multi commands
Note: some API changes to be further documented in v4-to-v5.md
* fix(client): XCLAIM & XAUTOCLAIM after a TRIM might return nils
* fix(client): Fix race condition in specs
* revert test utils changes
* make tests faster
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* refactor pubsub, add support for sharded pub sub
* run tests in redis 7 only, fix PUBSUB SHARDCHANNELS test
* add some comments and fix some bugs
* PubSubType, not PubSubTypes 🤦♂️
* remove test.txt
* fix some bugs, add tests
* add some tests
* fix#2345 - allow PING in PubSub mode (remove client side validation)
* remove .only
* revert changes in cluster/index.ts
* fix tests minimum version
* handle server sunsubscribe
* add 'sharded-channel-moved' event to docs, improve the events section in the main README (fix#2302)
* exit "resubscribe" if pubsub not active
* Update commands-queue.ts
* Release client@1.5.0-rc.0
* WIP
* use `node:util` instead of `node:util/types` (to support node 14)
* run PubSub resharding test with Redis 7+
* fix inconsistency in live resharding test
* add some tests
* fix iterateAllNodes when starting from a replica
* fix iterateAllNodes random
* fix slotNodesIterator
* fix slotNodesIterator
* clear pubSubNode when node in use
* wait for all nodes cluster state to be ok before testing
* `cluster.minimizeConections` tests
* `client.reconnectStrategry = false | 0` tests
* sharded pubsub + cluster 🎉
* add minimum version to sharded pubsub tests
* add cluster sharded pubsub live reshard test, use stable dockers for tests, make sure to close pubsub clients when a node disconnects from the cluster
* fix "ssubscribe & sunsubscribe" test
* lock search docker to 2.4.9
* change numberOfMasters default to 2
* use edge for bloom
* add tests
* add back getMasters and getSlotMaster as deprecated functions
* add some tests
* fix reconnect strategy + docs
* sharded pubsub docs
* Update pub-sub.md
* some jsdoc, docs, cluster topology test
* clean pub-sub docs
Co-authored-by: Simon Prickett <simon@redislabs.com>
* reconnect startegy docs and bug fix
Co-authored-by: Simon Prickett <simon@redislabs.com>
* refine jsdoc and some docs
Co-authored-by: Simon Prickett <simon@redislabs.com>
* I'm stupid
* fix cluster topology test
* fix cluster topology test
* Update README.md
* Update clustering.md
* Update pub-sub.md
Co-authored-by: Simon Prickett <simon@redislabs.com>
* fix: loop over arguments instead of spreading
* update to use concat
* use the returned array from pushVerdictArguments (instead of assuming it'll push to the original array)
* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'."
* fix "Argument of type 'RedisCommandArgument | RedisCommandArguments[]' is not assignable to parameter of type 'RedisCommandArgument | RedisCommandArgument[]'"
* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'"
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
* Support all GEORADIUS Commands
* move store bool to options
* simplify transformReply for store commands
* clean code
Co-authored-by: leibale <leibale1998@gmail.com>
* fix#1906 - implement BITFIELD_RO
* initial support for redis functions
* fix test utils
* redis functions commands and tests
* upgrade deps
* fix "Property 'uninstall' does not exist on type 'SinonFakeTimers'"
* upgrade dockers version
* Merge branch 'master' of github.com:redis/node-redis into functions
* fix FUNCTION LIST WITHCODE and FUNCTION STATS
* upgrade deps
* set minimum version for FCALL and FCALL_RO
* fix FUNCTION LOAD
* FUNCTION LOAD
* fix FUNCTION LOAD & FUNCTION LIST & FUNCTION LOAD WITHCODE
* fix FUNCTION_LIST_WITHCODE test