Leibale Eidelman
3c2f7ab92a
Ping interval ( #2321 )
...
* fix #1598 fix #2276 - add `pingInterval` to client config
* setPingTimer on ready (instead of on connect)
* use isReady (instead of isOpen) and fix test
* Update client-configuration.md
2022-11-10 03:49:56 -05:00
Jonas Faure
252c2192ea
fix(client): Avoids infinite promise-chaining when socket's creation fails ( #2295 )
...
* fix(client): timeout issues during tests
* fix(client): avoiding infinite Promise chaining while socket creation fails
* fix(client): Added missing semicolons
* clean test
Co-authored-by: leibale <leibale1998@gmail.com >
2022-10-26 16:42:52 -04:00
Matthijs Dabroek
c413657357
Reject multi.exec() promise with ClientClosedError
after client disconnect ( #2293 )
...
* Add reject multi chain on client disconnect assertion to client test suite
* Reject multi chain exec with client closed error after client disconnect
2022-10-26 16:40:14 -04:00
Leibale Eidelman
0abd950f03
fix tsbuild ( #2307 )
...
* fix tsbuild
* fix tsbuild
* fix tsbuild
2022-10-26 15:32:19 -04:00
Kien Dang
2a8e11a51d
Export SetOptions type in redis/client command ( #2268 )
...
* Export setOptions type
* Export setOptions type in commands
* Revert "Export setOptions type in commands"
* Export SetOptions type in redis client
* Export SetOptions type in @redis/client
* Fix lint
2022-09-21 17:05:16 -04:00
Roman Poleguev
e1c0580d65
Fix CLUSTER_NODES ipv6 address parsing ( #2269 )
2022-09-19 13:31:21 -04:00
Leibale Eidelman
942de1f0b4
Handle unhandled errors in socket.reconnectStrategry
( #2226 )
...
* handle errors in reconnect strategy
* add test
* fix retries typo
* fix #2237 - flush queues on reconnect strategy error
* Update socket.ts
* Update socket.ts
2022-08-22 17:59:45 -04:00
Brandon Everett
ac032d82a0
fix: loop over arguments instead of spreading ( #2160 )
...
* 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 >
2022-07-13 07:01:35 -04:00
Leibale Eidelman
71d582368a
Add support for client.unref()
and client.ref()
( #2188 )
...
* close #2185 - add support for client.unref() and client.ref()
* allow sync tests
2022-07-13 07:01:20 -04:00
Ștefan Cenușă
f9f5e494dd
fixed MIGRATE function when key is array ( #2184 )
...
* fix: 2163 push empty string as arg
* fix: updated migrate test with keys array
2022-07-07 14:33:58 -04:00
Leibale Eidelman
6a850d36ae
upgrade deps, fix "invalid save argument" error ( #2174 )
2022-06-30 13:07:29 -04:00
Tom Graham
82f43d9a53
Fix issue with buffers in objects using hSet ( #2139 )
...
* Fix issue with buffers in objects using hSet
When using hSet with an object, any buffer values inside the object are converted to strings instead of left as buffers.
This fix specifically handles the special case of buffers, whilst casting everything else strings (to continue "gracefully" handling the case where the value not a valid type).
* Update HSET.ts
* Update HSET.spec.ts
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com >
2022-05-26 09:56:10 -04:00
Leibale Eidelman
bf80c163b1
fix #2046 - add support for multi in select ( #2133 )
...
* fix #2046 - add support for multi in select
* fix "Argument of type 'symbol | undefined' is not assignable to parameter of type 'number | undefined'"
2022-05-26 09:55:47 -04:00
Leibale Eidelman
7196b907e5
fix #1915 - CLIENT TRACKINGINFO ( #2127 )
...
* fix #1915 - CLIENT TRACKINGINFO
* remove .only
2022-05-12 13:05:27 -04:00
Leibale Eidelman
d8db974980
fix #1914 - CLIENT TRACKING ( #2126 )
2022-05-12 12:56:09 -04:00
Leibale Eidelman
429b11e020
fix #1959 - LCS ( #2129 )
...
* fix #1959 - LCS
* newlines at end of files
2022-05-11 14:24:07 -04:00
Leibale Eidelman
24c2c867f8
fix #1917 - CLIENT UNPAUSE ( #2128 )
...
* fix #1917 - CLIENT UNPAUSE
* fix CLIENT UNPAUSE
2022-05-11 14:20:52 -04:00
Leibale Eidelman
3ec17e31b3
fix legacy mode resp encoder ( #2118 )
...
* fix legacy mode resp encoder
* Update encoder.ts
2022-05-11 14:20:26 -04:00
Leibale Eidelman
94dbcc847b
fix #1912 - CLIENT PAUSE ( #2125 )
...
* fix #1912 - CLIENT PAUSE
* fix client pause
* Update commands.ts
2022-05-11 10:02:29 -04:00
Leibale Eidelman
53a96ccce4
fix #1911 - CLIENT NO-EVICT ( #2124 )
2022-05-11 09:36:23 -04:00
Avital Fine
06c1d2c243
Support all GEORADIUS Commands ( #2017 )
...
* Support all GEORADIUS Commands
* move store bool to options
* simplify transformReply for store commands
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-05-11 09:36:12 -04:00
Leibale Eidelman
5c9f31f244
fix #2123 - expose is ready ( #2130 )
2022-05-11 09:35:36 -04:00
Adam Freidin
a3b33d0177
nit: spelling fix memoery to memory ( #2132 )
2022-05-11 09:35:24 -04:00
Leibale Eidelman
0752f143a6
prepare 4.1.0 ( #2111 )
...
* increase test coverage
* @node-redis to @redis
* ugprade deps
* fix benchmark
* use 7.0 docker (not rc), update readmes, clean code, fix @-redis import
* update readme
* fix function in cluster
* update docs
Co-authored-by: Chayim <chayim@users.noreply.github.com >
* Update clustering.md
* add subpackages move warning
* drop support for node 12
* upgrade deps
* fix tsconfig.base.json
Co-authored-by: Chayim <chayim@users.noreply.github.com >
2022-05-02 11:48:12 -04:00
Leibale Eidelman
baf67fd87f
fix #1976 - XSETID ( #2104 )
2022-04-26 09:05:44 -04:00
Leibale Eidelman
b586ccb9d7
fix #1904 - ACL DRYRUN ( #2102 )
...
* fix #1904 - ACL DRYRUN
* clean code
* fix test
2022-04-26 09:04:21 -04:00
Leibale Eidelman
11c6c24881
Add support for redis functions ( #2020 )
...
* 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
2022-04-25 09:09:23 -04:00
Leibale Eidelman
23b65133c9
New RESP2 parser ( #1899 )
...
* parser
* a new RESP parser :)
* clean code
* fix simple string and bulk string cursor
* performance improvements
* change typescript compiler target
* do not use stream.Transform
* Update decoder.ts
* fix for 1d09acb
* improve integer performance
* revert 1d09acb
* improve RESP2 decoder performance
* improve performance
* improve encode performance
* remove unused import
* upgrade benchmark deps
* clean code
* fix socket error handlers, reset parser on error
* fix #2080 - reset pubSubState on socket error
* reset decoder on socket error
* fix pubsub
* fix "RedisSocketInitiator"
* fix returnStringsAsBuffers
* fix merge
2022-04-25 08:24:33 -04:00
Avital Fine
b1a0b48d2c
Support new muilti pop commands ( #2051 )
...
* Support new muilti pop commands
* remove .only
* clean code
* fix for 4558ec6a31
* fix tests
Co-authored-by: leibale <leibale1998@gmail.com >
2022-04-25 07:50:43 -04:00
Leibale Eidelman
e6de453fdd
fix socket error handlers ( #2092 )
...
* fix socket error handlers, reset parser on error
* fix #2080 - reset pubSubState on socket error
* fix pubsub
* fix "RedisSocketInitiator"
2022-04-25 05:47:51 -04:00
Leibale Eidelman
c473c5fcce
call setKeepAlive after the connect event ( #2074 )
2022-04-11 13:28:03 -04:00
Joe Price
329885b4ae
Flatten array arguments in legacyMode multi commands ( #2064 )
2022-04-06 11:43:32 -04:00
Leibale Eidelman
33a3f3f6c6
run tests with redis 7 as well - copied from #2020 ( #2062 )
...
* run tests on redis 7 as well - copied from #2020
* copy some changes from #2020
* clean BITCOUNT
2022-03-30 08:12:21 -04:00
Avital Fine
b0fb3bd63f
Support COMMAND GETKEYSANDFLAGS ( #2039 )
...
* Support COMMAND GETKEYSANDFLAGS
* Update COMMAND_GETKEYSANDFLAGS.spec.ts
remove '.only'
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-30 06:31:26 -04:00
Leibale Eidelman
18ec52d5ee
fix #2044 - handle "isolated clients" errors ( #2059 )
2022-03-30 06:30:43 -04:00
Avital Fine
f6f645bdbb
Support SORT_RO ( #2041 )
...
* Support SORT_RO
* move pushSortReadOnlyArgs and SortReadOnlyOptions to generic-transformers
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-28 18:36:47 -04:00
Avital Fine
5821fcbe4d
Support CLUSTER commands ( #2015 )
...
* Support CLUSTER commands
* add some client tests
* remove only
* delete cluster slaves
* delete reset clietn test
* SET SLOT
* test with client
* fix fail
* Update CLUSTER_COUNTKEYSINSLOT.spec.ts
* move commands to client/commands.ts
* clusterNode
* remove CLUSTER-SET-CONFIG-EPOCH test with client
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-28 18:31:15 -04:00
Leibale Eidelman
5ade5dadc0
upgrade dependencies ( #2057 )
...
* upgrade dependencies
* fix "Property 'uninstall' does not exist on type 'SinonFakeTimers'."
2022-03-27 16:27:05 -04:00
Avital Fine
515adf1346
Support OBJECT [...] commands ( #2014 )
...
* Support OBJECT [...] commands
* move commands to cluster/commands.ts
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-27 13:35:01 -04:00
Quentin Rankin
6ca45f674d
support command LATENCY DOCTOR ( #2053 )
...
* The Latency Doctor Command has been added to the project
* Update LATENCY_DOCTOR.ts
* Update LATENCY_DOCTOR.spec.ts
* Update LATENCY_DOCTOR.spec.ts
Co-authored-by: QuentinRK <q.rankin@outlook.com >
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com >
2022-03-27 13:29:10 -04:00
Avital Fine
6b8a40a36b
Support new cluster commands ( #2050 )
...
* Support new cluster commands
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-27 13:06:27 -04:00
Avital Fine
fe16dc0eae
Support BIT|BYTE option ( #2035 )
...
* Support BIT|BYTE option
* clean code
* clean code
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-24 11:00:08 -04:00
Avital Fine
24cd9ba9a4
Support new expire features ( #2036 )
...
* Support new expire features
* Update PEXPIRETIME.ts
* Update EXPIRETIME.ts
* fix version skip
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-24 10:17:01 -04:00
Avital Fine
c5c2bf9042
Support multiple parametrs on CONFIG SET ( #2042 )
...
* support multiple parametrs on CONFIG SET
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-20 13:40:27 -04:00
Avital Fine
875298e6e3
Support ZINTERCARD and SINTERCARD ( #2040 )
...
* Support ZINTERCARD and SINTERCARD
* clean code
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-20 13:40:19 -04:00
Avital Fine
be51abe347
Support COMMAND LIST ( #2013 )
...
* Support COMMAND LIST
* Update COMMAND_LIST.spec.ts
* add version check
* clean code
Co-authored-by: leibale <leibale1998@gmail.com >
2022-03-10 12:20:01 -05:00
Leibale Eidelman
c57da8b78b
add missing FIRST_KEY_INDEX ( #2028 )
2022-03-08 17:26:13 -05:00
John Hiesey
f79e14c8c3
Fix #1870 : TypeError in PubSub ( #2016 )
...
* Fix #1870 : TypeError in PubSub
* Add test
This test is for a race condition; it should reliably pass now,
but is not guaranteed to fail with the previous version.
2022-03-07 07:27:04 -05:00
Simon Prickett
88586048e1
Fixes the time command response. ( #2008 )
...
* Fixes the time command response.
* Adds TIME example.
* Update TIME.ts
* Update get-server-time.js
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com >
2022-03-07 07:20:19 -05:00
Leibale Eidelman
9180b91047
fix #1906 - implement BITFIELD_RO ( #1988 )
...
* fix #1906 - implement BITFIELD_RO
* set bitfield_ro min version to 6.2
2022-03-02 05:29:42 -05:00