* fix#2665 - handle errors in multi/pipeline replies
* fix MultiErrorReply replies type
* run tests on all versions, remove console.log, fix bug
* add errors iterator helper
* test `.errors()` as well
* Add SETINFO support to client connection, with the ability to disable sending the user agent if the end user desires. * Also enables modifying the user-agent with a tag to enable distinguishing different usages.
* 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>
* Add support for command 'PUBSUB SHARDNUMSUB'
* Use import from PUBSUB_SHARDNUMSUB
* Add test case for non-empty reply
* clean tests
* run tests in redis >= 7, fix integration test
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* - Added RESTORE functionality
* add FIRST_KEY_INDEX, fix tests, clean example, add example to examples table
* use returnBuffers in test
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* Connect returns the instance of the client
* Added a test
* No auto setup
* Added a bit of docs
* fix the return type, test, and the docs
* fix return type
* Update packages/client/lib/client/index.spec.ts
Co-authored-by: Francisco Presencia <franciscop@users.noreply.github.com>
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* cluster extractFirstKey skip commandOptions() passed to args
* cluster with commandOptions unit test
* improve performance
* fix type
* fix type
---------
Co-authored-by: Leibale Eidelman <me@leibale.com>
* Fix multi.exec with empty queue and previous watch
When calling exec on a multi instance which you did not use, no command is sent currently.
This is a problem for watched keys, because no EXEC means no unwatch, which might cause hard-to-debug problems.
Proposed Fix: Sending UNWATCH
* execute empty multi command (instead of skipping)
* Update index.ts
* Update index.ts
* Update multi-command.ts
* Update multi-command.ts
* Update multi-command.ts
* Update multi-command.ts
* short circuit empty pipelines
* Update index.ts
---------
Co-authored-by: Leibale <me@leibale.com>