@upstash/redis 0.0.0-ci.fb6b986f-20221006 → 0.0.0-ci.fb72aeebe6c90b1afa447253d09fe5ee3a67ed16-20251205205954
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -23
- package/chunk-WTYE7OV3.mjs +4520 -0
- package/cloudflare.d.mts +55 -0
- package/cloudflare.d.ts +55 -0
- package/cloudflare.js +4630 -0
- package/cloudflare.mjs +101 -0
- package/fastly.d.mts +48 -0
- package/fastly.d.ts +48 -0
- package/fastly.js +4595 -0
- package/fastly.mjs +66 -0
- package/nodejs.d.mts +81 -0
- package/nodejs.d.ts +81 -0
- package/nodejs.js +4648 -0
- package/nodejs.mjs +119 -0
- package/package.json +1 -63
- package/zmscore-DhpQcqpW.d.mts +4062 -0
- package/zmscore-DhpQcqpW.d.ts +4062 -0
- package/.releaserc +0 -14
- package/esm/deps/deno.land/x/base64@v0.2.1/base.js +0 -100
- package/esm/deps/deno.land/x/base64@v0.2.1/base64url.js +0 -9
- package/esm/deps/deno.land/x/sha1@v1.0.3/deps.js +0 -1
- package/esm/deps/deno.land/x/sha1@v1.0.3/mod.js +0 -191
- package/esm/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +0 -50
- package/esm/package.json +0 -3
- package/esm/pkg/commands/append.js +0 -9
- package/esm/pkg/commands/bitcount.js +0 -16
- package/esm/pkg/commands/bitop.js +0 -9
- package/esm/pkg/commands/bitpos.js +0 -9
- package/esm/pkg/commands/command.js +0 -57
- package/esm/pkg/commands/dbsize.js +0 -9
- package/esm/pkg/commands/decr.js +0 -9
- package/esm/pkg/commands/decrby.js +0 -9
- package/esm/pkg/commands/del.js +0 -9
- package/esm/pkg/commands/echo.js +0 -9
- package/esm/pkg/commands/eval.js +0 -9
- package/esm/pkg/commands/evalsha.js +0 -9
- package/esm/pkg/commands/exists.js +0 -9
- package/esm/pkg/commands/expire.js +0 -9
- package/esm/pkg/commands/expireat.js +0 -9
- package/esm/pkg/commands/flushall.js +0 -13
- package/esm/pkg/commands/flushdb.js +0 -13
- package/esm/pkg/commands/get.js +0 -9
- package/esm/pkg/commands/getbit.js +0 -9
- package/esm/pkg/commands/getrange.js +0 -9
- package/esm/pkg/commands/getset.js +0 -9
- package/esm/pkg/commands/hdel.js +0 -9
- package/esm/pkg/commands/hexists.js +0 -9
- package/esm/pkg/commands/hget.js +0 -9
- package/esm/pkg/commands/hgetall.js +0 -33
- package/esm/pkg/commands/hincrby.js +0 -9
- package/esm/pkg/commands/hincrbyfloat.js +0 -9
- package/esm/pkg/commands/hkeys.js +0 -9
- package/esm/pkg/commands/hlen.js +0 -9
- package/esm/pkg/commands/hmget.js +0 -35
- package/esm/pkg/commands/hmset.js +0 -13
- package/esm/pkg/commands/hscan.js +0 -16
- package/esm/pkg/commands/hset.js +0 -13
- package/esm/pkg/commands/hsetnx.js +0 -9
- package/esm/pkg/commands/hstrlen.js +0 -9
- package/esm/pkg/commands/hvals.js +0 -9
- package/esm/pkg/commands/incr.js +0 -9
- package/esm/pkg/commands/incrby.js +0 -9
- package/esm/pkg/commands/incrbyfloat.js +0 -9
- package/esm/pkg/commands/keys.js +0 -9
- package/esm/pkg/commands/lindex.js +0 -6
- package/esm/pkg/commands/linsert.js +0 -6
- package/esm/pkg/commands/llen.js +0 -9
- package/esm/pkg/commands/lpop.js +0 -9
- package/esm/pkg/commands/lpos.js +0 -19
- package/esm/pkg/commands/lpush.js +0 -9
- package/esm/pkg/commands/lpushx.js +0 -9
- package/esm/pkg/commands/lrange.js +0 -6
- package/esm/pkg/commands/lrem.js +0 -6
- package/esm/pkg/commands/lset.js +0 -6
- package/esm/pkg/commands/ltrim.js +0 -6
- package/esm/pkg/commands/mget.js +0 -9
- package/esm/pkg/commands/mod.js +0 -115
- package/esm/pkg/commands/mset.js +0 -12
- package/esm/pkg/commands/msetnx.js +0 -9
- package/esm/pkg/commands/persist.js +0 -9
- package/esm/pkg/commands/pexpire.js +0 -9
- package/esm/pkg/commands/pexpireat.js +0 -9
- package/esm/pkg/commands/ping.js +0 -13
- package/esm/pkg/commands/psetex.js +0 -9
- package/esm/pkg/commands/pttl.js +0 -9
- package/esm/pkg/commands/publish.js +0 -9
- package/esm/pkg/commands/randomkey.js +0 -9
- package/esm/pkg/commands/rename.js +0 -9
- package/esm/pkg/commands/renamenx.js +0 -9
- package/esm/pkg/commands/rpop.js +0 -9
- package/esm/pkg/commands/rpush.js +0 -9
- package/esm/pkg/commands/rpushx.js +0 -9
- package/esm/pkg/commands/sadd.js +0 -9
- package/esm/pkg/commands/scan.js +0 -19
- package/esm/pkg/commands/scard.js +0 -9
- package/esm/pkg/commands/script_exists.js +0 -12
- package/esm/pkg/commands/script_flush.js +0 -16
- package/esm/pkg/commands/script_load.js +0 -9
- package/esm/pkg/commands/sdiff.js +0 -9
- package/esm/pkg/commands/sdiffstore.js +0 -9
- package/esm/pkg/commands/set.js +0 -36
- package/esm/pkg/commands/setbit.js +0 -9
- package/esm/pkg/commands/setex.js +0 -9
- package/esm/pkg/commands/setnx.js +0 -9
- package/esm/pkg/commands/setrange.js +0 -9
- package/esm/pkg/commands/sinter.js +0 -9
- package/esm/pkg/commands/sinterstore.js +0 -9
- package/esm/pkg/commands/sismember.js +0 -9
- package/esm/pkg/commands/smembers.js +0 -9
- package/esm/pkg/commands/smove.js +0 -9
- package/esm/pkg/commands/spop.js +0 -13
- package/esm/pkg/commands/srandmember.js +0 -13
- package/esm/pkg/commands/srem.js +0 -9
- package/esm/pkg/commands/sscan.js +0 -16
- package/esm/pkg/commands/strlen.js +0 -9
- package/esm/pkg/commands/sunion.js +0 -9
- package/esm/pkg/commands/sunionstore.js +0 -9
- package/esm/pkg/commands/time.js +0 -9
- package/esm/pkg/commands/touch.js +0 -9
- package/esm/pkg/commands/ttl.js +0 -9
- package/esm/pkg/commands/type.js +0 -9
- package/esm/pkg/commands/unlink.js +0 -9
- package/esm/pkg/commands/zadd.js +0 -26
- package/esm/pkg/commands/zcard.js +0 -9
- package/esm/pkg/commands/zcount.js +0 -9
- package/esm/pkg/commands/zincrby.js +0 -9
- package/esm/pkg/commands/zinterstore.js +0 -27
- package/esm/pkg/commands/zlexcount.js +0 -9
- package/esm/pkg/commands/zmscore.js +0 -10
- package/esm/pkg/commands/zpopmax.js +0 -13
- package/esm/pkg/commands/zpopmin.js +0 -13
- package/esm/pkg/commands/zrange.js +0 -26
- package/esm/pkg/commands/zrank.js +0 -9
- package/esm/pkg/commands/zrem.js +0 -9
- package/esm/pkg/commands/zremrangebylex.js +0 -9
- package/esm/pkg/commands/zremrangebyrank.js +0 -9
- package/esm/pkg/commands/zremrangebyscore.js +0 -9
- package/esm/pkg/commands/zrevrank.js +0 -9
- package/esm/pkg/commands/zscan.js +0 -16
- package/esm/pkg/commands/zscore.js +0 -9
- package/esm/pkg/commands/zunionstore.js +0 -27
- package/esm/pkg/error.js +0 -9
- package/esm/pkg/http.js +0 -128
- package/esm/pkg/pipeline.js +0 -1144
- package/esm/pkg/redis.js +0 -1102
- package/esm/pkg/script.js +0 -77
- package/esm/pkg/types.js +0 -1
- package/esm/pkg/util.js +0 -31
- package/esm/platforms/cloudflare.js +0 -62
- package/esm/platforms/fastly.js +0 -40
- package/esm/platforms/node_with_fetch.js +0 -60
- package/esm/platforms/nodejs.js +0 -59
- package/script/deps/deno.land/x/base64@v0.2.1/base.js +0 -104
- package/script/deps/deno.land/x/base64@v0.2.1/base64url.js +0 -13
- package/script/deps/deno.land/x/sha1@v1.0.3/deps.js +0 -6
- package/script/deps/deno.land/x/sha1@v1.0.3/mod.js +0 -196
- package/script/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +0 -55
- package/script/package.json +0 -3
- package/script/pkg/commands/append.js +0 -13
- package/script/pkg/commands/bitcount.js +0 -20
- package/script/pkg/commands/bitop.js +0 -13
- package/script/pkg/commands/bitpos.js +0 -13
- package/script/pkg/commands/command.js +0 -61
- package/script/pkg/commands/dbsize.js +0 -13
- package/script/pkg/commands/decr.js +0 -13
- package/script/pkg/commands/decrby.js +0 -13
- package/script/pkg/commands/del.js +0 -13
- package/script/pkg/commands/echo.js +0 -13
- package/script/pkg/commands/eval.js +0 -13
- package/script/pkg/commands/evalsha.js +0 -13
- package/script/pkg/commands/exists.js +0 -13
- package/script/pkg/commands/expire.js +0 -13
- package/script/pkg/commands/expireat.js +0 -13
- package/script/pkg/commands/flushall.js +0 -17
- package/script/pkg/commands/flushdb.js +0 -17
- package/script/pkg/commands/get.js +0 -13
- package/script/pkg/commands/getbit.js +0 -13
- package/script/pkg/commands/getrange.js +0 -13
- package/script/pkg/commands/getset.js +0 -13
- package/script/pkg/commands/hdel.js +0 -13
- package/script/pkg/commands/hexists.js +0 -13
- package/script/pkg/commands/hget.js +0 -13
- package/script/pkg/commands/hgetall.js +0 -37
- package/script/pkg/commands/hincrby.js +0 -13
- package/script/pkg/commands/hincrbyfloat.js +0 -13
- package/script/pkg/commands/hkeys.js +0 -13
- package/script/pkg/commands/hlen.js +0 -13
- package/script/pkg/commands/hmget.js +0 -39
- package/script/pkg/commands/hmset.js +0 -17
- package/script/pkg/commands/hscan.js +0 -20
- package/script/pkg/commands/hset.js +0 -17
- package/script/pkg/commands/hsetnx.js +0 -13
- package/script/pkg/commands/hstrlen.js +0 -13
- package/script/pkg/commands/hvals.js +0 -13
- package/script/pkg/commands/incr.js +0 -13
- package/script/pkg/commands/incrby.js +0 -13
- package/script/pkg/commands/incrbyfloat.js +0 -13
- package/script/pkg/commands/keys.js +0 -13
- package/script/pkg/commands/lindex.js +0 -10
- package/script/pkg/commands/linsert.js +0 -10
- package/script/pkg/commands/llen.js +0 -13
- package/script/pkg/commands/lpop.js +0 -13
- package/script/pkg/commands/lpos.js +0 -23
- package/script/pkg/commands/lpush.js +0 -13
- package/script/pkg/commands/lpushx.js +0 -13
- package/script/pkg/commands/lrange.js +0 -10
- package/script/pkg/commands/lrem.js +0 -10
- package/script/pkg/commands/lset.js +0 -10
- package/script/pkg/commands/ltrim.js +0 -10
- package/script/pkg/commands/mget.js +0 -13
- package/script/pkg/commands/mod.js +0 -131
- package/script/pkg/commands/mset.js +0 -16
- package/script/pkg/commands/msetnx.js +0 -13
- package/script/pkg/commands/persist.js +0 -13
- package/script/pkg/commands/pexpire.js +0 -13
- package/script/pkg/commands/pexpireat.js +0 -13
- package/script/pkg/commands/ping.js +0 -17
- package/script/pkg/commands/psetex.js +0 -13
- package/script/pkg/commands/pttl.js +0 -13
- package/script/pkg/commands/publish.js +0 -13
- package/script/pkg/commands/randomkey.js +0 -13
- package/script/pkg/commands/rename.js +0 -13
- package/script/pkg/commands/renamenx.js +0 -13
- package/script/pkg/commands/rpop.js +0 -13
- package/script/pkg/commands/rpush.js +0 -13
- package/script/pkg/commands/rpushx.js +0 -13
- package/script/pkg/commands/sadd.js +0 -13
- package/script/pkg/commands/scan.js +0 -23
- package/script/pkg/commands/scard.js +0 -13
- package/script/pkg/commands/script_exists.js +0 -16
- package/script/pkg/commands/script_flush.js +0 -20
- package/script/pkg/commands/script_load.js +0 -13
- package/script/pkg/commands/sdiff.js +0 -13
- package/script/pkg/commands/sdiffstore.js +0 -13
- package/script/pkg/commands/set.js +0 -40
- package/script/pkg/commands/setbit.js +0 -13
- package/script/pkg/commands/setex.js +0 -13
- package/script/pkg/commands/setnx.js +0 -13
- package/script/pkg/commands/setrange.js +0 -13
- package/script/pkg/commands/sinter.js +0 -13
- package/script/pkg/commands/sinterstore.js +0 -13
- package/script/pkg/commands/sismember.js +0 -13
- package/script/pkg/commands/smembers.js +0 -13
- package/script/pkg/commands/smove.js +0 -13
- package/script/pkg/commands/spop.js +0 -17
- package/script/pkg/commands/srandmember.js +0 -17
- package/script/pkg/commands/srem.js +0 -13
- package/script/pkg/commands/sscan.js +0 -20
- package/script/pkg/commands/strlen.js +0 -13
- package/script/pkg/commands/sunion.js +0 -13
- package/script/pkg/commands/sunionstore.js +0 -13
- package/script/pkg/commands/time.js +0 -13
- package/script/pkg/commands/touch.js +0 -13
- package/script/pkg/commands/ttl.js +0 -13
- package/script/pkg/commands/type.js +0 -13
- package/script/pkg/commands/unlink.js +0 -13
- package/script/pkg/commands/zadd.js +0 -30
- package/script/pkg/commands/zcard.js +0 -13
- package/script/pkg/commands/zcount.js +0 -13
- package/script/pkg/commands/zincrby.js +0 -13
- package/script/pkg/commands/zinterstore.js +0 -31
- package/script/pkg/commands/zlexcount.js +0 -13
- package/script/pkg/commands/zmscore.js +0 -14
- package/script/pkg/commands/zpopmax.js +0 -17
- package/script/pkg/commands/zpopmin.js +0 -17
- package/script/pkg/commands/zrange.js +0 -30
- package/script/pkg/commands/zrank.js +0 -13
- package/script/pkg/commands/zrem.js +0 -13
- package/script/pkg/commands/zremrangebylex.js +0 -13
- package/script/pkg/commands/zremrangebyrank.js +0 -13
- package/script/pkg/commands/zremrangebyscore.js +0 -13
- package/script/pkg/commands/zrevrank.js +0 -13
- package/script/pkg/commands/zscan.js +0 -20
- package/script/pkg/commands/zscore.js +0 -13
- package/script/pkg/commands/zunionstore.js +0 -31
- package/script/pkg/error.js +0 -13
- package/script/pkg/http.js +0 -132
- package/script/pkg/pipeline.js +0 -1148
- package/script/pkg/redis.js +0 -1106
- package/script/pkg/script.js +0 -81
- package/script/pkg/types.js +0 -2
- package/script/pkg/util.js +0 -35
- package/script/platforms/cloudflare.js +0 -89
- package/script/platforms/fastly.js +0 -67
- package/script/platforms/node_with_fetch.js +0 -87
- package/script/platforms/nodejs.js +0 -86
- package/types/deps/deno.land/x/base64@v0.2.1/base.d.ts +0 -5
- package/types/deps/deno.land/x/base64@v0.2.1/base64url.d.ts +0 -1
- package/types/deps/deno.land/x/sha1@v1.0.3/deps.d.ts +0 -1
- package/types/deps/deno.land/x/sha1@v1.0.3/mod.d.ts +0 -26
- package/types/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.d.ts +0 -3
- package/types/pkg/commands/append.d.ts +0 -7
- package/types/pkg/commands/bitcount.d.ts +0 -8
- package/types/pkg/commands/bitop.d.ts +0 -12
- package/types/pkg/commands/bitpos.d.ts +0 -7
- package/types/pkg/commands/command.d.ts +0 -37
- package/types/pkg/commands/dbsize.d.ts +0 -7
- package/types/pkg/commands/decr.d.ts +0 -7
- package/types/pkg/commands/decrby.d.ts +0 -7
- package/types/pkg/commands/del.d.ts +0 -7
- package/types/pkg/commands/echo.d.ts +0 -7
- package/types/pkg/commands/eval.d.ts +0 -7
- package/types/pkg/commands/evalsha.d.ts +0 -7
- package/types/pkg/commands/exists.d.ts +0 -7
- package/types/pkg/commands/expire.d.ts +0 -7
- package/types/pkg/commands/expireat.d.ts +0 -7
- package/types/pkg/commands/flushall.d.ts +0 -9
- package/types/pkg/commands/flushdb.d.ts +0 -9
- package/types/pkg/commands/get.d.ts +0 -7
- package/types/pkg/commands/getbit.d.ts +0 -7
- package/types/pkg/commands/getrange.d.ts +0 -7
- package/types/pkg/commands/getset.d.ts +0 -7
- package/types/pkg/commands/hdel.d.ts +0 -7
- package/types/pkg/commands/hexists.d.ts +0 -7
- package/types/pkg/commands/hget.d.ts +0 -7
- package/types/pkg/commands/hgetall.d.ts +0 -7
- package/types/pkg/commands/hincrby.d.ts +0 -7
- package/types/pkg/commands/hincrbyfloat.d.ts +0 -7
- package/types/pkg/commands/hkeys.d.ts +0 -7
- package/types/pkg/commands/hlen.d.ts +0 -7
- package/types/pkg/commands/hmget.d.ts +0 -15
- package/types/pkg/commands/hmset.d.ts +0 -9
- package/types/pkg/commands/hscan.d.ts +0 -24
- package/types/pkg/commands/hset.d.ts +0 -9
- package/types/pkg/commands/hsetnx.d.ts +0 -7
- package/types/pkg/commands/hstrlen.d.ts +0 -7
- package/types/pkg/commands/hvals.d.ts +0 -7
- package/types/pkg/commands/incr.d.ts +0 -7
- package/types/pkg/commands/incrby.d.ts +0 -7
- package/types/pkg/commands/incrbyfloat.d.ts +0 -7
- package/types/pkg/commands/keys.d.ts +0 -7
- package/types/pkg/commands/lindex.d.ts +0 -4
- package/types/pkg/commands/linsert.d.ts +0 -9
- package/types/pkg/commands/llen.d.ts +0 -7
- package/types/pkg/commands/lpop.d.ts +0 -7
- package/types/pkg/commands/lpos.d.ts +0 -15
- package/types/pkg/commands/lpush.d.ts +0 -7
- package/types/pkg/commands/lpushx.d.ts +0 -7
- package/types/pkg/commands/lrange.d.ts +0 -4
- package/types/pkg/commands/lrem.d.ts +0 -4
- package/types/pkg/commands/lset.d.ts +0 -4
- package/types/pkg/commands/ltrim.d.ts +0 -4
- package/types/pkg/commands/mget.d.ts +0 -7
- package/types/pkg/commands/mod.d.ts +0 -115
- package/types/pkg/commands/mset.d.ts +0 -9
- package/types/pkg/commands/msetnx.d.ts +0 -9
- package/types/pkg/commands/persist.d.ts +0 -7
- package/types/pkg/commands/pexpire.d.ts +0 -7
- package/types/pkg/commands/pexpireat.d.ts +0 -7
- package/types/pkg/commands/ping.d.ts +0 -7
- package/types/pkg/commands/psetex.d.ts +0 -7
- package/types/pkg/commands/pttl.d.ts +0 -7
- package/types/pkg/commands/publish.d.ts +0 -7
- package/types/pkg/commands/randomkey.d.ts +0 -7
- package/types/pkg/commands/rename.d.ts +0 -7
- package/types/pkg/commands/renamenx.d.ts +0 -7
- package/types/pkg/commands/rpop.d.ts +0 -7
- package/types/pkg/commands/rpush.d.ts +0 -7
- package/types/pkg/commands/rpushx.d.ts +0 -7
- package/types/pkg/commands/sadd.d.ts +0 -7
- package/types/pkg/commands/scan.d.ts +0 -18
- package/types/pkg/commands/scard.d.ts +0 -7
- package/types/pkg/commands/script_exists.d.ts +0 -7
- package/types/pkg/commands/script_flush.d.ts +0 -14
- package/types/pkg/commands/script_load.d.ts +0 -7
- package/types/pkg/commands/sdiff.d.ts +0 -7
- package/types/pkg/commands/sdiffstore.d.ts +0 -7
- package/types/pkg/commands/set.d.ts +0 -55
- package/types/pkg/commands/setbit.d.ts +0 -7
- package/types/pkg/commands/setex.d.ts +0 -7
- package/types/pkg/commands/setnx.d.ts +0 -7
- package/types/pkg/commands/setrange.d.ts +0 -7
- package/types/pkg/commands/sinter.d.ts +0 -7
- package/types/pkg/commands/sinterstore.d.ts +0 -7
- package/types/pkg/commands/sismember.d.ts +0 -7
- package/types/pkg/commands/smembers.d.ts +0 -7
- package/types/pkg/commands/smove.d.ts +0 -7
- package/types/pkg/commands/spop.d.ts +0 -7
- package/types/pkg/commands/srandmember.d.ts +0 -7
- package/types/pkg/commands/srem.d.ts +0 -7
- package/types/pkg/commands/sscan.d.ts +0 -24
- package/types/pkg/commands/strlen.d.ts +0 -7
- package/types/pkg/commands/sunion.d.ts +0 -7
- package/types/pkg/commands/sunionstore.d.ts +0 -7
- package/types/pkg/commands/time.d.ts +0 -7
- package/types/pkg/commands/touch.d.ts +0 -7
- package/types/pkg/commands/ttl.d.ts +0 -7
- package/types/pkg/commands/type.d.ts +0 -8
- package/types/pkg/commands/unlink.d.ts +0 -7
- package/types/pkg/commands/zadd.d.ts +0 -35
- package/types/pkg/commands/zcard.d.ts +0 -7
- package/types/pkg/commands/zcount.d.ts +0 -7
- package/types/pkg/commands/zincrby.d.ts +0 -7
- package/types/pkg/commands/zinterstore.d.ts +0 -30
- package/types/pkg/commands/zlexcount.d.ts +0 -7
- package/types/pkg/commands/zmscore.d.ts +0 -7
- package/types/pkg/commands/zpopmax.d.ts +0 -7
- package/types/pkg/commands/zpopmin.d.ts +0 -7
- package/types/pkg/commands/zrange.d.ts +0 -42
- package/types/pkg/commands/zrank.d.ts +0 -7
- package/types/pkg/commands/zrem.d.ts +0 -7
- package/types/pkg/commands/zremrangebylex.d.ts +0 -7
- package/types/pkg/commands/zremrangebyrank.d.ts +0 -7
- package/types/pkg/commands/zremrangebyscore.d.ts +0 -7
- package/types/pkg/commands/zrevrank.d.ts +0 -7
- package/types/pkg/commands/zscan.d.ts +0 -24
- package/types/pkg/commands/zscore.d.ts +0 -7
- package/types/pkg/commands/zunionstore.d.ts +0 -30
- package/types/pkg/error.d.ts +0 -6
- package/types/pkg/http.d.ts +0 -54
- package/types/pkg/pipeline.d.ts +0 -552
- package/types/pkg/redis.d.ts +0 -534
- package/types/pkg/script.d.ts +0 -42
- package/types/pkg/types.d.ts +0 -1
- package/types/pkg/util.d.ts +0 -1
- package/types/platforms/cloudflare.d.ts +0 -42
- package/types/platforms/fastly.d.ts +0 -45
- package/types/platforms/node_with_fetch.d.ts +0 -82
- package/types/platforms/nodejs.d.ts +0 -81
|
@@ -0,0 +1,4062 @@
|
|
|
1
|
+
type CommandArgs<TCommand extends new (..._args: any) => any> = ConstructorParameters<TCommand>[0];
|
|
2
|
+
type Telemetry = {
|
|
3
|
+
/**
|
|
4
|
+
* Upstash-Telemetry-Sdk
|
|
5
|
+
* @example @upstash/redis@v1.1.1
|
|
6
|
+
*/
|
|
7
|
+
sdk?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Upstash-Telemetry-Platform
|
|
10
|
+
* @example cloudflare
|
|
11
|
+
*/
|
|
12
|
+
platform?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Upstash-Telemetry-Runtime
|
|
15
|
+
* @example node@v18
|
|
16
|
+
*/
|
|
17
|
+
runtime?: string;
|
|
18
|
+
};
|
|
19
|
+
type RedisOptions = {
|
|
20
|
+
/**
|
|
21
|
+
* Automatically try to deserialize the returned data from upstash using `JSON.deserialize`
|
|
22
|
+
*
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
automaticDeserialization?: boolean;
|
|
26
|
+
latencyLogging?: boolean;
|
|
27
|
+
enableTelemetry?: boolean;
|
|
28
|
+
enableAutoPipelining?: boolean;
|
|
29
|
+
readYourWrites?: boolean;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
type CacheSetting = "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload";
|
|
33
|
+
type UpstashRequest = {
|
|
34
|
+
path?: string[];
|
|
35
|
+
/**
|
|
36
|
+
* Request body will be serialized to json
|
|
37
|
+
*/
|
|
38
|
+
body?: unknown;
|
|
39
|
+
/**
|
|
40
|
+
* Additional headers for the request
|
|
41
|
+
*/
|
|
42
|
+
headers?: Record<string, string>;
|
|
43
|
+
upstashSyncToken?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Callback for handling streaming messages
|
|
46
|
+
*/
|
|
47
|
+
onMessage?: (data: string) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Whether this request expects a streaming response
|
|
50
|
+
*/
|
|
51
|
+
isStreaming?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Abort signal for the request
|
|
54
|
+
*/
|
|
55
|
+
signal?: AbortSignal;
|
|
56
|
+
};
|
|
57
|
+
type UpstashResponse<TResult> = {
|
|
58
|
+
result?: TResult;
|
|
59
|
+
error?: string;
|
|
60
|
+
};
|
|
61
|
+
interface Requester {
|
|
62
|
+
/**
|
|
63
|
+
* When this flag is enabled, any subsequent commands issued by this client are guaranteed to observe the effects of all earlier writes submitted by the same client.
|
|
64
|
+
*/
|
|
65
|
+
readYourWrites?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* This token is used to ensure that the client is in sync with the server. On each request, we send this token in the header, and the server will return a new token.
|
|
68
|
+
*/
|
|
69
|
+
upstashSyncToken?: string;
|
|
70
|
+
request: <TResult = unknown>(req: UpstashRequest) => Promise<UpstashResponse<TResult>>;
|
|
71
|
+
}
|
|
72
|
+
type RetryConfig = false | {
|
|
73
|
+
/**
|
|
74
|
+
* The number of retries to attempt before giving up.
|
|
75
|
+
*
|
|
76
|
+
* @default 5
|
|
77
|
+
*/
|
|
78
|
+
retries?: number;
|
|
79
|
+
/**
|
|
80
|
+
* A backoff function receives the current retry count and returns a number in milliseconds to wait before retrying.
|
|
81
|
+
*
|
|
82
|
+
* @default
|
|
83
|
+
* ```ts
|
|
84
|
+
* Math.exp(retryCount) * 50
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
backoff?: (retryCount: number) => number;
|
|
88
|
+
};
|
|
89
|
+
type Options$1 = {
|
|
90
|
+
backend?: string;
|
|
91
|
+
};
|
|
92
|
+
type RequesterConfig = {
|
|
93
|
+
/**
|
|
94
|
+
* Configure the retry behaviour in case of network errors
|
|
95
|
+
*/
|
|
96
|
+
retry?: RetryConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Due to the nature of dynamic and custom data, it is possible to write data to redis that is not
|
|
99
|
+
* valid json and will therefore cause errors when deserializing. This used to happen very
|
|
100
|
+
* frequently with non-utf8 data, such as emojis.
|
|
101
|
+
*
|
|
102
|
+
* By default we will therefore encode the data as base64 on the server, before sending it to the
|
|
103
|
+
* client. The client will then decode the base64 data and parse it as utf8.
|
|
104
|
+
*
|
|
105
|
+
* For very large entries, this can add a few milliseconds, so if you are sure that your data is
|
|
106
|
+
* valid utf8, you can disable this behaviour by setting this option to false.
|
|
107
|
+
*
|
|
108
|
+
* Here's what the response body looks like:
|
|
109
|
+
*
|
|
110
|
+
* ```json
|
|
111
|
+
* {
|
|
112
|
+
* result?: "base64-encoded",
|
|
113
|
+
* error?: string
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @default "base64"
|
|
118
|
+
*/
|
|
119
|
+
responseEncoding?: false | "base64";
|
|
120
|
+
/**
|
|
121
|
+
* Configure the cache behaviour
|
|
122
|
+
* @default "no-store"
|
|
123
|
+
*/
|
|
124
|
+
cache?: CacheSetting;
|
|
125
|
+
};
|
|
126
|
+
type HttpClientConfig = {
|
|
127
|
+
headers?: Record<string, string>;
|
|
128
|
+
baseUrl: string;
|
|
129
|
+
options?: Options$1;
|
|
130
|
+
retry?: RetryConfig;
|
|
131
|
+
agent?: any;
|
|
132
|
+
signal?: AbortSignal | (() => AbortSignal);
|
|
133
|
+
keepAlive?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* When this flag is enabled, any subsequent commands issued by this client are guaranteed to observe the effects of all earlier writes submitted by the same client.
|
|
136
|
+
*/
|
|
137
|
+
readYourWrites?: boolean;
|
|
138
|
+
} & RequesterConfig;
|
|
139
|
+
|
|
140
|
+
type Serialize = (data: unknown) => string | number | boolean;
|
|
141
|
+
type Deserialize<TResult, TData> = (result: TResult) => TData;
|
|
142
|
+
type CommandOptions<TResult, TData> = {
|
|
143
|
+
/**
|
|
144
|
+
* Custom deserializer
|
|
145
|
+
*/
|
|
146
|
+
deserialize?: (result: TResult) => TData;
|
|
147
|
+
/**
|
|
148
|
+
* Automatically try to deserialize the returned data from upstash using `JSON.deserialize`
|
|
149
|
+
*
|
|
150
|
+
* @default true
|
|
151
|
+
*/
|
|
152
|
+
automaticDeserialization?: boolean;
|
|
153
|
+
latencyLogging?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Additional headers to be sent with the request
|
|
156
|
+
*/
|
|
157
|
+
headers?: Record<string, string>;
|
|
158
|
+
/**
|
|
159
|
+
* Path to append to the URL
|
|
160
|
+
*/
|
|
161
|
+
path?: string[];
|
|
162
|
+
/**
|
|
163
|
+
* Options for streaming requests, mainly used for subscribe, monitor commands
|
|
164
|
+
**/
|
|
165
|
+
streamOptions?: {
|
|
166
|
+
/**
|
|
167
|
+
* Callback to be called when a message is received
|
|
168
|
+
*/
|
|
169
|
+
onMessage?: (data: string) => void;
|
|
170
|
+
/**
|
|
171
|
+
* Whether the request is streaming
|
|
172
|
+
*/
|
|
173
|
+
isStreaming?: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Signal to abort the request
|
|
176
|
+
*/
|
|
177
|
+
signal?: AbortSignal;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Command offers default (de)serialization and the exec method to all commands.
|
|
182
|
+
*
|
|
183
|
+
* TData represents what the user will enter or receive,
|
|
184
|
+
* TResult is the raw data returned from upstash, which may need to be transformed or parsed.
|
|
185
|
+
*/
|
|
186
|
+
declare class Command<TResult, TData> {
|
|
187
|
+
readonly command: (string | number | boolean)[];
|
|
188
|
+
readonly serialize: Serialize;
|
|
189
|
+
readonly deserialize: Deserialize<TResult, TData>;
|
|
190
|
+
protected readonly headers?: Record<string, string>;
|
|
191
|
+
protected readonly path?: string[];
|
|
192
|
+
protected readonly onMessage?: (data: string) => void;
|
|
193
|
+
protected readonly isStreaming: boolean;
|
|
194
|
+
protected readonly signal?: AbortSignal;
|
|
195
|
+
/**
|
|
196
|
+
* Create a new command instance.
|
|
197
|
+
*
|
|
198
|
+
* You can define a custom `deserialize` function. By default we try to deserialize as json.
|
|
199
|
+
*/
|
|
200
|
+
constructor(command: (string | boolean | number | unknown)[], opts?: CommandOptions<TResult, TData>);
|
|
201
|
+
/**
|
|
202
|
+
* Execute the command using a client.
|
|
203
|
+
*/
|
|
204
|
+
exec(client: Requester): Promise<TData>;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
type ZUnionStoreCommandOptions = {
|
|
208
|
+
aggregate?: "sum" | "min" | "max";
|
|
209
|
+
} & ({
|
|
210
|
+
weight: number;
|
|
211
|
+
weights?: never;
|
|
212
|
+
} | {
|
|
213
|
+
weight?: never;
|
|
214
|
+
weights: number[];
|
|
215
|
+
} | {
|
|
216
|
+
weight?: never;
|
|
217
|
+
weights?: never;
|
|
218
|
+
});
|
|
219
|
+
/**
|
|
220
|
+
* @see https://redis.io/commands/zunionstore
|
|
221
|
+
*/
|
|
222
|
+
declare class ZUnionStoreCommand extends Command<number, number> {
|
|
223
|
+
constructor(cmd: [destination: string, numKeys: 1, key: string, opts?: ZUnionStoreCommandOptions], cmdOpts?: CommandOptions<number, number>);
|
|
224
|
+
constructor(cmd: [destination: string, numKeys: number, keys: string[], opts?: ZUnionStoreCommandOptions], cmdOpts?: CommandOptions<number, number>);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
type ZUnionCommandOptions = {
|
|
228
|
+
withScores?: boolean;
|
|
229
|
+
aggregate?: "sum" | "min" | "max";
|
|
230
|
+
} & ({
|
|
231
|
+
weight: number;
|
|
232
|
+
weights?: never;
|
|
233
|
+
} | {
|
|
234
|
+
weight?: never;
|
|
235
|
+
weights: number[];
|
|
236
|
+
} | {
|
|
237
|
+
weight?: never;
|
|
238
|
+
weights?: never;
|
|
239
|
+
});
|
|
240
|
+
/**
|
|
241
|
+
* @see https://redis.io/commands/zunion
|
|
242
|
+
*/
|
|
243
|
+
declare class ZUnionCommand<TData extends unknown[]> extends Command<string[], TData> {
|
|
244
|
+
constructor(cmd: [numKeys: 1, key: string, opts?: ZUnionCommandOptions], cmdOpts?: CommandOptions<string[], TData>);
|
|
245
|
+
constructor(cmd: [numKeys: number, keys: string[], opts?: ZUnionCommandOptions], cmdOpts?: CommandOptions<string[], TData>);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
type ZInterStoreCommandOptions = {
|
|
249
|
+
aggregate?: "sum" | "min" | "max";
|
|
250
|
+
} & ({
|
|
251
|
+
weight: number;
|
|
252
|
+
weights?: never;
|
|
253
|
+
} | {
|
|
254
|
+
weight?: never;
|
|
255
|
+
weights: number[];
|
|
256
|
+
} | {
|
|
257
|
+
weight?: never;
|
|
258
|
+
weights?: never;
|
|
259
|
+
});
|
|
260
|
+
/**
|
|
261
|
+
* @see https://redis.io/commands/zInterstore
|
|
262
|
+
*/
|
|
263
|
+
declare class ZInterStoreCommand extends Command<number, number> {
|
|
264
|
+
constructor(cmd: [destination: string, numKeys: 1, key: string, opts?: ZInterStoreCommandOptions], cmdOpts?: CommandOptions<number, number>);
|
|
265
|
+
constructor(cmd: [destination: string, numKeys: number, keys: string[], opts?: ZInterStoreCommandOptions], cmdOpts?: CommandOptions<number, number>);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
type Type = "string" | "list" | "set" | "zset" | "hash" | "none";
|
|
269
|
+
/**
|
|
270
|
+
* @see https://redis.io/commands/type
|
|
271
|
+
*/
|
|
272
|
+
declare class TypeCommand extends Command<Type, Type> {
|
|
273
|
+
constructor(cmd: [key: string], opts?: CommandOptions<Type, Type>);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
type ScriptFlushCommandOptions = {
|
|
277
|
+
sync: true;
|
|
278
|
+
async?: never;
|
|
279
|
+
} | {
|
|
280
|
+
sync?: never;
|
|
281
|
+
async: true;
|
|
282
|
+
};
|
|
283
|
+
/**
|
|
284
|
+
* @see https://redis.io/commands/script-flush
|
|
285
|
+
*/
|
|
286
|
+
declare class ScriptFlushCommand extends Command<"OK", "OK"> {
|
|
287
|
+
constructor([opts]: [opts?: ScriptFlushCommandOptions], cmdOpts?: CommandOptions<"OK", "OK">);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
type GeoAddCommandOptions = {
|
|
291
|
+
nx?: boolean;
|
|
292
|
+
xx?: never;
|
|
293
|
+
} | ({
|
|
294
|
+
nx?: never;
|
|
295
|
+
xx?: boolean;
|
|
296
|
+
} & {
|
|
297
|
+
ch?: boolean;
|
|
298
|
+
});
|
|
299
|
+
type GeoMember<TMemberType> = {
|
|
300
|
+
latitude: number;
|
|
301
|
+
longitude: number;
|
|
302
|
+
member: TMemberType;
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* @see https://redis.io/commands/geoadd
|
|
306
|
+
*/
|
|
307
|
+
declare class GeoAddCommand<TMemberType = string> extends Command<number | null, number | null> {
|
|
308
|
+
constructor([key, arg1, ...arg2]: [
|
|
309
|
+
string,
|
|
310
|
+
GeoMember<TMemberType> | GeoAddCommandOptions,
|
|
311
|
+
...GeoMember<TMemberType>[]
|
|
312
|
+
], opts?: CommandOptions<number | null, number | null>);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
type ExpireOption = "NX" | "nx" | "XX" | "xx" | "GT" | "gt" | "LT" | "lt";
|
|
316
|
+
declare class ExpireCommand extends Command<"0" | "1", 0 | 1> {
|
|
317
|
+
constructor(cmd: [key: string, seconds: number, option?: ExpireOption], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* @see https://redis.io/commands/append
|
|
322
|
+
*/
|
|
323
|
+
declare class AppendCommand extends Command<number, number> {
|
|
324
|
+
constructor(cmd: [key: string, value: string], opts?: CommandOptions<number, number>);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* @see https://redis.io/commands/bitcount
|
|
329
|
+
*/
|
|
330
|
+
declare class BitCountCommand extends Command<number, number> {
|
|
331
|
+
constructor(cmd: [key: string, start?: never, end?: never], opts?: CommandOptions<number, number>);
|
|
332
|
+
constructor(cmd: [key: string, start: number, end: number], opts?: CommandOptions<number, number>);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
type SubCommandArgs<TRest extends unknown[] = []> = [
|
|
336
|
+
encoding: string,
|
|
337
|
+
offset: number | string,
|
|
338
|
+
...rest: TRest
|
|
339
|
+
];
|
|
340
|
+
/**
|
|
341
|
+
* @see https://redis.io/commands/bitfield
|
|
342
|
+
*/
|
|
343
|
+
declare class BitFieldCommand<T = Promise<number[]>> {
|
|
344
|
+
private client;
|
|
345
|
+
private opts?;
|
|
346
|
+
private execOperation;
|
|
347
|
+
private command;
|
|
348
|
+
constructor(args: [key: string], client: Requester, opts?: CommandOptions<number[], number[]> | undefined, execOperation?: (command: Command<number[], number[]>) => T);
|
|
349
|
+
private chain;
|
|
350
|
+
get(...args: SubCommandArgs): this;
|
|
351
|
+
set(...args: SubCommandArgs<[value: number]>): this;
|
|
352
|
+
incrby(...args: SubCommandArgs<[increment: number]>): this;
|
|
353
|
+
overflow(overflow: "WRAP" | "SAT" | "FAIL"): this;
|
|
354
|
+
exec(): T;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* @see https://redis.io/commands/bitop
|
|
359
|
+
*/
|
|
360
|
+
declare class BitOpCommand extends Command<number, number> {
|
|
361
|
+
constructor(cmd: [op: "and" | "or" | "xor", destinationKey: string, ...sourceKeys: string[]], opts?: CommandOptions<number, number>);
|
|
362
|
+
constructor(cmd: [op: "not", destinationKey: string, sourceKey: string], opts?: CommandOptions<number, number>);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* @see https://redis.io/commands/bitpos
|
|
367
|
+
*/
|
|
368
|
+
declare class BitPosCommand extends Command<number, number> {
|
|
369
|
+
constructor(cmd: [key: string, bit: 0 | 1, start?: number, end?: number], opts?: CommandOptions<number, number>);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* @see https://redis.io/commands/copy
|
|
374
|
+
*/
|
|
375
|
+
declare class CopyCommand extends Command<number, "COPIED" | "NOT_COPIED"> {
|
|
376
|
+
constructor([key, destinationKey, opts]: [key: string, destinationKey: string, opts?: {
|
|
377
|
+
replace: boolean;
|
|
378
|
+
}], commandOptions?: CommandOptions<number, "COPIED" | "NOT_COPIED">);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* @see https://redis.io/commands/dbsize
|
|
383
|
+
*/
|
|
384
|
+
declare class DBSizeCommand extends Command<number, number> {
|
|
385
|
+
constructor(opts?: CommandOptions<number, number>);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* @see https://redis.io/commands/decr
|
|
390
|
+
*/
|
|
391
|
+
declare class DecrCommand extends Command<number, number> {
|
|
392
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* @see https://redis.io/commands/decrby
|
|
397
|
+
*/
|
|
398
|
+
declare class DecrByCommand extends Command<number, number> {
|
|
399
|
+
constructor(cmd: [key: string, decrement: number], opts?: CommandOptions<number, number>);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* @see https://redis.io/commands/del
|
|
404
|
+
*/
|
|
405
|
+
declare class DelCommand extends Command<number, number> {
|
|
406
|
+
constructor(cmd: [...keys: string[]], opts?: CommandOptions<number, number>);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* @see https://redis.io/commands/echo
|
|
411
|
+
*/
|
|
412
|
+
declare class EchoCommand extends Command<string, string> {
|
|
413
|
+
constructor(cmd: [message: string], opts?: CommandOptions<string, string>);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* @see https://redis.io/commands/eval_ro
|
|
418
|
+
*/
|
|
419
|
+
declare class EvalROCommand<TArgs extends unknown[], TData> extends Command<unknown, TData> {
|
|
420
|
+
constructor([script, keys, args]: [script: string, keys: string[], args: TArgs], opts?: CommandOptions<unknown, TData>);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* @see https://redis.io/commands/eval
|
|
425
|
+
*/
|
|
426
|
+
declare class EvalCommand<TArgs extends unknown[], TData> extends Command<unknown, TData> {
|
|
427
|
+
constructor([script, keys, args]: [script: string, keys: string[], args: TArgs], opts?: CommandOptions<unknown, TData>);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* @see https://redis.io/commands/evalsha_ro
|
|
432
|
+
*/
|
|
433
|
+
declare class EvalshaROCommand<TArgs extends unknown[], TData> extends Command<unknown, TData> {
|
|
434
|
+
constructor([sha, keys, args]: [sha: string, keys: string[], args?: TArgs], opts?: CommandOptions<unknown, TData>);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* @see https://redis.io/commands/evalsha
|
|
439
|
+
*/
|
|
440
|
+
declare class EvalshaCommand<TArgs extends unknown[], TData> extends Command<unknown, TData> {
|
|
441
|
+
constructor([sha, keys, args]: [sha: string, keys: string[], args?: TArgs], opts?: CommandOptions<unknown, TData>);
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* @see https://redis.io/commands/exists
|
|
446
|
+
*/
|
|
447
|
+
declare class ExistsCommand extends Command<number, number> {
|
|
448
|
+
constructor(cmd: [...keys: string[]], opts?: CommandOptions<number, number>);
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* @see https://redis.io/commands/expireat
|
|
453
|
+
*/
|
|
454
|
+
declare class ExpireAtCommand extends Command<"0" | "1", 0 | 1> {
|
|
455
|
+
constructor(cmd: [key: string, unix: number, option?: ExpireOption], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* @see https://redis.io/commands/flushall
|
|
460
|
+
*/
|
|
461
|
+
declare class FlushAllCommand extends Command<"OK", "OK"> {
|
|
462
|
+
constructor(args?: [{
|
|
463
|
+
async?: boolean;
|
|
464
|
+
}], opts?: CommandOptions<"OK", "OK">);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* @see https://redis.io/commands/flushdb
|
|
469
|
+
*/
|
|
470
|
+
declare class FlushDBCommand extends Command<"OK", "OK"> {
|
|
471
|
+
constructor([opts]: [opts?: {
|
|
472
|
+
async?: boolean;
|
|
473
|
+
}], cmdOpts?: CommandOptions<"OK", "OK">);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* @see https://redis.io/commands/geodist
|
|
478
|
+
*/
|
|
479
|
+
declare class GeoDistCommand<TMemberType = string> extends Command<number | null, number | null> {
|
|
480
|
+
constructor([key, member1, member2, unit]: [
|
|
481
|
+
key: string,
|
|
482
|
+
member1: TMemberType,
|
|
483
|
+
member2: TMemberType,
|
|
484
|
+
unit?: "M" | "KM" | "FT" | "MI"
|
|
485
|
+
], opts?: CommandOptions<number | null, number | null>);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* @see https://redis.io/commands/geohash
|
|
490
|
+
*/
|
|
491
|
+
declare class GeoHashCommand<TMember = string> extends Command<(string | null)[], (string | null)[]> {
|
|
492
|
+
constructor(cmd: [string, ...TMember[]], opts?: CommandOptions<(string | null)[], (string | null)[]>);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
type Coordinates = {
|
|
496
|
+
lng: number;
|
|
497
|
+
lat: number;
|
|
498
|
+
};
|
|
499
|
+
/**
|
|
500
|
+
* @see https://redis.io/commands/geopos
|
|
501
|
+
*/
|
|
502
|
+
declare class GeoPosCommand<TMember = string> extends Command<(string | null)[][], Coordinates[]> {
|
|
503
|
+
constructor(cmd: [string, ...(TMember[] | TMember[])], opts?: CommandOptions<(string | null)[][], Coordinates[]>);
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
type RadiusOptions$1 = "M" | "KM" | "FT" | "MI";
|
|
507
|
+
type CenterPoint$1<TMemberType> = {
|
|
508
|
+
type: "FROMMEMBER" | "frommember";
|
|
509
|
+
member: TMemberType;
|
|
510
|
+
} | {
|
|
511
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
512
|
+
coordinate: {
|
|
513
|
+
lon: number;
|
|
514
|
+
lat: number;
|
|
515
|
+
};
|
|
516
|
+
};
|
|
517
|
+
type Shape$1 = {
|
|
518
|
+
type: "BYRADIUS" | "byradius";
|
|
519
|
+
radius: number;
|
|
520
|
+
radiusType: RadiusOptions$1;
|
|
521
|
+
} | {
|
|
522
|
+
type: "BYBOX" | "bybox";
|
|
523
|
+
rect: {
|
|
524
|
+
width: number;
|
|
525
|
+
height: number;
|
|
526
|
+
};
|
|
527
|
+
rectType: RadiusOptions$1;
|
|
528
|
+
};
|
|
529
|
+
type GeoSearchCommandOptions$1 = {
|
|
530
|
+
count?: {
|
|
531
|
+
limit: number;
|
|
532
|
+
any?: boolean;
|
|
533
|
+
};
|
|
534
|
+
withCoord?: boolean;
|
|
535
|
+
withDist?: boolean;
|
|
536
|
+
withHash?: boolean;
|
|
537
|
+
};
|
|
538
|
+
type OptionMappings = {
|
|
539
|
+
withHash: "hash";
|
|
540
|
+
withCoord: "coord";
|
|
541
|
+
withDist: "dist";
|
|
542
|
+
};
|
|
543
|
+
type GeoSearchOptions<TOptions> = {
|
|
544
|
+
[K in keyof TOptions as K extends keyof OptionMappings ? OptionMappings[K] : never]: K extends "withHash" ? string : K extends "withCoord" ? {
|
|
545
|
+
long: number;
|
|
546
|
+
lat: number;
|
|
547
|
+
} : K extends "withDist" ? number : never;
|
|
548
|
+
};
|
|
549
|
+
type GeoSearchResponse<TOptions, TMemberType> = ({
|
|
550
|
+
member: TMemberType;
|
|
551
|
+
} & GeoSearchOptions<TOptions>)[];
|
|
552
|
+
/**
|
|
553
|
+
* @see https://redis.io/commands/geosearch
|
|
554
|
+
*/
|
|
555
|
+
declare class GeoSearchCommand<TMemberType = string, TOptions extends GeoSearchCommandOptions$1 = GeoSearchCommandOptions$1> extends Command<any[] | any[][], GeoSearchResponse<TOptions, TMemberType>> {
|
|
556
|
+
constructor([key, centerPoint, shape, order, opts]: [
|
|
557
|
+
key: string,
|
|
558
|
+
centerPoint: CenterPoint$1<TMemberType>,
|
|
559
|
+
shape: Shape$1,
|
|
560
|
+
order: "ASC" | "DESC" | "asc" | "desc",
|
|
561
|
+
opts?: TOptions
|
|
562
|
+
], commandOptions?: CommandOptions<any[] | any[][], GeoSearchResponse<TOptions, TMemberType>>);
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
type RadiusOptions = "M" | "KM" | "FT" | "MI";
|
|
566
|
+
type CenterPoint<TMemberType> = {
|
|
567
|
+
type: "FROMMEMBER" | "frommember";
|
|
568
|
+
member: TMemberType;
|
|
569
|
+
} | {
|
|
570
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
571
|
+
coordinate: {
|
|
572
|
+
lon: number;
|
|
573
|
+
lat: number;
|
|
574
|
+
};
|
|
575
|
+
};
|
|
576
|
+
type Shape = {
|
|
577
|
+
type: "BYRADIUS" | "byradius";
|
|
578
|
+
radius: number;
|
|
579
|
+
radiusType: RadiusOptions;
|
|
580
|
+
} | {
|
|
581
|
+
type: "BYBOX" | "bybox";
|
|
582
|
+
rect: {
|
|
583
|
+
width: number;
|
|
584
|
+
height: number;
|
|
585
|
+
};
|
|
586
|
+
rectType: RadiusOptions;
|
|
587
|
+
};
|
|
588
|
+
type GeoSearchCommandOptions = {
|
|
589
|
+
count?: {
|
|
590
|
+
limit: number;
|
|
591
|
+
any?: boolean;
|
|
592
|
+
};
|
|
593
|
+
storeDist?: boolean;
|
|
594
|
+
};
|
|
595
|
+
/**
|
|
596
|
+
* @see https://redis.io/commands/geosearchstore
|
|
597
|
+
*/
|
|
598
|
+
declare class GeoSearchStoreCommand<TMemberType = string, TOptions extends GeoSearchCommandOptions = GeoSearchCommandOptions> extends Command<any[] | any[][], number> {
|
|
599
|
+
constructor([destination, key, centerPoint, shape, order, opts]: [
|
|
600
|
+
destination: string,
|
|
601
|
+
key: string,
|
|
602
|
+
centerPoint: CenterPoint<TMemberType>,
|
|
603
|
+
shape: Shape,
|
|
604
|
+
order: "ASC" | "DESC" | "asc" | "desc",
|
|
605
|
+
opts?: TOptions
|
|
606
|
+
], commandOptions?: CommandOptions<any[] | any[][], number>);
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* @see https://redis.io/commands/get
|
|
611
|
+
*/
|
|
612
|
+
declare class GetCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
613
|
+
constructor(cmd: [key: string], opts?: CommandOptions<unknown | null, TData | null>);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* @see https://redis.io/commands/getbit
|
|
618
|
+
*/
|
|
619
|
+
declare class GetBitCommand extends Command<"0" | "1", 0 | 1> {
|
|
620
|
+
constructor(cmd: [key: string, offset: number], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
/**
|
|
624
|
+
* @see https://redis.io/commands/getdel
|
|
625
|
+
*/
|
|
626
|
+
declare class GetDelCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
627
|
+
constructor(cmd: [key: string], opts?: CommandOptions<unknown | null, TData | null>);
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
type GetExCommandOptions = {
|
|
631
|
+
ex: number;
|
|
632
|
+
px?: never;
|
|
633
|
+
exat?: never;
|
|
634
|
+
pxat?: never;
|
|
635
|
+
persist?: never;
|
|
636
|
+
} | {
|
|
637
|
+
ex?: never;
|
|
638
|
+
px: number;
|
|
639
|
+
exat?: never;
|
|
640
|
+
pxat?: never;
|
|
641
|
+
persist?: never;
|
|
642
|
+
} | {
|
|
643
|
+
ex?: never;
|
|
644
|
+
px?: never;
|
|
645
|
+
exat: number;
|
|
646
|
+
pxat?: never;
|
|
647
|
+
persist?: never;
|
|
648
|
+
} | {
|
|
649
|
+
ex?: never;
|
|
650
|
+
px?: never;
|
|
651
|
+
exat?: never;
|
|
652
|
+
pxat: number;
|
|
653
|
+
persist?: never;
|
|
654
|
+
} | {
|
|
655
|
+
ex?: never;
|
|
656
|
+
px?: never;
|
|
657
|
+
exat?: never;
|
|
658
|
+
pxat?: never;
|
|
659
|
+
persist: true;
|
|
660
|
+
} | {
|
|
661
|
+
ex?: never;
|
|
662
|
+
px?: never;
|
|
663
|
+
exat?: never;
|
|
664
|
+
pxat?: never;
|
|
665
|
+
persist?: never;
|
|
666
|
+
};
|
|
667
|
+
/**
|
|
668
|
+
* @see https://redis.io/commands/getex
|
|
669
|
+
*/
|
|
670
|
+
declare class GetExCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
671
|
+
constructor([key, opts]: [key: string, opts?: GetExCommandOptions], cmdOpts?: CommandOptions<unknown | null, TData | null>);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
/**
|
|
675
|
+
* @see https://redis.io/commands/getrange
|
|
676
|
+
*/
|
|
677
|
+
declare class GetRangeCommand extends Command<string, string> {
|
|
678
|
+
constructor(cmd: [key: string, start: number, end: number], opts?: CommandOptions<string, string>);
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* @see https://redis.io/commands/getset
|
|
683
|
+
*/
|
|
684
|
+
declare class GetSetCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
685
|
+
constructor(cmd: [key: string, value: TData], opts?: CommandOptions<unknown | null, TData | null>);
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* @see https://redis.io/commands/hdel
|
|
690
|
+
*/
|
|
691
|
+
declare class HDelCommand extends Command<"0" | "1", 0 | 1> {
|
|
692
|
+
constructor(cmd: [key: string, ...fields: string[]], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
/**
|
|
696
|
+
* @see https://redis.io/commands/hexists
|
|
697
|
+
*/
|
|
698
|
+
declare class HExistsCommand extends Command<number, number> {
|
|
699
|
+
constructor(cmd: [key: string, field: string], opts?: CommandOptions<number, number>);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
declare class HExpireCommand extends Command<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]> {
|
|
703
|
+
constructor(cmd: [
|
|
704
|
+
key: string,
|
|
705
|
+
fields: (string | number) | (string | number)[],
|
|
706
|
+
seconds: number,
|
|
707
|
+
option?: ExpireOption
|
|
708
|
+
], opts?: CommandOptions<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]>);
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
declare class HExpireAtCommand extends Command<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]> {
|
|
712
|
+
constructor(cmd: [
|
|
713
|
+
key: string,
|
|
714
|
+
fields: (string | number) | (string | number)[],
|
|
715
|
+
timestamp: number,
|
|
716
|
+
option?: ExpireOption
|
|
717
|
+
], opts?: CommandOptions<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]>);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
declare class HExpireTimeCommand extends Command<number[], number[]> {
|
|
721
|
+
constructor(cmd: [key: string, fields: (string | number) | (string | number)[]], opts?: CommandOptions<number[], number[]>);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
declare class HPersistCommand extends Command<(-2 | -1 | 1)[], (-2 | -1 | 1)[]> {
|
|
725
|
+
constructor(cmd: [key: string, fields: (string | number) | (string | number)[]], opts?: CommandOptions<(-2 | -1 | 1)[], (-2 | -1 | 1)[]>);
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
declare class HPExpireCommand extends Command<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]> {
|
|
729
|
+
constructor(cmd: [
|
|
730
|
+
key: string,
|
|
731
|
+
fields: (string | number) | (string | number)[],
|
|
732
|
+
milliseconds: number,
|
|
733
|
+
option?: ExpireOption
|
|
734
|
+
], opts?: CommandOptions<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]>);
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
declare class HPExpireAtCommand extends Command<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]> {
|
|
738
|
+
constructor(cmd: [
|
|
739
|
+
key: string,
|
|
740
|
+
fields: (string | number) | (string | number)[],
|
|
741
|
+
timestamp: number,
|
|
742
|
+
option?: ExpireOption
|
|
743
|
+
], opts?: CommandOptions<(-2 | 0 | 1 | 2)[], (-2 | 0 | 1 | 2)[]>);
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
declare class HPExpireTimeCommand extends Command<number[], number[]> {
|
|
747
|
+
constructor(cmd: [key: string, fields: (string | number) | (string | number)[]], opts?: CommandOptions<number[], number[]>);
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
declare class HPTtlCommand extends Command<number[], number[]> {
|
|
751
|
+
constructor(cmd: [key: string, fields: (string | number) | (string | number)[]], opts?: CommandOptions<number[], number[]>);
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* @see https://redis.io/commands/hget
|
|
756
|
+
*/
|
|
757
|
+
declare class HGetCommand<TData> extends Command<unknown | null, TData | null> {
|
|
758
|
+
constructor(cmd: [key: string, field: string], opts?: CommandOptions<unknown | null, TData | null>);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/**
|
|
762
|
+
* @see https://redis.io/commands/hgetall
|
|
763
|
+
*/
|
|
764
|
+
declare class HGetAllCommand<TData extends Record<string, unknown>> extends Command<unknown | null, TData | null> {
|
|
765
|
+
constructor(cmd: [key: string], opts?: CommandOptions<unknown | null, TData | null>);
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
/**
|
|
769
|
+
* @see https://redis.io/commands/hincrby
|
|
770
|
+
*/
|
|
771
|
+
declare class HIncrByCommand extends Command<number, number> {
|
|
772
|
+
constructor(cmd: [key: string, field: string, increment: number], opts?: CommandOptions<number, number>);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* @see https://redis.io/commands/hincrbyfloat
|
|
777
|
+
*/
|
|
778
|
+
declare class HIncrByFloatCommand extends Command<number, number> {
|
|
779
|
+
constructor(cmd: [key: string, field: string, increment: number], opts?: CommandOptions<number, number>);
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* @see https://redis.io/commands/hkeys
|
|
784
|
+
*/
|
|
785
|
+
declare class HKeysCommand extends Command<string[], string[]> {
|
|
786
|
+
constructor([key]: [key: string], opts?: CommandOptions<string[], string[]>);
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* @see https://redis.io/commands/hlen
|
|
791
|
+
*/
|
|
792
|
+
declare class HLenCommand extends Command<number, number> {
|
|
793
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* hmget returns an object of all requested fields from a hash
|
|
798
|
+
* The field values are returned as an object like this:
|
|
799
|
+
* ```ts
|
|
800
|
+
* {[fieldName: string]: T | null}
|
|
801
|
+
* ```
|
|
802
|
+
*
|
|
803
|
+
* In case the hash does not exist or all fields are empty `null` is returned
|
|
804
|
+
*
|
|
805
|
+
* @see https://redis.io/commands/hmget
|
|
806
|
+
*/
|
|
807
|
+
declare class HMGetCommand<TData extends Record<string, unknown>> extends Command<(string | null)[], TData | null> {
|
|
808
|
+
constructor([key, ...fields]: [key: string, ...fields: string[]], opts?: CommandOptions<(string | null)[], TData | null>);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* @see https://redis.io/commands/hmset
|
|
813
|
+
*/
|
|
814
|
+
declare class HMSetCommand<TData> extends Command<"OK", "OK"> {
|
|
815
|
+
constructor([key, kv]: [key: string, kv: Record<string, TData>], opts?: CommandOptions<"OK", "OK">);
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* @see https://redis.io/commands/hrandfield
|
|
820
|
+
*/
|
|
821
|
+
declare class HRandFieldCommand<TData extends string | string[] | Record<string, unknown>> extends Command<string | string[], TData> {
|
|
822
|
+
constructor(cmd: [key: string], opts?: CommandOptions<string, string>);
|
|
823
|
+
constructor(cmd: [key: string, count: number], opts?: CommandOptions<string[], string[]>);
|
|
824
|
+
constructor(cmd: [key: string, count: number, withValues: boolean], opts?: CommandOptions<string[], Partial<TData>>);
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
type ScanCommandOptionsStandard = {
|
|
828
|
+
match?: string;
|
|
829
|
+
count?: number;
|
|
830
|
+
type?: string;
|
|
831
|
+
withType?: false;
|
|
832
|
+
};
|
|
833
|
+
type ScanCommandOptionsWithType = {
|
|
834
|
+
match?: string;
|
|
835
|
+
count?: number;
|
|
836
|
+
/**
|
|
837
|
+
* Includes types of each key in the result
|
|
838
|
+
*
|
|
839
|
+
* @example
|
|
840
|
+
* ```typescript
|
|
841
|
+
* await redis.scan("0", { withType: true })
|
|
842
|
+
* // ["0", [{ key: "key1", type: "string" }, { key: "key2", type: "list" }]]
|
|
843
|
+
* ```
|
|
844
|
+
*/
|
|
845
|
+
withType: true;
|
|
846
|
+
};
|
|
847
|
+
type ScanCommandOptions = ScanCommandOptionsStandard | ScanCommandOptionsWithType;
|
|
848
|
+
type ScanResultStandard = [string, string[]];
|
|
849
|
+
type ScanResultWithType = [string, {
|
|
850
|
+
key: string;
|
|
851
|
+
type: string;
|
|
852
|
+
}[]];
|
|
853
|
+
/**
|
|
854
|
+
* @see https://redis.io/commands/scan
|
|
855
|
+
*/
|
|
856
|
+
declare class ScanCommand<TData = ScanResultStandard> extends Command<[string, string[]], TData> {
|
|
857
|
+
constructor([cursor, opts]: [cursor: string | number, opts?: ScanCommandOptions], cmdOpts?: CommandOptions<[string, string[]], TData>);
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* @see https://redis.io/commands/hscan
|
|
862
|
+
*/
|
|
863
|
+
declare class HScanCommand extends Command<[
|
|
864
|
+
string,
|
|
865
|
+
(string | number)[]
|
|
866
|
+
], [
|
|
867
|
+
string,
|
|
868
|
+
(string | number)[]
|
|
869
|
+
]> {
|
|
870
|
+
constructor([key, cursor, cmdOpts]: [key: string, cursor: string | number, cmdOpts?: ScanCommandOptions], opts?: CommandOptions<[string, (string | number)[]], [string, (string | number)[]]>);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
/**
|
|
874
|
+
* @see https://redis.io/commands/hset
|
|
875
|
+
*/
|
|
876
|
+
declare class HSetCommand<TData> extends Command<number, number> {
|
|
877
|
+
constructor([key, kv]: [key: string, kv: Record<string, TData>], opts?: CommandOptions<number, number>);
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
/**
|
|
881
|
+
* @see https://redis.io/commands/hsetnx
|
|
882
|
+
*/
|
|
883
|
+
declare class HSetNXCommand<TData> extends Command<"0" | "1", 0 | 1> {
|
|
884
|
+
constructor(cmd: [key: string, field: string, value: TData], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
/**
|
|
888
|
+
* @see https://redis.io/commands/hstrlen
|
|
889
|
+
*/
|
|
890
|
+
declare class HStrLenCommand extends Command<number, number> {
|
|
891
|
+
constructor(cmd: [key: string, field: string], opts?: CommandOptions<number, number>);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
declare class HTtlCommand extends Command<number[], number[]> {
|
|
895
|
+
constructor(cmd: [key: string, fields: (string | number) | (string | number)[]], opts?: CommandOptions<number[], number[]>);
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
/**
|
|
899
|
+
* @see https://redis.io/commands/hvals
|
|
900
|
+
*/
|
|
901
|
+
declare class HValsCommand<TData extends unknown[]> extends Command<unknown[], TData> {
|
|
902
|
+
constructor(cmd: [key: string], opts?: CommandOptions<unknown[], TData>);
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
/**
|
|
906
|
+
* @see https://redis.io/commands/incr
|
|
907
|
+
*/
|
|
908
|
+
declare class IncrCommand extends Command<number, number> {
|
|
909
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* @see https://redis.io/commands/incrby
|
|
914
|
+
*/
|
|
915
|
+
declare class IncrByCommand extends Command<number, number> {
|
|
916
|
+
constructor(cmd: [key: string, value: number], opts?: CommandOptions<number, number>);
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
/**
|
|
920
|
+
* @see https://redis.io/commands/incrbyfloat
|
|
921
|
+
*/
|
|
922
|
+
declare class IncrByFloatCommand extends Command<number, number> {
|
|
923
|
+
constructor(cmd: [key: string, value: number], opts?: CommandOptions<number, number>);
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* @see https://redis.io/commands/json.arrappend
|
|
928
|
+
*/
|
|
929
|
+
declare class JsonArrAppendCommand<TData extends unknown[]> extends Command<(null | string)[], (null | number)[]> {
|
|
930
|
+
constructor(cmd: [key: string, path: string, ...values: TData], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
/**
|
|
934
|
+
* @see https://redis.io/commands/json.arrindex
|
|
935
|
+
*/
|
|
936
|
+
declare class JsonArrIndexCommand<TValue> extends Command<(null | string)[], (null | number)[]> {
|
|
937
|
+
constructor(cmd: [key: string, path: string, value: TValue, start?: number, stop?: number], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* @see https://redis.io/commands/json.arrinsert
|
|
942
|
+
*/
|
|
943
|
+
declare class JsonArrInsertCommand<TData extends unknown[]> extends Command<(null | string)[], (null | number)[]> {
|
|
944
|
+
constructor(cmd: [key: string, path: string, index: number, ...values: TData], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
/**
|
|
948
|
+
* @see https://redis.io/commands/json.arrlen
|
|
949
|
+
*/
|
|
950
|
+
declare class JsonArrLenCommand extends Command<(null | string)[], (null | number)[]> {
|
|
951
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* @see https://redis.io/commands/json.arrpop
|
|
956
|
+
*/
|
|
957
|
+
declare class JsonArrPopCommand<TData> extends Command<(null | string)[], (TData | null)[]> {
|
|
958
|
+
constructor(cmd: [key: string, path?: string, index?: number], opts?: CommandOptions<(null | string)[], (TData | null)[]>);
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* @see https://redis.io/commands/json.arrtrim
|
|
963
|
+
*/
|
|
964
|
+
declare class JsonArrTrimCommand extends Command<(null | string)[], (null | number)[]> {
|
|
965
|
+
constructor(cmd: [key: string, path?: string, start?: number, stop?: number], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
/**
|
|
969
|
+
* @see https://redis.io/commands/json.clear
|
|
970
|
+
*/
|
|
971
|
+
declare class JsonClearCommand extends Command<number, number> {
|
|
972
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<number, number>);
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
/**
|
|
976
|
+
* @see https://redis.io/commands/json.del
|
|
977
|
+
*/
|
|
978
|
+
declare class JsonDelCommand extends Command<number, number> {
|
|
979
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<number, number>);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
/**
|
|
983
|
+
* @see https://redis.io/commands/json.forget
|
|
984
|
+
*/
|
|
985
|
+
declare class JsonForgetCommand extends Command<number, number> {
|
|
986
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<number, number>);
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
/**
|
|
990
|
+
* @see https://redis.io/commands/json.get
|
|
991
|
+
*/
|
|
992
|
+
declare class JsonGetCommand<TData extends (unknown | Record<string, unknown>) | (unknown | Record<string, unknown>)[]> extends Command<TData | null, TData | null> {
|
|
993
|
+
constructor(cmd: [
|
|
994
|
+
key: string,
|
|
995
|
+
opts?: {
|
|
996
|
+
indent?: string;
|
|
997
|
+
newline?: string;
|
|
998
|
+
space?: string;
|
|
999
|
+
},
|
|
1000
|
+
...path: string[]
|
|
1001
|
+
] | [key: string, ...path: string[]], opts?: CommandOptions<TData | null, TData | null>);
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* @see https://redis.io/commands/json.merge
|
|
1006
|
+
*/
|
|
1007
|
+
declare class JsonMergeCommand<TData extends string | number | Record<string, unknown> | Array<unknown>> extends Command<"OK" | null, "OK" | null> {
|
|
1008
|
+
constructor(cmd: [key: string, path: string, value: TData], opts?: CommandOptions<"OK" | null, "OK" | null>);
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/**
|
|
1012
|
+
* @see https://redis.io/commands/json.mget
|
|
1013
|
+
*/
|
|
1014
|
+
declare class JsonMGetCommand<TData = unknown[]> extends Command<TData, TData> {
|
|
1015
|
+
constructor(cmd: [keys: string[], path: string], opts?: CommandOptions<TData, TData>);
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
/**
|
|
1019
|
+
* @see https://redis.io/commands/json.mset
|
|
1020
|
+
*/
|
|
1021
|
+
declare class JsonMSetCommand<TData extends number | string | boolean | Record<string, unknown> | (number | string | boolean | Record<string, unknown>)[]> extends Command<"OK" | null, "OK" | null> {
|
|
1022
|
+
constructor(cmd: {
|
|
1023
|
+
key: string;
|
|
1024
|
+
path: string;
|
|
1025
|
+
value: TData;
|
|
1026
|
+
}[], opts?: CommandOptions<"OK" | null, "OK" | null>);
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
/**
|
|
1030
|
+
* @see https://redis.io/commands/json.numincrby
|
|
1031
|
+
*/
|
|
1032
|
+
declare class JsonNumIncrByCommand extends Command<(null | string)[], (null | number)[]> {
|
|
1033
|
+
constructor(cmd: [key: string, path: string, value: number], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/**
|
|
1037
|
+
* @see https://redis.io/commands/json.nummultby
|
|
1038
|
+
*/
|
|
1039
|
+
declare class JsonNumMultByCommand extends Command<(null | string)[], (null | number)[]> {
|
|
1040
|
+
constructor(cmd: [key: string, path: string, value: number], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
/**
|
|
1044
|
+
* @see https://redis.io/commands/json.objkeys
|
|
1045
|
+
*/
|
|
1046
|
+
declare class JsonObjKeysCommand extends Command<(string[] | null)[], (string[] | null)[]> {
|
|
1047
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<(string[] | null)[], (string[] | null)[]>);
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* @see https://redis.io/commands/json.objlen
|
|
1052
|
+
*/
|
|
1053
|
+
declare class JsonObjLenCommand extends Command<(number | null)[], (number | null)[]> {
|
|
1054
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<(number | null)[], (number | null)[]>);
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* @see https://redis.io/commands/json.resp
|
|
1059
|
+
*/
|
|
1060
|
+
declare class JsonRespCommand<TData extends unknown[]> extends Command<TData, TData> {
|
|
1061
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<TData, TData>);
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
/**
|
|
1065
|
+
* @see https://redis.io/commands/json.set
|
|
1066
|
+
*/
|
|
1067
|
+
declare class JsonSetCommand<TData extends number | string | boolean | Record<string, unknown> | (number | string | boolean | Record<string, unknown>)[]> extends Command<"OK" | null, "OK" | null> {
|
|
1068
|
+
constructor(cmd: [
|
|
1069
|
+
key: string,
|
|
1070
|
+
path: string,
|
|
1071
|
+
value: TData,
|
|
1072
|
+
opts?: {
|
|
1073
|
+
nx: true;
|
|
1074
|
+
xx?: never;
|
|
1075
|
+
} | {
|
|
1076
|
+
nx?: never;
|
|
1077
|
+
xx: true;
|
|
1078
|
+
}
|
|
1079
|
+
], opts?: CommandOptions<"OK" | null, "OK" | null>);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
/**
|
|
1083
|
+
* @see https://redis.io/commands/json.strappend
|
|
1084
|
+
*/
|
|
1085
|
+
declare class JsonStrAppendCommand extends Command<(null | string)[], (null | number)[]> {
|
|
1086
|
+
constructor(cmd: [key: string, path: string, value: string], opts?: CommandOptions<(null | string)[], (null | number)[]>);
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
/**
|
|
1090
|
+
* @see https://redis.io/commands/json.strlen
|
|
1091
|
+
*/
|
|
1092
|
+
declare class JsonStrLenCommand extends Command<(number | null)[], (number | null)[]> {
|
|
1093
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<(number | null)[], (number | null)[]>);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
/**
|
|
1097
|
+
* @see https://redis.io/commands/json.toggle
|
|
1098
|
+
*/
|
|
1099
|
+
declare class JsonToggleCommand extends Command<number[], number[]> {
|
|
1100
|
+
constructor(cmd: [key: string, path: string], opts?: CommandOptions<number[], number[]>);
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
/**
|
|
1104
|
+
* @see https://redis.io/commands/json.type
|
|
1105
|
+
*/
|
|
1106
|
+
declare class JsonTypeCommand extends Command<string[], string[]> {
|
|
1107
|
+
constructor(cmd: [key: string, path?: string], opts?: CommandOptions<string[], string[]>);
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* @see https://redis.io/commands/keys
|
|
1112
|
+
*/
|
|
1113
|
+
declare class KeysCommand extends Command<string[], string[]> {
|
|
1114
|
+
constructor(cmd: [pattern: string], opts?: CommandOptions<string[], string[]>);
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
declare class LIndexCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
1118
|
+
constructor(cmd: [key: string, index: number], opts?: CommandOptions<unknown | null, TData | null>);
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
declare class LInsertCommand<TData = string> extends Command<number, number> {
|
|
1122
|
+
constructor(cmd: [key: string, direction: "before" | "after", pivot: TData, value: TData], opts?: CommandOptions<number, number>);
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* @see https://redis.io/commands/llen
|
|
1127
|
+
*/
|
|
1128
|
+
declare class LLenCommand extends Command<number, number> {
|
|
1129
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* @see https://redis.io/commands/lmove
|
|
1134
|
+
*/
|
|
1135
|
+
declare class LMoveCommand<TData = string> extends Command<TData, TData> {
|
|
1136
|
+
constructor(cmd: [
|
|
1137
|
+
source: string,
|
|
1138
|
+
destination: string,
|
|
1139
|
+
whereFrom: "left" | "right",
|
|
1140
|
+
whereTo: "left" | "right"
|
|
1141
|
+
], opts?: CommandOptions<TData, TData>);
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
/**
|
|
1145
|
+
* @see https://redis.io/commands/lpop
|
|
1146
|
+
*/
|
|
1147
|
+
declare class LPopCommand<TData = string> extends Command<unknown | null, TData | null> {
|
|
1148
|
+
constructor(cmd: [key: string, count?: number], opts?: CommandOptions<unknown | null, TData | null>);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
/**
|
|
1152
|
+
* @see https://redis.io/commands/lpush
|
|
1153
|
+
*/
|
|
1154
|
+
declare class LPushCommand<TData = string> extends Command<number, number> {
|
|
1155
|
+
constructor(cmd: [key: string, ...elements: TData[]], opts?: CommandOptions<number, number>);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
/**
|
|
1159
|
+
* @see https://redis.io/commands/lpushx
|
|
1160
|
+
*/
|
|
1161
|
+
declare class LPushXCommand<TData> extends Command<number, number> {
|
|
1162
|
+
constructor(cmd: [key: string, ...elements: TData[]], opts?: CommandOptions<number, number>);
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
declare class LRangeCommand<TData = string> extends Command<unknown[], TData[]> {
|
|
1166
|
+
constructor(cmd: [key: string, start: number, end: number], opts?: CommandOptions<unknown[], TData[]>);
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
declare class LRemCommand<TData> extends Command<number, number> {
|
|
1170
|
+
constructor(cmd: [key: string, count: number, value: TData], opts?: CommandOptions<number, number>);
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
declare class LSetCommand<TData = string> extends Command<"OK", "OK"> {
|
|
1174
|
+
constructor(cmd: [key: string, index: number, data: TData], opts?: CommandOptions<"OK", "OK">);
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
declare class LTrimCommand extends Command<"OK", "OK"> {
|
|
1178
|
+
constructor(cmd: [key: string, start: number, end: number], opts?: CommandOptions<"OK", "OK">);
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
/**
|
|
1182
|
+
* @see https://redis.io/commands/mget
|
|
1183
|
+
*/
|
|
1184
|
+
declare class MGetCommand<TData extends unknown[]> extends Command<(string | null)[], TData> {
|
|
1185
|
+
constructor(cmd: [string[]] | [...string[]], opts?: CommandOptions<(string | null)[], TData>);
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
/**
|
|
1189
|
+
* @see https://redis.io/commands/mset
|
|
1190
|
+
*/
|
|
1191
|
+
declare class MSetCommand<TData> extends Command<"OK", "OK"> {
|
|
1192
|
+
constructor([kv]: [kv: Record<string, TData>], opts?: CommandOptions<"OK", "OK">);
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
/**
|
|
1196
|
+
* @see https://redis.io/commands/msetnx
|
|
1197
|
+
*/
|
|
1198
|
+
declare class MSetNXCommand<TData = string> extends Command<number, number> {
|
|
1199
|
+
constructor([kv]: [kv: Record<string, TData>], opts?: CommandOptions<number, number>);
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
/**
|
|
1203
|
+
* @see https://redis.io/commands/persist
|
|
1204
|
+
*/
|
|
1205
|
+
declare class PersistCommand extends Command<"0" | "1", 0 | 1> {
|
|
1206
|
+
constructor(cmd: [key: string], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
/**
|
|
1210
|
+
* @see https://redis.io/commands/pexpire
|
|
1211
|
+
*/
|
|
1212
|
+
declare class PExpireCommand extends Command<"0" | "1", 0 | 1> {
|
|
1213
|
+
constructor(cmd: [key: string, milliseconds: number, option?: ExpireOption], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
/**
|
|
1217
|
+
* @see https://redis.io/commands/pexpireat
|
|
1218
|
+
*/
|
|
1219
|
+
declare class PExpireAtCommand extends Command<"0" | "1", 0 | 1> {
|
|
1220
|
+
constructor(cmd: [key: string, unix: number, option?: ExpireOption], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* @see https://redis.io/commands/ping
|
|
1225
|
+
*/
|
|
1226
|
+
declare class PingCommand extends Command<string | "PONG", string | "PONG"> {
|
|
1227
|
+
constructor(cmd?: [message?: string], opts?: CommandOptions<string | "PONG", string | "PONG">);
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
/**
|
|
1231
|
+
* @see https://redis.io/commands/psetex
|
|
1232
|
+
*/
|
|
1233
|
+
declare class PSetEXCommand<TData = string> extends Command<string, string> {
|
|
1234
|
+
constructor(cmd: [key: string, ttl: number, value: TData], opts?: CommandOptions<string, string>);
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
/**
|
|
1238
|
+
* @see https://redis.io/commands/pttl
|
|
1239
|
+
*/
|
|
1240
|
+
declare class PTtlCommand extends Command<number, number> {
|
|
1241
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* @see https://redis.io/commands/publish
|
|
1246
|
+
*/
|
|
1247
|
+
declare class PublishCommand<TMessage = unknown> extends Command<number, number> {
|
|
1248
|
+
constructor(cmd: [channel: string, message: TMessage], opts?: CommandOptions<number, number>);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
/**
|
|
1252
|
+
* @see https://redis.io/commands/randomkey
|
|
1253
|
+
*/
|
|
1254
|
+
declare class RandomKeyCommand extends Command<string | null, string | null> {
|
|
1255
|
+
constructor(opts?: CommandOptions<string | null, string | null>);
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
/**
|
|
1259
|
+
* @see https://redis.io/commands/rename
|
|
1260
|
+
*/
|
|
1261
|
+
declare class RenameCommand extends Command<"OK", "OK"> {
|
|
1262
|
+
constructor(cmd: [source: string, destination: string], opts?: CommandOptions<"OK", "OK">);
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
/**
|
|
1266
|
+
* @see https://redis.io/commands/renamenx
|
|
1267
|
+
*/
|
|
1268
|
+
declare class RenameNXCommand extends Command<"0" | "1", 0 | 1> {
|
|
1269
|
+
constructor(cmd: [source: string, destination: string], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
/**
|
|
1273
|
+
* @see https://redis.io/commands/rpop
|
|
1274
|
+
*/
|
|
1275
|
+
declare class RPopCommand<TData extends unknown | unknown[] = string> extends Command<unknown | null, TData | null> {
|
|
1276
|
+
constructor(cmd: [key: string, count?: number], opts?: CommandOptions<unknown | null, TData | null>);
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1280
|
+
* @see https://redis.io/commands/rpush
|
|
1281
|
+
*/
|
|
1282
|
+
declare class RPushCommand<TData = string> extends Command<number, number> {
|
|
1283
|
+
constructor(cmd: [key: string, ...elements: TData[]], opts?: CommandOptions<number, number>);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
/**
|
|
1287
|
+
* @see https://redis.io/commands/rpushx
|
|
1288
|
+
*/
|
|
1289
|
+
declare class RPushXCommand<TData = string> extends Command<number, number> {
|
|
1290
|
+
constructor(cmd: [key: string, ...elements: TData[]], opts?: CommandOptions<number, number>);
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
/**
|
|
1294
|
+
* @see https://redis.io/commands/sadd
|
|
1295
|
+
*/
|
|
1296
|
+
declare class SAddCommand<TData = string> extends Command<number, number> {
|
|
1297
|
+
constructor(cmd: [key: string, member: TData, ...members: TData[]], opts?: CommandOptions<number, number>);
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
/**
|
|
1301
|
+
* @see https://redis.io/commands/scard
|
|
1302
|
+
*/
|
|
1303
|
+
declare class SCardCommand extends Command<number, number> {
|
|
1304
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
/**
|
|
1308
|
+
* @see https://redis.io/commands/script-exists
|
|
1309
|
+
*/
|
|
1310
|
+
declare class ScriptExistsCommand<T extends string[]> extends Command<string[], number[]> {
|
|
1311
|
+
constructor(hashes: T, opts?: CommandOptions<string[], number[]>);
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* @see https://redis.io/commands/script-load
|
|
1316
|
+
*/
|
|
1317
|
+
declare class ScriptLoadCommand extends Command<string, string> {
|
|
1318
|
+
constructor(args: [script: string], opts?: CommandOptions<string, string>);
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
/**
|
|
1322
|
+
* @see https://redis.io/commands/sdiff
|
|
1323
|
+
*/
|
|
1324
|
+
declare class SDiffCommand<TData> extends Command<unknown[], TData[]> {
|
|
1325
|
+
constructor(cmd: [key: string, ...keys: string[]], opts?: CommandOptions<unknown[], TData[]>);
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
/**
|
|
1329
|
+
* @see https://redis.io/commands/sdiffstore
|
|
1330
|
+
*/
|
|
1331
|
+
declare class SDiffStoreCommand extends Command<number, number> {
|
|
1332
|
+
constructor(cmd: [destination: string, ...keys: string[]], opts?: CommandOptions<number, number>);
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
type SetCommandOptions = {
|
|
1336
|
+
get?: boolean;
|
|
1337
|
+
} & ({
|
|
1338
|
+
ex: number;
|
|
1339
|
+
px?: never;
|
|
1340
|
+
exat?: never;
|
|
1341
|
+
pxat?: never;
|
|
1342
|
+
keepTtl?: never;
|
|
1343
|
+
} | {
|
|
1344
|
+
ex?: never;
|
|
1345
|
+
px: number;
|
|
1346
|
+
exat?: never;
|
|
1347
|
+
pxat?: never;
|
|
1348
|
+
keepTtl?: never;
|
|
1349
|
+
} | {
|
|
1350
|
+
ex?: never;
|
|
1351
|
+
px?: never;
|
|
1352
|
+
exat: number;
|
|
1353
|
+
pxat?: never;
|
|
1354
|
+
keepTtl?: never;
|
|
1355
|
+
} | {
|
|
1356
|
+
ex?: never;
|
|
1357
|
+
px?: never;
|
|
1358
|
+
exat?: never;
|
|
1359
|
+
pxat: number;
|
|
1360
|
+
keepTtl?: never;
|
|
1361
|
+
} | {
|
|
1362
|
+
ex?: never;
|
|
1363
|
+
px?: never;
|
|
1364
|
+
exat?: never;
|
|
1365
|
+
pxat?: never;
|
|
1366
|
+
keepTtl: true;
|
|
1367
|
+
} | {
|
|
1368
|
+
ex?: never;
|
|
1369
|
+
px?: never;
|
|
1370
|
+
exat?: never;
|
|
1371
|
+
pxat?: never;
|
|
1372
|
+
keepTtl?: never;
|
|
1373
|
+
}) & ({
|
|
1374
|
+
nx: true;
|
|
1375
|
+
xx?: never;
|
|
1376
|
+
} | {
|
|
1377
|
+
xx: true;
|
|
1378
|
+
nx?: never;
|
|
1379
|
+
} | {
|
|
1380
|
+
xx?: never;
|
|
1381
|
+
nx?: never;
|
|
1382
|
+
});
|
|
1383
|
+
/**
|
|
1384
|
+
* @see https://redis.io/commands/set
|
|
1385
|
+
*/
|
|
1386
|
+
declare class SetCommand<TData, TResult = TData | "OK" | null> extends Command<TResult, TData | "OK" | null> {
|
|
1387
|
+
constructor([key, value, opts]: [key: string, value: TData, opts?: SetCommandOptions], cmdOpts?: CommandOptions<TResult, TData>);
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* @see https://redis.io/commands/setbit
|
|
1392
|
+
*/
|
|
1393
|
+
declare class SetBitCommand extends Command<"0" | "1", 0 | 1> {
|
|
1394
|
+
constructor(cmd: [key: string, offset: number, value: 0 | 1], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1397
|
+
/**
|
|
1398
|
+
* @see https://redis.io/commands/setex
|
|
1399
|
+
*/
|
|
1400
|
+
declare class SetExCommand<TData = string> extends Command<"OK", "OK"> {
|
|
1401
|
+
constructor(cmd: [key: string, ttl: number, value: TData], opts?: CommandOptions<"OK", "OK">);
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
/**
|
|
1405
|
+
* @see https://redis.io/commands/setnx
|
|
1406
|
+
*/
|
|
1407
|
+
declare class SetNxCommand<TData = string> extends Command<number, number> {
|
|
1408
|
+
constructor(cmd: [key: string, value: TData], opts?: CommandOptions<number, number>);
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
/**
|
|
1412
|
+
* @see https://redis.io/commands/setrange
|
|
1413
|
+
*/
|
|
1414
|
+
declare class SetRangeCommand extends Command<number, number> {
|
|
1415
|
+
constructor(cmd: [key: string, offset: number, value: string], opts?: CommandOptions<number, number>);
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
/**
|
|
1419
|
+
* @see https://redis.io/commands/sinter
|
|
1420
|
+
*/
|
|
1421
|
+
declare class SInterCommand<TData = string> extends Command<unknown[], TData[]> {
|
|
1422
|
+
constructor(cmd: [key: string, ...keys: string[]], opts?: CommandOptions<unknown[], TData[]>);
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
/**
|
|
1426
|
+
* @see https://redis.io/commands/sinterstore
|
|
1427
|
+
*/
|
|
1428
|
+
declare class SInterStoreCommand extends Command<number, number> {
|
|
1429
|
+
constructor(cmd: [destination: string, key: string, ...keys: string[]], opts?: CommandOptions<number, number>);
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
/**
|
|
1433
|
+
* @see https://redis.io/commands/sismember
|
|
1434
|
+
*/
|
|
1435
|
+
declare class SIsMemberCommand<TData = string> extends Command<"0" | "1", 0 | 1> {
|
|
1436
|
+
constructor(cmd: [key: string, member: TData], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
/**
|
|
1440
|
+
* @see https://redis.io/commands/smembers
|
|
1441
|
+
*/
|
|
1442
|
+
declare class SMembersCommand<TData extends unknown[] = string[]> extends Command<unknown[], TData> {
|
|
1443
|
+
constructor(cmd: [key: string], opts?: CommandOptions<unknown[], TData>);
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* @see https://redis.io/commands/smismember
|
|
1448
|
+
*/
|
|
1449
|
+
declare class SMIsMemberCommand<TMembers extends unknown[]> extends Command<("0" | "1")[], (0 | 1)[]> {
|
|
1450
|
+
constructor(cmd: [key: string, members: TMembers], opts?: CommandOptions<("0" | "1")[], (0 | 1)[]>);
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
/**
|
|
1454
|
+
* @see https://redis.io/commands/smove
|
|
1455
|
+
*/
|
|
1456
|
+
declare class SMoveCommand<TData> extends Command<"0" | "1", 0 | 1> {
|
|
1457
|
+
constructor(cmd: [source: string, destination: string, member: TData], opts?: CommandOptions<"0" | "1", 0 | 1>);
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
/**
|
|
1461
|
+
* @see https://redis.io/commands/spop
|
|
1462
|
+
*/
|
|
1463
|
+
declare class SPopCommand<TData> extends Command<string | string[] | null, TData | null> {
|
|
1464
|
+
constructor([key, count]: [key: string, count?: number], opts?: CommandOptions<string | string[] | null, TData | null>);
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
/**
|
|
1468
|
+
* @see https://redis.io/commands/srandmember
|
|
1469
|
+
*/
|
|
1470
|
+
declare class SRandMemberCommand<TData> extends Command<string | null, TData | null> {
|
|
1471
|
+
constructor([key, count]: [key: string, count?: number], opts?: CommandOptions<string | null, TData | null>);
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
/**
|
|
1475
|
+
* @see https://redis.io/commands/srem
|
|
1476
|
+
*/
|
|
1477
|
+
declare class SRemCommand<TData = string> extends Command<number, number> {
|
|
1478
|
+
constructor(cmd: [key: string, ...members: TData[]], opts?: CommandOptions<number, number>);
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
/**
|
|
1482
|
+
* @see https://redis.io/commands/sscan
|
|
1483
|
+
*/
|
|
1484
|
+
declare class SScanCommand extends Command<[
|
|
1485
|
+
string,
|
|
1486
|
+
(string | number)[]
|
|
1487
|
+
], [
|
|
1488
|
+
string,
|
|
1489
|
+
(string | number)[]
|
|
1490
|
+
]> {
|
|
1491
|
+
constructor([key, cursor, opts]: [key: string, cursor: string | number, opts?: ScanCommandOptions], cmdOpts?: CommandOptions<[string, (string | number)[]], [string, (string | number)[]]>);
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
/**
|
|
1495
|
+
* @see https://redis.io/commands/strlen
|
|
1496
|
+
*/
|
|
1497
|
+
declare class StrLenCommand extends Command<number, number> {
|
|
1498
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* @see https://redis.io/commands/sunion
|
|
1503
|
+
*/
|
|
1504
|
+
declare class SUnionCommand<TData> extends Command<string[], TData[]> {
|
|
1505
|
+
constructor(cmd: [key: string, ...keys: string[]], opts?: CommandOptions<string[], TData[]>);
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
/**
|
|
1509
|
+
* @see https://redis.io/commands/sunionstore
|
|
1510
|
+
*/
|
|
1511
|
+
declare class SUnionStoreCommand extends Command<number, number> {
|
|
1512
|
+
constructor(cmd: [destination: string, key: string, ...keys: string[]], opts?: CommandOptions<number, number>);
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
/**
|
|
1516
|
+
* @see https://redis.io/commands/time
|
|
1517
|
+
*/
|
|
1518
|
+
declare class TimeCommand extends Command<[number, number], [number, number]> {
|
|
1519
|
+
constructor(opts?: CommandOptions<[number, number], [number, number]>);
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
/**
|
|
1523
|
+
* @see https://redis.io/commands/touch
|
|
1524
|
+
*/
|
|
1525
|
+
declare class TouchCommand extends Command<number, number> {
|
|
1526
|
+
constructor(cmd: [...keys: string[]], opts?: CommandOptions<number, number>);
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
/**
|
|
1530
|
+
* @see https://redis.io/commands/ttl
|
|
1531
|
+
*/
|
|
1532
|
+
declare class TtlCommand extends Command<number, number> {
|
|
1533
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* @see https://redis.io/commands/unlink
|
|
1538
|
+
*/
|
|
1539
|
+
declare class UnlinkCommand extends Command<number, number> {
|
|
1540
|
+
constructor(cmd: [...keys: string[]], opts?: CommandOptions<number, number>);
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
type XAddCommandOptions = {
|
|
1544
|
+
nomkStream?: boolean;
|
|
1545
|
+
trim?: ({
|
|
1546
|
+
type: "MAXLEN" | "maxlen";
|
|
1547
|
+
threshold: number;
|
|
1548
|
+
} | {
|
|
1549
|
+
type: "MINID" | "minid";
|
|
1550
|
+
threshold: string;
|
|
1551
|
+
}) & ({
|
|
1552
|
+
comparison: "~";
|
|
1553
|
+
limit?: number;
|
|
1554
|
+
} | {
|
|
1555
|
+
comparison: "=";
|
|
1556
|
+
limit?: never;
|
|
1557
|
+
});
|
|
1558
|
+
};
|
|
1559
|
+
/**
|
|
1560
|
+
* @see https://redis.io/commands/xadd
|
|
1561
|
+
*/
|
|
1562
|
+
declare class XAddCommand extends Command<string, string> {
|
|
1563
|
+
constructor([key, id, entries, opts]: [
|
|
1564
|
+
key: string,
|
|
1565
|
+
id: "*" | string,
|
|
1566
|
+
entries: Record<string, unknown>,
|
|
1567
|
+
opts?: XAddCommandOptions
|
|
1568
|
+
], commandOptions?: CommandOptions<string, string>);
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
declare class XRangeCommand<TData extends Record<string, Record<string, unknown>>> extends Command<string[][], TData> {
|
|
1572
|
+
constructor([key, start, end, count]: [key: string, start: string, end: string, count?: number], opts?: CommandOptions<unknown[], TData[]>);
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
type XReadCommandOptions = [
|
|
1576
|
+
key: string | string[],
|
|
1577
|
+
id: string | string[],
|
|
1578
|
+
options?: {
|
|
1579
|
+
count?: number;
|
|
1580
|
+
/**
|
|
1581
|
+
* @deprecated block is not yet supported in Upstash Redis
|
|
1582
|
+
*/
|
|
1583
|
+
blockMS?: number;
|
|
1584
|
+
}
|
|
1585
|
+
];
|
|
1586
|
+
type XReadOptions = XReadCommandOptions extends [infer K, infer I, ...any[]] ? K extends string ? I extends string ? [
|
|
1587
|
+
key: string,
|
|
1588
|
+
id: string,
|
|
1589
|
+
options?: {
|
|
1590
|
+
count?: number;
|
|
1591
|
+
/**
|
|
1592
|
+
* @deprecated block is not yet supported in Upstash Redis
|
|
1593
|
+
*/
|
|
1594
|
+
blockMS?: number;
|
|
1595
|
+
}
|
|
1596
|
+
] : never : K extends string[] ? I extends string[] ? [
|
|
1597
|
+
key: string[],
|
|
1598
|
+
id: string[],
|
|
1599
|
+
options?: {
|
|
1600
|
+
count?: number;
|
|
1601
|
+
/**
|
|
1602
|
+
* @deprecated block is not yet supported in Upstash Redis
|
|
1603
|
+
*/
|
|
1604
|
+
blockMS?: number;
|
|
1605
|
+
}
|
|
1606
|
+
] : never : never : never;
|
|
1607
|
+
/**
|
|
1608
|
+
* @see https://redis.io/commands/xread
|
|
1609
|
+
*/
|
|
1610
|
+
declare class XReadCommand extends Command<number, unknown[]> {
|
|
1611
|
+
constructor([key, id, options]: XReadOptions, opts?: CommandOptions<number, unknown[]>);
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1614
|
+
type Options = {
|
|
1615
|
+
count?: number;
|
|
1616
|
+
/**
|
|
1617
|
+
* @deprecated block is not yet supported in Upstash Redis
|
|
1618
|
+
*/
|
|
1619
|
+
blockMS?: number;
|
|
1620
|
+
NOACK?: boolean;
|
|
1621
|
+
};
|
|
1622
|
+
type XReadGroupCommandOptions = [
|
|
1623
|
+
group: string,
|
|
1624
|
+
consumer: string,
|
|
1625
|
+
key: string | string[],
|
|
1626
|
+
id: string | string[],
|
|
1627
|
+
options?: Options
|
|
1628
|
+
];
|
|
1629
|
+
type XReadGroupOptions = XReadGroupCommandOptions extends [
|
|
1630
|
+
string,
|
|
1631
|
+
string,
|
|
1632
|
+
infer TKey,
|
|
1633
|
+
infer TId,
|
|
1634
|
+
...any[]
|
|
1635
|
+
] ? TKey extends string ? TId extends string ? [group: string, consumer: string, key: string, id: string, options?: Options] : never : TKey extends string[] ? TId extends string[] ? [group: string, consumer: string, key: string[], id: string[], options?: Options] : never : never : never;
|
|
1636
|
+
/**
|
|
1637
|
+
* @see https://redis.io/commands/xreadgroup
|
|
1638
|
+
*/
|
|
1639
|
+
declare class XReadGroupCommand extends Command<number, unknown[]> {
|
|
1640
|
+
constructor([group, consumer, key, id, options]: XReadGroupOptions, opts?: CommandOptions<number, unknown[]>);
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
type NXAndXXOptions = {
|
|
1644
|
+
nx: true;
|
|
1645
|
+
xx?: never;
|
|
1646
|
+
} | {
|
|
1647
|
+
nx?: never;
|
|
1648
|
+
xx: true;
|
|
1649
|
+
} | {
|
|
1650
|
+
nx?: never;
|
|
1651
|
+
xx?: never;
|
|
1652
|
+
};
|
|
1653
|
+
type LTAndGTOptions = {
|
|
1654
|
+
lt: true;
|
|
1655
|
+
gt?: never;
|
|
1656
|
+
} | {
|
|
1657
|
+
lt?: never;
|
|
1658
|
+
gt: true;
|
|
1659
|
+
} | {
|
|
1660
|
+
lt?: never;
|
|
1661
|
+
gt?: never;
|
|
1662
|
+
};
|
|
1663
|
+
type ZAddCommandOptions = NXAndXXOptions & LTAndGTOptions & {
|
|
1664
|
+
ch?: true;
|
|
1665
|
+
} & {
|
|
1666
|
+
incr?: true;
|
|
1667
|
+
};
|
|
1668
|
+
type Arg2<TData> = ScoreMember<TData> | ZAddCommandOptions;
|
|
1669
|
+
type ScoreMember<TData> = {
|
|
1670
|
+
score: number;
|
|
1671
|
+
member: TData;
|
|
1672
|
+
};
|
|
1673
|
+
/**
|
|
1674
|
+
* @see https://redis.io/commands/zadd
|
|
1675
|
+
*/
|
|
1676
|
+
declare class ZAddCommand<TData = string> extends Command<number | null, number | null> {
|
|
1677
|
+
constructor([key, arg1, ...arg2]: [string, Arg2<TData>, ...ScoreMember<TData>[]], opts?: CommandOptions<number | null, number | null>);
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
/**
|
|
1681
|
+
* @see https://redis.io/commands/zcard
|
|
1682
|
+
*/
|
|
1683
|
+
declare class ZCardCommand extends Command<number, number> {
|
|
1684
|
+
constructor(cmd: [key: string], opts?: CommandOptions<number, number>);
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
/**
|
|
1688
|
+
* @see https://redis.io/commands/zcount
|
|
1689
|
+
*/
|
|
1690
|
+
declare class ZCountCommand extends Command<number, number> {
|
|
1691
|
+
constructor(cmd: [key: string, min: number | string, max: number | string], opts?: CommandOptions<number, number>);
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
/**
|
|
1695
|
+
* @see https://redis.io/commands/zincrby
|
|
1696
|
+
*/
|
|
1697
|
+
declare class ZIncrByCommand<TData> extends Command<number, number> {
|
|
1698
|
+
constructor(cmd: [key: string, increment: number, member: TData], opts?: CommandOptions<number, number>);
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
/**
|
|
1702
|
+
* @see https://redis.io/commands/zlexcount
|
|
1703
|
+
*/
|
|
1704
|
+
declare class ZLexCountCommand extends Command<number, number> {
|
|
1705
|
+
constructor(cmd: [key: string, min: string, max: string], opts?: CommandOptions<number, number>);
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
/**
|
|
1709
|
+
* @see https://redis.io/commands/zpopmax
|
|
1710
|
+
*/
|
|
1711
|
+
declare class ZPopMaxCommand<TData> extends Command<string[], TData[]> {
|
|
1712
|
+
constructor([key, count]: [key: string, count?: number], opts?: CommandOptions<string[], TData[]>);
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
/**
|
|
1716
|
+
* @see https://redis.io/commands/zpopmin
|
|
1717
|
+
*/
|
|
1718
|
+
declare class ZPopMinCommand<TData> extends Command<string[], TData[]> {
|
|
1719
|
+
constructor([key, count]: [key: string, count?: number], opts?: CommandOptions<string[], TData[]>);
|
|
1720
|
+
}
|
|
1721
|
+
|
|
1722
|
+
type ZRangeCommandOptions = {
|
|
1723
|
+
withScores?: boolean;
|
|
1724
|
+
rev?: boolean;
|
|
1725
|
+
} & ({
|
|
1726
|
+
byScore: true;
|
|
1727
|
+
byLex?: never;
|
|
1728
|
+
} | {
|
|
1729
|
+
byScore?: never;
|
|
1730
|
+
byLex: true;
|
|
1731
|
+
} | {
|
|
1732
|
+
byScore?: never;
|
|
1733
|
+
byLex?: never;
|
|
1734
|
+
}) & ({
|
|
1735
|
+
offset: number;
|
|
1736
|
+
count: number;
|
|
1737
|
+
} | {
|
|
1738
|
+
offset?: never;
|
|
1739
|
+
count?: never;
|
|
1740
|
+
});
|
|
1741
|
+
/**
|
|
1742
|
+
* @see https://redis.io/commands/zrange
|
|
1743
|
+
*/
|
|
1744
|
+
declare class ZRangeCommand<TData extends unknown[]> extends Command<string[], TData> {
|
|
1745
|
+
constructor(cmd: [key: string, min: number, max: number, opts?: ZRangeCommandOptions], cmdOpts?: CommandOptions<string[], TData>);
|
|
1746
|
+
constructor(cmd: [
|
|
1747
|
+
key: string,
|
|
1748
|
+
min: `(${string}` | `[${string}` | "-" | "+",
|
|
1749
|
+
max: `(${string}` | `[${string}` | "-" | "+",
|
|
1750
|
+
opts: {
|
|
1751
|
+
byLex: true;
|
|
1752
|
+
} & ZRangeCommandOptions
|
|
1753
|
+
], cmdOpts?: CommandOptions<string[], TData>);
|
|
1754
|
+
constructor(cmd: [
|
|
1755
|
+
key: string,
|
|
1756
|
+
min: number | `(${number}` | "-inf" | "+inf",
|
|
1757
|
+
max: number | `(${number}` | "-inf" | "+inf",
|
|
1758
|
+
opts: {
|
|
1759
|
+
byScore: true;
|
|
1760
|
+
} & ZRangeCommandOptions
|
|
1761
|
+
], cmdOpts?: CommandOptions<string[], TData>);
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
/**
|
|
1765
|
+
* @see https://redis.io/commands/zrank
|
|
1766
|
+
*/
|
|
1767
|
+
declare class ZRankCommand<TData> extends Command<number | null, number | null> {
|
|
1768
|
+
constructor(cmd: [key: string, member: TData], opts?: CommandOptions<number | null, number | null>);
|
|
1769
|
+
}
|
|
1770
|
+
|
|
1771
|
+
/**
|
|
1772
|
+
* @see https://redis.io/commands/zrem
|
|
1773
|
+
*/
|
|
1774
|
+
declare class ZRemCommand<TData = string> extends Command<number, number> {
|
|
1775
|
+
constructor(cmd: [key: string, ...members: TData[]], opts?: CommandOptions<number, number>);
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
/**
|
|
1779
|
+
* @see https://redis.io/commands/zremrangebylex
|
|
1780
|
+
*/
|
|
1781
|
+
declare class ZRemRangeByLexCommand extends Command<number, number> {
|
|
1782
|
+
constructor(cmd: [key: string, min: string, max: string], opts?: CommandOptions<number, number>);
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
/**
|
|
1786
|
+
* @see https://redis.io/commands/zremrangebyrank
|
|
1787
|
+
*/
|
|
1788
|
+
declare class ZRemRangeByRankCommand extends Command<number, number> {
|
|
1789
|
+
constructor(cmd: [key: string, start: number, stop: number], opts?: CommandOptions<number, number>);
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
/**
|
|
1793
|
+
* @see https://redis.io/commands/zremrangebyscore
|
|
1794
|
+
*/
|
|
1795
|
+
declare class ZRemRangeByScoreCommand extends Command<number, number> {
|
|
1796
|
+
constructor(cmd: [
|
|
1797
|
+
key: string,
|
|
1798
|
+
min: number | `(${number}` | "-inf" | "+inf",
|
|
1799
|
+
max: number | `(${number}` | "-inf" | "+inf"
|
|
1800
|
+
], opts?: CommandOptions<number, number>);
|
|
1801
|
+
}
|
|
1802
|
+
|
|
1803
|
+
/**
|
|
1804
|
+
* @see https://redis.io/commands/zrevrank
|
|
1805
|
+
*/
|
|
1806
|
+
declare class ZRevRankCommand<TData> extends Command<number | null, number | null> {
|
|
1807
|
+
constructor(cmd: [key: string, member: TData], opts?: CommandOptions<number | null, number | null>);
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
/**
|
|
1811
|
+
* @see https://redis.io/commands/zscan
|
|
1812
|
+
*/
|
|
1813
|
+
declare class ZScanCommand extends Command<[
|
|
1814
|
+
string,
|
|
1815
|
+
(string | number)[]
|
|
1816
|
+
], [
|
|
1817
|
+
string,
|
|
1818
|
+
(string | number)[]
|
|
1819
|
+
]> {
|
|
1820
|
+
constructor([key, cursor, opts]: [key: string, cursor: string | number, opts?: ScanCommandOptions], cmdOpts?: CommandOptions<[string, (string | number)[]], [string, (string | number)[]]>);
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
/**
|
|
1824
|
+
* @see https://redis.io/commands/zscore
|
|
1825
|
+
*/
|
|
1826
|
+
declare class ZScoreCommand<TData> extends Command<string | null, number | null> {
|
|
1827
|
+
constructor(cmd: [key: string, member: TData], opts?: CommandOptions<string | null, number | null>);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
type BaseMessageData<TMessage> = {
|
|
1831
|
+
channel: string;
|
|
1832
|
+
message: TMessage;
|
|
1833
|
+
};
|
|
1834
|
+
type PatternMessageData<TMessage> = BaseMessageData<TMessage> & {
|
|
1835
|
+
pattern: string;
|
|
1836
|
+
};
|
|
1837
|
+
type SubscriptionCountEvent = number;
|
|
1838
|
+
type MessageEventMap<TMessage> = {
|
|
1839
|
+
message: BaseMessageData<TMessage>;
|
|
1840
|
+
subscribe: SubscriptionCountEvent;
|
|
1841
|
+
unsubscribe: SubscriptionCountEvent;
|
|
1842
|
+
pmessage: PatternMessageData<TMessage>;
|
|
1843
|
+
psubscribe: SubscriptionCountEvent;
|
|
1844
|
+
punsubscribe: SubscriptionCountEvent;
|
|
1845
|
+
error: Error;
|
|
1846
|
+
[key: `message:${string}`]: BaseMessageData<TMessage>;
|
|
1847
|
+
[key: `pmessage:${string}`]: PatternMessageData<TMessage>;
|
|
1848
|
+
};
|
|
1849
|
+
type EventType = keyof MessageEventMap<any>;
|
|
1850
|
+
type Listener<TMessage, T extends EventType> = (event: MessageEventMap<TMessage>[T]) => void;
|
|
1851
|
+
declare class Subscriber<TMessage = any> extends EventTarget {
|
|
1852
|
+
private subscriptions;
|
|
1853
|
+
private client;
|
|
1854
|
+
private listeners;
|
|
1855
|
+
private opts?;
|
|
1856
|
+
constructor(client: Requester, channels: string[], isPattern?: boolean, opts?: Pick<RedisOptions, "automaticDeserialization">);
|
|
1857
|
+
private subscribeToChannel;
|
|
1858
|
+
private subscribeToPattern;
|
|
1859
|
+
private handleMessage;
|
|
1860
|
+
private dispatchToListeners;
|
|
1861
|
+
on<T extends keyof MessageEventMap<TMessage>>(type: T, listener: Listener<TMessage, T>): void;
|
|
1862
|
+
removeAllListeners(): void;
|
|
1863
|
+
unsubscribe(channels?: string[]): Promise<void>;
|
|
1864
|
+
getSubscribedChannels(): string[];
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
type InferResponseData<T extends unknown[]> = {
|
|
1868
|
+
[K in keyof T]: T[K] extends Command<any, infer TData> ? TData : unknown;
|
|
1869
|
+
};
|
|
1870
|
+
interface ExecMethod<TCommands extends Command<any, any>[]> {
|
|
1871
|
+
/**
|
|
1872
|
+
* Send the pipeline request to upstash.
|
|
1873
|
+
*
|
|
1874
|
+
* Returns an array with the results of all pipelined commands.
|
|
1875
|
+
*
|
|
1876
|
+
* If all commands are statically chained from start to finish, types are inferred. You can still define a return type manually if necessary though:
|
|
1877
|
+
* ```ts
|
|
1878
|
+
* const p = redis.pipeline()
|
|
1879
|
+
* p.get("key")
|
|
1880
|
+
* const result = p.exec<[{ greeting: string }]>()
|
|
1881
|
+
* ```
|
|
1882
|
+
*
|
|
1883
|
+
* If one of the commands get an error, the whole pipeline fails. Alternatively, you can set the keepErrors option to true in order to get the errors individually.
|
|
1884
|
+
*
|
|
1885
|
+
* If keepErrors is set to true, a list of objects is returned where each object corresponds to a command and is of type: `{ result: unknown, error?: string }`.
|
|
1886
|
+
*
|
|
1887
|
+
* ```ts
|
|
1888
|
+
* const p = redis.pipeline()
|
|
1889
|
+
* p.get("key")
|
|
1890
|
+
*
|
|
1891
|
+
* const result = await p.exec({ keepErrors: true });
|
|
1892
|
+
* const getResult = result[0].result
|
|
1893
|
+
* const getError = result[0].error
|
|
1894
|
+
* ```
|
|
1895
|
+
*/
|
|
1896
|
+
<TCommandResults extends unknown[] = [] extends TCommands ? unknown[] : InferResponseData<TCommands>>(): Promise<TCommandResults>;
|
|
1897
|
+
<TCommandResults extends unknown[] = [] extends TCommands ? unknown[] : InferResponseData<TCommands>>(options: {
|
|
1898
|
+
keepErrors: true;
|
|
1899
|
+
}): Promise<{
|
|
1900
|
+
[K in keyof TCommandResults]: UpstashResponse<TCommandResults[K]>;
|
|
1901
|
+
}>;
|
|
1902
|
+
}
|
|
1903
|
+
/**
|
|
1904
|
+
* Upstash REST API supports command pipelining to send multiple commands in
|
|
1905
|
+
* batch, instead of sending each command one by one and waiting for a response.
|
|
1906
|
+
* When using pipelines, several commands are sent using a single HTTP request,
|
|
1907
|
+
* and a single JSON array response is returned. Each item in the response array
|
|
1908
|
+
* corresponds to the command in the same order within the pipeline.
|
|
1909
|
+
*
|
|
1910
|
+
* **NOTE:**
|
|
1911
|
+
*
|
|
1912
|
+
* Execution of the pipeline is not atomic. Even though each command in
|
|
1913
|
+
* the pipeline will be executed in order, commands sent by other clients can
|
|
1914
|
+
* interleave with the pipeline.
|
|
1915
|
+
*
|
|
1916
|
+
* **Examples:**
|
|
1917
|
+
*
|
|
1918
|
+
* ```ts
|
|
1919
|
+
* const p = redis.pipeline() // or redis.multi()
|
|
1920
|
+
* p.set("key","value")
|
|
1921
|
+
* p.get("key")
|
|
1922
|
+
* const res = await p.exec()
|
|
1923
|
+
* ```
|
|
1924
|
+
*
|
|
1925
|
+
* You can also chain commands together
|
|
1926
|
+
* ```ts
|
|
1927
|
+
* const p = redis.pipeline()
|
|
1928
|
+
* const res = await p.set("key","value").get("key").exec()
|
|
1929
|
+
* ```
|
|
1930
|
+
*
|
|
1931
|
+
* Return types are inferred if all commands are chained, but you can still
|
|
1932
|
+
* override the response type manually:
|
|
1933
|
+
* ```ts
|
|
1934
|
+
* redis.pipeline()
|
|
1935
|
+
* .set("key", { greeting: "hello"})
|
|
1936
|
+
* .get("key")
|
|
1937
|
+
* .exec<["OK", { greeting: string } ]>()
|
|
1938
|
+
*
|
|
1939
|
+
* ```
|
|
1940
|
+
*/
|
|
1941
|
+
declare class Pipeline<TCommands extends Command<any, any>[] = []> {
|
|
1942
|
+
private client;
|
|
1943
|
+
private commands;
|
|
1944
|
+
private commandOptions?;
|
|
1945
|
+
private multiExec;
|
|
1946
|
+
constructor(opts: {
|
|
1947
|
+
client: Requester;
|
|
1948
|
+
commandOptions?: CommandOptions<any, any>;
|
|
1949
|
+
multiExec?: boolean;
|
|
1950
|
+
});
|
|
1951
|
+
exec: ExecMethod<TCommands>;
|
|
1952
|
+
/**
|
|
1953
|
+
* Returns the length of pipeline before the execution
|
|
1954
|
+
*/
|
|
1955
|
+
length(): number;
|
|
1956
|
+
/**
|
|
1957
|
+
* Pushes a command into the pipeline and returns a chainable instance of the
|
|
1958
|
+
* pipeline
|
|
1959
|
+
*/
|
|
1960
|
+
private chain;
|
|
1961
|
+
/**
|
|
1962
|
+
* @see https://redis.io/commands/append
|
|
1963
|
+
*/
|
|
1964
|
+
append: (key: string, value: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
1965
|
+
/**
|
|
1966
|
+
* @see https://redis.io/commands/bitcount
|
|
1967
|
+
*/
|
|
1968
|
+
bitcount: (key: string, start: number, end: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
1969
|
+
/**
|
|
1970
|
+
* Returns an instance that can be used to execute `BITFIELD` commands on one key.
|
|
1971
|
+
*
|
|
1972
|
+
* @example
|
|
1973
|
+
* ```typescript
|
|
1974
|
+
* redis.set("mykey", 0);
|
|
1975
|
+
* const result = await redis.pipeline()
|
|
1976
|
+
* .bitfield("mykey")
|
|
1977
|
+
* .set("u4", 0, 16)
|
|
1978
|
+
* .incr("u4", "#1", 1)
|
|
1979
|
+
* .exec();
|
|
1980
|
+
* console.log(result); // [[0, 1]]
|
|
1981
|
+
* ```
|
|
1982
|
+
*
|
|
1983
|
+
* @see https://redis.io/commands/bitfield
|
|
1984
|
+
*/
|
|
1985
|
+
bitfield: (key: string) => BitFieldCommand<Pipeline<[...TCommands, Command<any, number[]>]>>;
|
|
1986
|
+
/**
|
|
1987
|
+
* @see https://redis.io/commands/bitop
|
|
1988
|
+
*/
|
|
1989
|
+
bitop: {
|
|
1990
|
+
(op: "and" | "or" | "xor", destinationKey: string, sourceKey: string, ...sourceKeys: string[]): Pipeline<[...TCommands, BitOpCommand]>;
|
|
1991
|
+
(op: "not", destinationKey: string, sourceKey: string): Pipeline<[...TCommands, BitOpCommand]>;
|
|
1992
|
+
};
|
|
1993
|
+
/**
|
|
1994
|
+
* @see https://redis.io/commands/bitpos
|
|
1995
|
+
*/
|
|
1996
|
+
bitpos: (key: string, bit: 0 | 1, start?: number | undefined, end?: number | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
1997
|
+
/**
|
|
1998
|
+
* @see https://redis.io/commands/copy
|
|
1999
|
+
*/
|
|
2000
|
+
copy: (key: string, destinationKey: string, opts?: {
|
|
2001
|
+
replace: boolean;
|
|
2002
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, "COPIED" | "NOT_COPIED">]>;
|
|
2003
|
+
/**
|
|
2004
|
+
* @see https://redis.io/commands/zdiffstore
|
|
2005
|
+
*/
|
|
2006
|
+
zdiffstore: (destination: string, numkeys: number, ...keys: string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2007
|
+
/**
|
|
2008
|
+
* @see https://redis.io/commands/dbsize
|
|
2009
|
+
*/
|
|
2010
|
+
dbsize: () => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2011
|
+
/**
|
|
2012
|
+
* @see https://redis.io/commands/decr
|
|
2013
|
+
*/
|
|
2014
|
+
decr: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2015
|
+
/**
|
|
2016
|
+
* @see https://redis.io/commands/decrby
|
|
2017
|
+
*/
|
|
2018
|
+
decrby: (key: string, decrement: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2019
|
+
/**
|
|
2020
|
+
* @see https://redis.io/commands/del
|
|
2021
|
+
*/
|
|
2022
|
+
del: (...args: CommandArgs<typeof DelCommand>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2023
|
+
/**
|
|
2024
|
+
* @see https://redis.io/commands/echo
|
|
2025
|
+
*/
|
|
2026
|
+
echo: (message: string) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2027
|
+
/**
|
|
2028
|
+
* @see https://redis.io/commands/eval_ro
|
|
2029
|
+
*/
|
|
2030
|
+
evalRo: <TArgs extends unknown[], TData = unknown>(script: string, keys: string[], args: TArgs) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2031
|
+
/**
|
|
2032
|
+
* @see https://redis.io/commands/eval
|
|
2033
|
+
*/
|
|
2034
|
+
eval: <TArgs extends unknown[], TData = unknown>(script: string, keys: string[], args: TArgs) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2035
|
+
/**
|
|
2036
|
+
* @see https://redis.io/commands/evalsha_ro
|
|
2037
|
+
*/
|
|
2038
|
+
evalshaRo: <TArgs extends unknown[], TData = unknown>(sha1: string, keys: string[], args: TArgs) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2039
|
+
/**
|
|
2040
|
+
* @see https://redis.io/commands/evalsha
|
|
2041
|
+
*/
|
|
2042
|
+
evalsha: <TArgs extends unknown[], TData = unknown>(sha1: string, keys: string[], args: TArgs) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2043
|
+
/**
|
|
2044
|
+
* @see https://redis.io/commands/exists
|
|
2045
|
+
*/
|
|
2046
|
+
exists: (...args: CommandArgs<typeof ExistsCommand>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2047
|
+
/**
|
|
2048
|
+
* @see https://redis.io/commands/expire
|
|
2049
|
+
*/
|
|
2050
|
+
expire: (key: string, seconds: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2051
|
+
/**
|
|
2052
|
+
* @see https://redis.io/commands/expireat
|
|
2053
|
+
*/
|
|
2054
|
+
expireat: (key: string, unix: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2055
|
+
/**
|
|
2056
|
+
* @see https://redis.io/commands/flushall
|
|
2057
|
+
*/
|
|
2058
|
+
flushall: (args?: CommandArgs<typeof FlushAllCommand>) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2059
|
+
/**
|
|
2060
|
+
* @see https://redis.io/commands/flushdb
|
|
2061
|
+
*/
|
|
2062
|
+
flushdb: (opts?: {
|
|
2063
|
+
async?: boolean;
|
|
2064
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2065
|
+
/**
|
|
2066
|
+
* @see https://redis.io/commands/geoadd
|
|
2067
|
+
*/
|
|
2068
|
+
geoadd: <TData>(args_0: string, args_1: GeoAddCommandOptions | GeoMember<TData>, ...args_2: GeoMember<TData>[]) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2069
|
+
/**
|
|
2070
|
+
* @see https://redis.io/commands/geodist
|
|
2071
|
+
*/
|
|
2072
|
+
geodist: <TData>(key: string, member1: TData, member2: TData, unit?: "M" | "KM" | "FT" | "MI" | undefined) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2073
|
+
/**
|
|
2074
|
+
* @see https://redis.io/commands/geopos
|
|
2075
|
+
*/
|
|
2076
|
+
geopos: <TData>(args_0: string, ...args_1: TData[]) => Pipeline<[...TCommands, Command<any, {
|
|
2077
|
+
lng: number;
|
|
2078
|
+
lat: number;
|
|
2079
|
+
}[]>]>;
|
|
2080
|
+
/**
|
|
2081
|
+
* @see https://redis.io/commands/geohash
|
|
2082
|
+
*/
|
|
2083
|
+
geohash: <TData>(args_0: string, ...args_1: TData[]) => Pipeline<[...TCommands, Command<any, (string | null)[]>]>;
|
|
2084
|
+
/**
|
|
2085
|
+
* @see https://redis.io/commands/geosearch
|
|
2086
|
+
*/
|
|
2087
|
+
geosearch: <TData>(key: string, centerPoint: {
|
|
2088
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
2089
|
+
coordinate: {
|
|
2090
|
+
lon: number;
|
|
2091
|
+
lat: number;
|
|
2092
|
+
};
|
|
2093
|
+
} | {
|
|
2094
|
+
type: "FROMMEMBER" | "frommember";
|
|
2095
|
+
member: TData;
|
|
2096
|
+
}, shape: {
|
|
2097
|
+
type: "BYRADIUS" | "byradius";
|
|
2098
|
+
radius: number;
|
|
2099
|
+
radiusType: "M" | "KM" | "FT" | "MI";
|
|
2100
|
+
} | {
|
|
2101
|
+
type: "BYBOX" | "bybox";
|
|
2102
|
+
rect: {
|
|
2103
|
+
width: number;
|
|
2104
|
+
height: number;
|
|
2105
|
+
};
|
|
2106
|
+
rectType: "M" | "KM" | "FT" | "MI";
|
|
2107
|
+
}, order: "ASC" | "DESC" | "asc" | "desc", opts?: {
|
|
2108
|
+
count?: {
|
|
2109
|
+
limit: number;
|
|
2110
|
+
any?: boolean;
|
|
2111
|
+
};
|
|
2112
|
+
withCoord?: boolean;
|
|
2113
|
+
withDist?: boolean;
|
|
2114
|
+
withHash?: boolean;
|
|
2115
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, ({
|
|
2116
|
+
member: TData;
|
|
2117
|
+
} & {
|
|
2118
|
+
coord?: {
|
|
2119
|
+
long: number;
|
|
2120
|
+
lat: number;
|
|
2121
|
+
} | undefined;
|
|
2122
|
+
dist?: number | undefined;
|
|
2123
|
+
hash?: string | undefined;
|
|
2124
|
+
})[]>]>;
|
|
2125
|
+
/**
|
|
2126
|
+
* @see https://redis.io/commands/geosearchstore
|
|
2127
|
+
*/
|
|
2128
|
+
geosearchstore: <TData>(destination: string, key: string, centerPoint: {
|
|
2129
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
2130
|
+
coordinate: {
|
|
2131
|
+
lon: number;
|
|
2132
|
+
lat: number;
|
|
2133
|
+
};
|
|
2134
|
+
} | {
|
|
2135
|
+
type: "FROMMEMBER" | "frommember";
|
|
2136
|
+
member: TData;
|
|
2137
|
+
}, shape: {
|
|
2138
|
+
type: "BYRADIUS" | "byradius";
|
|
2139
|
+
radius: number;
|
|
2140
|
+
radiusType: "M" | "KM" | "FT" | "MI";
|
|
2141
|
+
} | {
|
|
2142
|
+
type: "BYBOX" | "bybox";
|
|
2143
|
+
rect: {
|
|
2144
|
+
width: number;
|
|
2145
|
+
height: number;
|
|
2146
|
+
};
|
|
2147
|
+
rectType: "M" | "KM" | "FT" | "MI";
|
|
2148
|
+
}, order: "ASC" | "DESC" | "asc" | "desc", opts?: {
|
|
2149
|
+
count?: {
|
|
2150
|
+
limit: number;
|
|
2151
|
+
any?: boolean;
|
|
2152
|
+
};
|
|
2153
|
+
storeDist?: boolean;
|
|
2154
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2155
|
+
/**
|
|
2156
|
+
* @see https://redis.io/commands/get
|
|
2157
|
+
*/
|
|
2158
|
+
get: <TData>(key: string) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2159
|
+
/**
|
|
2160
|
+
* @see https://redis.io/commands/getbit
|
|
2161
|
+
*/
|
|
2162
|
+
getbit: (key: string, offset: number) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2163
|
+
/**
|
|
2164
|
+
* @see https://redis.io/commands/getdel
|
|
2165
|
+
*/
|
|
2166
|
+
getdel: <TData>(key: string) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2167
|
+
/**
|
|
2168
|
+
* @see https://redis.io/commands/getex
|
|
2169
|
+
*/
|
|
2170
|
+
getex: <TData>(key: string, opts?: ({
|
|
2171
|
+
ex: number;
|
|
2172
|
+
px?: never;
|
|
2173
|
+
exat?: never;
|
|
2174
|
+
pxat?: never;
|
|
2175
|
+
persist?: never;
|
|
2176
|
+
} | {
|
|
2177
|
+
ex?: never;
|
|
2178
|
+
px: number;
|
|
2179
|
+
exat?: never;
|
|
2180
|
+
pxat?: never;
|
|
2181
|
+
persist?: never;
|
|
2182
|
+
} | {
|
|
2183
|
+
ex?: never;
|
|
2184
|
+
px?: never;
|
|
2185
|
+
exat: number;
|
|
2186
|
+
pxat?: never;
|
|
2187
|
+
persist?: never;
|
|
2188
|
+
} | {
|
|
2189
|
+
ex?: never;
|
|
2190
|
+
px?: never;
|
|
2191
|
+
exat?: never;
|
|
2192
|
+
pxat: number;
|
|
2193
|
+
persist?: never;
|
|
2194
|
+
} | {
|
|
2195
|
+
ex?: never;
|
|
2196
|
+
px?: never;
|
|
2197
|
+
exat?: never;
|
|
2198
|
+
pxat?: never;
|
|
2199
|
+
persist: true;
|
|
2200
|
+
} | {
|
|
2201
|
+
ex?: never;
|
|
2202
|
+
px?: never;
|
|
2203
|
+
exat?: never;
|
|
2204
|
+
pxat?: never;
|
|
2205
|
+
persist?: never;
|
|
2206
|
+
}) | undefined) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2207
|
+
/**
|
|
2208
|
+
* @see https://redis.io/commands/getrange
|
|
2209
|
+
*/
|
|
2210
|
+
getrange: (key: string, start: number, end: number) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2211
|
+
/**
|
|
2212
|
+
* @see https://redis.io/commands/getset
|
|
2213
|
+
*/
|
|
2214
|
+
getset: <TData>(key: string, value: TData) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2215
|
+
/**
|
|
2216
|
+
* @see https://redis.io/commands/hdel
|
|
2217
|
+
*/
|
|
2218
|
+
hdel: (key: string, ...fields: string[]) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2219
|
+
/**
|
|
2220
|
+
* @see https://redis.io/commands/hexists
|
|
2221
|
+
*/
|
|
2222
|
+
hexists: (key: string, field: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2223
|
+
/**
|
|
2224
|
+
* @see https://redis.io/commands/hexpire
|
|
2225
|
+
*/
|
|
2226
|
+
hexpire: (key: string, fields: string | number | (string | number)[], seconds: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, (0 | 1 | 2 | -2)[]>]>;
|
|
2227
|
+
/**
|
|
2228
|
+
* @see https://redis.io/commands/hexpireat
|
|
2229
|
+
*/
|
|
2230
|
+
hexpireat: (key: string, fields: string | number | (string | number)[], timestamp: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, (0 | 1 | 2 | -2)[]>]>;
|
|
2231
|
+
/**
|
|
2232
|
+
* @see https://redis.io/commands/hexpiretime
|
|
2233
|
+
*/
|
|
2234
|
+
hexpiretime: (key: string, fields: string | number | (string | number)[]) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2235
|
+
/**
|
|
2236
|
+
* @see https://redis.io/commands/httl
|
|
2237
|
+
*/
|
|
2238
|
+
httl: (key: string, fields: string | number | (string | number)[]) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2239
|
+
/**
|
|
2240
|
+
* @see https://redis.io/commands/hpexpire
|
|
2241
|
+
*/
|
|
2242
|
+
hpexpire: (key: string, fields: string | number | (string | number)[], milliseconds: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, (0 | 1 | 2 | -2)[]>]>;
|
|
2243
|
+
/**
|
|
2244
|
+
* @see https://redis.io/commands/hpexpireat
|
|
2245
|
+
*/
|
|
2246
|
+
hpexpireat: (key: string, fields: string | number | (string | number)[], timestamp: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, (0 | 1 | 2 | -2)[]>]>;
|
|
2247
|
+
/**
|
|
2248
|
+
* @see https://redis.io/commands/hpexpiretime
|
|
2249
|
+
*/
|
|
2250
|
+
hpexpiretime: (key: string, fields: string | number | (string | number)[]) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2251
|
+
/**
|
|
2252
|
+
* @see https://redis.io/commands/hpttl
|
|
2253
|
+
*/
|
|
2254
|
+
hpttl: (key: string, fields: string | number | (string | number)[]) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2255
|
+
/**
|
|
2256
|
+
* @see https://redis.io/commands/hpersist
|
|
2257
|
+
*/
|
|
2258
|
+
hpersist: (key: string, fields: string | number | (string | number)[]) => Pipeline<[...TCommands, Command<any, (1 | -2 | -1)[]>]>;
|
|
2259
|
+
/**
|
|
2260
|
+
* @see https://redis.io/commands/hget
|
|
2261
|
+
*/
|
|
2262
|
+
hget: <TData>(key: string, field: string) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2263
|
+
/**
|
|
2264
|
+
* @see https://redis.io/commands/hgetall
|
|
2265
|
+
*/
|
|
2266
|
+
hgetall: <TData extends Record<string, unknown>>(key: string) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2267
|
+
/**
|
|
2268
|
+
* @see https://redis.io/commands/hincrby
|
|
2269
|
+
*/
|
|
2270
|
+
hincrby: (key: string, field: string, increment: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2271
|
+
/**
|
|
2272
|
+
* @see https://redis.io/commands/hincrbyfloat
|
|
2273
|
+
*/
|
|
2274
|
+
hincrbyfloat: (key: string, field: string, increment: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2275
|
+
/**
|
|
2276
|
+
* @see https://redis.io/commands/hkeys
|
|
2277
|
+
*/
|
|
2278
|
+
hkeys: (key: string) => Pipeline<[...TCommands, Command<any, string[]>]>;
|
|
2279
|
+
/**
|
|
2280
|
+
* @see https://redis.io/commands/hlen
|
|
2281
|
+
*/
|
|
2282
|
+
hlen: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2283
|
+
/**
|
|
2284
|
+
* @see https://redis.io/commands/hmget
|
|
2285
|
+
*/
|
|
2286
|
+
hmget: <TData extends Record<string, unknown>>(key: string, ...fields: string[]) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2287
|
+
/**
|
|
2288
|
+
* @see https://redis.io/commands/hmset
|
|
2289
|
+
*/
|
|
2290
|
+
hmset: <TData>(key: string, kv: Record<string, TData>) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2291
|
+
/**
|
|
2292
|
+
* @see https://redis.io/commands/hrandfield
|
|
2293
|
+
*/
|
|
2294
|
+
hrandfield: <TData extends string | string[] | Record<string, unknown>>(key: string, count?: number, withValues?: boolean) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2295
|
+
/**
|
|
2296
|
+
* @see https://redis.io/commands/hscan
|
|
2297
|
+
*/
|
|
2298
|
+
hscan: (key: string, cursor: string | number, cmdOpts?: ScanCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, [string, (string | number)[]]>]>;
|
|
2299
|
+
/**
|
|
2300
|
+
* @see https://redis.io/commands/hset
|
|
2301
|
+
*/
|
|
2302
|
+
hset: <TData>(key: string, kv: Record<string, TData>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2303
|
+
/**
|
|
2304
|
+
* @see https://redis.io/commands/hsetnx
|
|
2305
|
+
*/
|
|
2306
|
+
hsetnx: <TData>(key: string, field: string, value: TData) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2307
|
+
/**
|
|
2308
|
+
* @see https://redis.io/commands/hstrlen
|
|
2309
|
+
*/
|
|
2310
|
+
hstrlen: (key: string, field: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2311
|
+
/**
|
|
2312
|
+
* @see https://redis.io/commands/hvals
|
|
2313
|
+
*/
|
|
2314
|
+
hvals: (key: string) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2315
|
+
/**
|
|
2316
|
+
* @see https://redis.io/commands/incr
|
|
2317
|
+
*/
|
|
2318
|
+
incr: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2319
|
+
/**
|
|
2320
|
+
* @see https://redis.io/commands/incrby
|
|
2321
|
+
*/
|
|
2322
|
+
incrby: (key: string, value: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2323
|
+
/**
|
|
2324
|
+
* @see https://redis.io/commands/incrbyfloat
|
|
2325
|
+
*/
|
|
2326
|
+
incrbyfloat: (key: string, value: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2327
|
+
/**
|
|
2328
|
+
* @see https://redis.io/commands/keys
|
|
2329
|
+
*/
|
|
2330
|
+
keys: (pattern: string) => Pipeline<[...TCommands, Command<any, string[]>]>;
|
|
2331
|
+
/**
|
|
2332
|
+
* @see https://redis.io/commands/lindex
|
|
2333
|
+
*/
|
|
2334
|
+
lindex: (key: string, index: number) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2335
|
+
/**
|
|
2336
|
+
* @see https://redis.io/commands/linsert
|
|
2337
|
+
*/
|
|
2338
|
+
linsert: <TData>(key: string, direction: "before" | "after", pivot: TData, value: TData) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2339
|
+
/**
|
|
2340
|
+
* @see https://redis.io/commands/llen
|
|
2341
|
+
*/
|
|
2342
|
+
llen: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2343
|
+
/**
|
|
2344
|
+
* @see https://redis.io/commands/lmove
|
|
2345
|
+
*/
|
|
2346
|
+
lmove: <TData = string>(source: string, destination: string, whereFrom: "left" | "right", whereTo: "left" | "right") => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2347
|
+
/**
|
|
2348
|
+
* @see https://redis.io/commands/lpop
|
|
2349
|
+
*/
|
|
2350
|
+
lpop: <TData>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2351
|
+
/**
|
|
2352
|
+
* @see https://redis.io/commands/lmpop
|
|
2353
|
+
*/
|
|
2354
|
+
lmpop: <TData>(numkeys: number, keys: string[], args_2: "LEFT" | "RIGHT", count?: number | undefined) => Pipeline<[...TCommands, Command<any, [string, TData[]] | null>]>;
|
|
2355
|
+
/**
|
|
2356
|
+
* @see https://redis.io/commands/lpos
|
|
2357
|
+
*/
|
|
2358
|
+
lpos: <TData>(key: string, element: unknown, opts?: {
|
|
2359
|
+
rank?: number;
|
|
2360
|
+
count?: number;
|
|
2361
|
+
maxLen?: number;
|
|
2362
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2363
|
+
/**
|
|
2364
|
+
* @see https://redis.io/commands/lpush
|
|
2365
|
+
*/
|
|
2366
|
+
lpush: <TData>(key: string, ...elements: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2367
|
+
/**
|
|
2368
|
+
* @see https://redis.io/commands/lpushx
|
|
2369
|
+
*/
|
|
2370
|
+
lpushx: <TData>(key: string, ...elements: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2371
|
+
/**
|
|
2372
|
+
* @see https://redis.io/commands/lrange
|
|
2373
|
+
*/
|
|
2374
|
+
lrange: <TResult = string>(key: string, start: number, end: number) => Pipeline<[...TCommands, Command<any, TResult[]>]>;
|
|
2375
|
+
/**
|
|
2376
|
+
* @see https://redis.io/commands/lrem
|
|
2377
|
+
*/
|
|
2378
|
+
lrem: <TData>(key: string, count: number, value: TData) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2379
|
+
/**
|
|
2380
|
+
* @see https://redis.io/commands/lset
|
|
2381
|
+
*/
|
|
2382
|
+
lset: <TData>(key: string, index: number, value: TData) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2383
|
+
/**
|
|
2384
|
+
* @see https://redis.io/commands/ltrim
|
|
2385
|
+
*/
|
|
2386
|
+
ltrim: (key: string, start: number, end: number) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2387
|
+
/**
|
|
2388
|
+
* @see https://redis.io/commands/mget
|
|
2389
|
+
*/
|
|
2390
|
+
mget: <TData extends unknown[]>(...args: CommandArgs<typeof MGetCommand>) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2391
|
+
/**
|
|
2392
|
+
* @see https://redis.io/commands/mset
|
|
2393
|
+
*/
|
|
2394
|
+
mset: <TData>(kv: Record<string, TData>) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2395
|
+
/**
|
|
2396
|
+
* @see https://redis.io/commands/msetnx
|
|
2397
|
+
*/
|
|
2398
|
+
msetnx: <TData>(kv: Record<string, TData>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2399
|
+
/**
|
|
2400
|
+
* @see https://redis.io/commands/persist
|
|
2401
|
+
*/
|
|
2402
|
+
persist: (key: string) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2403
|
+
/**
|
|
2404
|
+
* @see https://redis.io/commands/pexpire
|
|
2405
|
+
*/
|
|
2406
|
+
pexpire: (key: string, milliseconds: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2407
|
+
/**
|
|
2408
|
+
* @see https://redis.io/commands/pexpireat
|
|
2409
|
+
*/
|
|
2410
|
+
pexpireat: (key: string, unix: number, option?: ExpireOption | undefined) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2411
|
+
/**
|
|
2412
|
+
* @see https://redis.io/commands/pfadd
|
|
2413
|
+
*/
|
|
2414
|
+
pfadd: (args_0: string, ...args_1: unknown[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2415
|
+
/**
|
|
2416
|
+
* @see https://redis.io/commands/pfcount
|
|
2417
|
+
*/
|
|
2418
|
+
pfcount: (args_0: string, ...args_1: string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2419
|
+
/**
|
|
2420
|
+
* @see https://redis.io/commands/pfmerge
|
|
2421
|
+
*/
|
|
2422
|
+
pfmerge: (destination_key: string, ...args_1: string[]) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2423
|
+
/**
|
|
2424
|
+
* @see https://redis.io/commands/ping
|
|
2425
|
+
*/
|
|
2426
|
+
ping: (args?: CommandArgs<typeof PingCommand>) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2427
|
+
/**
|
|
2428
|
+
* @see https://redis.io/commands/psetex
|
|
2429
|
+
*/
|
|
2430
|
+
psetex: <TData>(key: string, ttl: number, value: TData) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2431
|
+
/**
|
|
2432
|
+
* @see https://redis.io/commands/pttl
|
|
2433
|
+
*/
|
|
2434
|
+
pttl: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2435
|
+
/**
|
|
2436
|
+
* @see https://redis.io/commands/publish
|
|
2437
|
+
*/
|
|
2438
|
+
publish: (channel: string, message: unknown) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2439
|
+
/**
|
|
2440
|
+
* @see https://redis.io/commands/randomkey
|
|
2441
|
+
*/
|
|
2442
|
+
randomkey: () => Pipeline<[...TCommands, Command<any, string | null>]>;
|
|
2443
|
+
/**
|
|
2444
|
+
* @see https://redis.io/commands/rename
|
|
2445
|
+
*/
|
|
2446
|
+
rename: (source: string, destination: string) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2447
|
+
/**
|
|
2448
|
+
* @see https://redis.io/commands/renamenx
|
|
2449
|
+
*/
|
|
2450
|
+
renamenx: (source: string, destination: string) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2451
|
+
/**
|
|
2452
|
+
* @see https://redis.io/commands/rpop
|
|
2453
|
+
*/
|
|
2454
|
+
rpop: <TData = string>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2455
|
+
/**
|
|
2456
|
+
* @see https://redis.io/commands/rpush
|
|
2457
|
+
*/
|
|
2458
|
+
rpush: <TData>(key: string, ...elements: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2459
|
+
/**
|
|
2460
|
+
* @see https://redis.io/commands/rpushx
|
|
2461
|
+
*/
|
|
2462
|
+
rpushx: <TData>(key: string, ...elements: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2463
|
+
/**
|
|
2464
|
+
* @see https://redis.io/commands/sadd
|
|
2465
|
+
*/
|
|
2466
|
+
sadd: <TData>(key: string, member: TData, ...members: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2467
|
+
/**
|
|
2468
|
+
* @see https://redis.io/commands/scan
|
|
2469
|
+
*/
|
|
2470
|
+
scan: (cursor: string | number, opts?: ScanCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2471
|
+
/**
|
|
2472
|
+
* @see https://redis.io/commands/scard
|
|
2473
|
+
*/
|
|
2474
|
+
scard: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2475
|
+
/**
|
|
2476
|
+
* @see https://redis.io/commands/script-exists
|
|
2477
|
+
*/
|
|
2478
|
+
scriptExists: (...args: CommandArgs<typeof ScriptExistsCommand>) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2479
|
+
/**
|
|
2480
|
+
* @see https://redis.io/commands/script-flush
|
|
2481
|
+
*/
|
|
2482
|
+
scriptFlush: (opts?: ScriptFlushCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2483
|
+
/**
|
|
2484
|
+
* @see https://redis.io/commands/script-load
|
|
2485
|
+
*/
|
|
2486
|
+
scriptLoad: (script: string) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2487
|
+
sdiff: (key: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2488
|
+
/**
|
|
2489
|
+
* @see https://redis.io/commands/sdiffstore
|
|
2490
|
+
*/
|
|
2491
|
+
sdiffstore: (destination: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2492
|
+
/**
|
|
2493
|
+
* @see https://redis.io/commands/set
|
|
2494
|
+
*/
|
|
2495
|
+
set: <TData>(key: string, value: TData, opts?: SetCommandOptions) => Pipeline<[...TCommands, Command<any, "OK" | TData | null>]>;
|
|
2496
|
+
/**
|
|
2497
|
+
* @see https://redis.io/commands/setbit
|
|
2498
|
+
*/
|
|
2499
|
+
setbit: (key: string, offset: number, value: 0 | 1) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2500
|
+
/**
|
|
2501
|
+
* @see https://redis.io/commands/setex
|
|
2502
|
+
*/
|
|
2503
|
+
setex: <TData>(key: string, ttl: number, value: TData) => Pipeline<[...TCommands, Command<any, "OK">]>;
|
|
2504
|
+
/**
|
|
2505
|
+
* @see https://redis.io/commands/setnx
|
|
2506
|
+
*/
|
|
2507
|
+
setnx: <TData>(key: string, value: TData) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2508
|
+
/**
|
|
2509
|
+
* @see https://redis.io/commands/setrange
|
|
2510
|
+
*/
|
|
2511
|
+
setrange: (key: string, offset: number, value: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2512
|
+
/**
|
|
2513
|
+
* @see https://redis.io/commands/sinter
|
|
2514
|
+
*/
|
|
2515
|
+
sinter: (key: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, string[]>]>;
|
|
2516
|
+
/**
|
|
2517
|
+
* @see https://redis.io/commands/sinterstore
|
|
2518
|
+
*/
|
|
2519
|
+
sinterstore: (destination: string, key: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2520
|
+
/**
|
|
2521
|
+
* @see https://redis.io/commands/sismember
|
|
2522
|
+
*/
|
|
2523
|
+
sismember: <TData>(key: string, member: TData) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2524
|
+
/**
|
|
2525
|
+
* @see https://redis.io/commands/smembers
|
|
2526
|
+
*/
|
|
2527
|
+
smembers: <TData extends unknown[] = string[]>(key: string) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2528
|
+
/**
|
|
2529
|
+
* @see https://redis.io/commands/smismember
|
|
2530
|
+
*/
|
|
2531
|
+
smismember: <TMembers extends unknown[]>(key: string, members: TMembers) => Pipeline<[...TCommands, Command<any, (0 | 1)[]>]>;
|
|
2532
|
+
/**
|
|
2533
|
+
* @see https://redis.io/commands/smove
|
|
2534
|
+
*/
|
|
2535
|
+
smove: <TData>(source: string, destination: string, member: TData) => Pipeline<[...TCommands, Command<any, 0 | 1>]>;
|
|
2536
|
+
/**
|
|
2537
|
+
* @see https://redis.io/commands/spop
|
|
2538
|
+
*/
|
|
2539
|
+
spop: <TData>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2540
|
+
/**
|
|
2541
|
+
* @see https://redis.io/commands/srandmember
|
|
2542
|
+
*/
|
|
2543
|
+
srandmember: <TData>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData | null>]>;
|
|
2544
|
+
/**
|
|
2545
|
+
* @see https://redis.io/commands/srem
|
|
2546
|
+
*/
|
|
2547
|
+
srem: <TData>(key: string, ...members: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2548
|
+
/**
|
|
2549
|
+
* @see https://redis.io/commands/sscan
|
|
2550
|
+
*/
|
|
2551
|
+
sscan: (key: string, cursor: string | number, opts?: ScanCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, [string, (string | number)[]]>]>;
|
|
2552
|
+
/**
|
|
2553
|
+
* @see https://redis.io/commands/strlen
|
|
2554
|
+
*/
|
|
2555
|
+
strlen: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2556
|
+
/**
|
|
2557
|
+
* @see https://redis.io/commands/sunion
|
|
2558
|
+
*/
|
|
2559
|
+
sunion: (key: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2560
|
+
/**
|
|
2561
|
+
* @see https://redis.io/commands/sunionstore
|
|
2562
|
+
*/
|
|
2563
|
+
sunionstore: (destination: string, key: string, ...keys: string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2564
|
+
/**
|
|
2565
|
+
* @see https://redis.io/commands/time
|
|
2566
|
+
*/
|
|
2567
|
+
time: () => Pipeline<[...TCommands, Command<any, [number, number]>]>;
|
|
2568
|
+
/**
|
|
2569
|
+
* @see https://redis.io/commands/touch
|
|
2570
|
+
*/
|
|
2571
|
+
touch: (...args: CommandArgs<typeof TouchCommand>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2572
|
+
/**
|
|
2573
|
+
* @see https://redis.io/commands/ttl
|
|
2574
|
+
*/
|
|
2575
|
+
ttl: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2576
|
+
/**
|
|
2577
|
+
* @see https://redis.io/commands/type
|
|
2578
|
+
*/
|
|
2579
|
+
type: (key: string) => Pipeline<[...TCommands, Command<any, Type>]>;
|
|
2580
|
+
/**
|
|
2581
|
+
* @see https://redis.io/commands/unlink
|
|
2582
|
+
*/
|
|
2583
|
+
unlink: (...args: CommandArgs<typeof UnlinkCommand>) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2584
|
+
/**
|
|
2585
|
+
* @see https://redis.io/commands/zadd
|
|
2586
|
+
*/
|
|
2587
|
+
zadd: <TData>(...args: [key: string, scoreMember: ScoreMember<TData>, ...scoreMemberPairs: ScoreMember<TData>[]] | [key: string, opts: ZAddCommandOptions, ...scoreMemberPairs: [ScoreMember<TData>, ...ScoreMember<TData>[]]]) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2588
|
+
/**
|
|
2589
|
+
* @see https://redis.io/commands/xadd
|
|
2590
|
+
*/
|
|
2591
|
+
xadd: (key: string, id: string, entries: Record<string, unknown>, opts?: {
|
|
2592
|
+
nomkStream?: boolean;
|
|
2593
|
+
trim?: ({
|
|
2594
|
+
type: "MAXLEN" | "maxlen";
|
|
2595
|
+
threshold: number;
|
|
2596
|
+
} | {
|
|
2597
|
+
type: "MINID" | "minid";
|
|
2598
|
+
threshold: string;
|
|
2599
|
+
}) & ({
|
|
2600
|
+
comparison: "~";
|
|
2601
|
+
limit?: number;
|
|
2602
|
+
} | {
|
|
2603
|
+
comparison: "=";
|
|
2604
|
+
limit?: never;
|
|
2605
|
+
});
|
|
2606
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, string>]>;
|
|
2607
|
+
/**
|
|
2608
|
+
* @see https://redis.io/commands/xack
|
|
2609
|
+
*/
|
|
2610
|
+
xack: (key: string, group: string, id: string | string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2611
|
+
/**
|
|
2612
|
+
* @see https://redis.io/commands/xdel
|
|
2613
|
+
*/
|
|
2614
|
+
xdel: (key: string, ids: string | string[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2615
|
+
/**
|
|
2616
|
+
* @see https://redis.io/commands/xgroup
|
|
2617
|
+
*/
|
|
2618
|
+
xgroup: (key: string, opts: {
|
|
2619
|
+
type: "CREATE";
|
|
2620
|
+
group: string;
|
|
2621
|
+
id: `$` | string;
|
|
2622
|
+
options?: {
|
|
2623
|
+
MKSTREAM?: boolean;
|
|
2624
|
+
ENTRIESREAD?: number;
|
|
2625
|
+
};
|
|
2626
|
+
} | {
|
|
2627
|
+
type: "CREATECONSUMER";
|
|
2628
|
+
group: string;
|
|
2629
|
+
consumer: string;
|
|
2630
|
+
} | {
|
|
2631
|
+
type: "DELCONSUMER";
|
|
2632
|
+
group: string;
|
|
2633
|
+
consumer: string;
|
|
2634
|
+
} | {
|
|
2635
|
+
type: "DESTROY";
|
|
2636
|
+
group: string;
|
|
2637
|
+
} | {
|
|
2638
|
+
type: "SETID";
|
|
2639
|
+
group: string;
|
|
2640
|
+
id: `$` | string;
|
|
2641
|
+
options?: {
|
|
2642
|
+
ENTRIESREAD?: number;
|
|
2643
|
+
};
|
|
2644
|
+
}) => Pipeline<[...TCommands, Command<any, never>]>;
|
|
2645
|
+
/**
|
|
2646
|
+
* @see https://redis.io/commands/xread
|
|
2647
|
+
*/
|
|
2648
|
+
xread: (...args: CommandArgs<typeof XReadCommand>) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2649
|
+
/**
|
|
2650
|
+
* @see https://redis.io/commands/xreadgroup
|
|
2651
|
+
*/
|
|
2652
|
+
xreadgroup: (...args: CommandArgs<typeof XReadGroupCommand>) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2653
|
+
/**
|
|
2654
|
+
* @see https://redis.io/commands/xinfo
|
|
2655
|
+
*/
|
|
2656
|
+
xinfo: (key: string, options: {
|
|
2657
|
+
type: "CONSUMERS";
|
|
2658
|
+
group: string;
|
|
2659
|
+
} | {
|
|
2660
|
+
type: "GROUPS";
|
|
2661
|
+
}) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2662
|
+
/**
|
|
2663
|
+
* @see https://redis.io/commands/xlen
|
|
2664
|
+
*/
|
|
2665
|
+
xlen: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2666
|
+
/**
|
|
2667
|
+
* @see https://redis.io/commands/xpending
|
|
2668
|
+
*/
|
|
2669
|
+
xpending: (key: string, group: string, start: string, end: string, count: number, options?: {
|
|
2670
|
+
idleTime?: number;
|
|
2671
|
+
consumer?: string | string[];
|
|
2672
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2673
|
+
/**
|
|
2674
|
+
* @see https://redis.io/commands/xclaim
|
|
2675
|
+
*/
|
|
2676
|
+
xclaim: (key: string, group: string, consumer: string, minIdleTime: number, id: string | string[], options?: {
|
|
2677
|
+
idleMS?: number;
|
|
2678
|
+
timeMS?: number;
|
|
2679
|
+
retryCount?: number;
|
|
2680
|
+
force?: boolean;
|
|
2681
|
+
justId?: boolean;
|
|
2682
|
+
lastId?: number;
|
|
2683
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2684
|
+
/**
|
|
2685
|
+
* @see https://redis.io/commands/xautoclaim
|
|
2686
|
+
*/
|
|
2687
|
+
xautoclaim: (key: string, group: string, consumer: string, minIdleTime: number, start: string, options?: {
|
|
2688
|
+
count?: number;
|
|
2689
|
+
justId?: boolean;
|
|
2690
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2691
|
+
/**
|
|
2692
|
+
* @see https://redis.io/commands/xtrim
|
|
2693
|
+
*/
|
|
2694
|
+
xtrim: (key: string, options: {
|
|
2695
|
+
strategy: "MAXLEN" | "MINID";
|
|
2696
|
+
exactness?: "~" | "=";
|
|
2697
|
+
threshold: number | string;
|
|
2698
|
+
limit?: number;
|
|
2699
|
+
}) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2700
|
+
/**
|
|
2701
|
+
* @see https://redis.io/commands/xrange
|
|
2702
|
+
*/
|
|
2703
|
+
xrange: (key: string, start: string, end: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, Record<string, Record<string, unknown>>>]>;
|
|
2704
|
+
/**
|
|
2705
|
+
* @see https://redis.io/commands/xrevrange
|
|
2706
|
+
*/
|
|
2707
|
+
xrevrange: (key: string, end: string, start: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, Record<string, Record<string, unknown>>>]>;
|
|
2708
|
+
/**
|
|
2709
|
+
* @see https://redis.io/commands/zcard
|
|
2710
|
+
*/
|
|
2711
|
+
zcard: (key: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2712
|
+
/**
|
|
2713
|
+
* @see https://redis.io/commands/zcount
|
|
2714
|
+
*/
|
|
2715
|
+
zcount: (key: string, min: string | number, max: string | number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2716
|
+
/**
|
|
2717
|
+
* @see https://redis.io/commands/zincrby
|
|
2718
|
+
*/
|
|
2719
|
+
zincrby: <TData>(key: string, increment: number, member: TData) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2720
|
+
/**
|
|
2721
|
+
* @see https://redis.io/commands/zinterstore
|
|
2722
|
+
*/
|
|
2723
|
+
zinterstore: (destination: string, numKeys: number, keys: string[], opts?: ZInterStoreCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2724
|
+
/**
|
|
2725
|
+
* @see https://redis.io/commands/zlexcount
|
|
2726
|
+
*/
|
|
2727
|
+
zlexcount: (key: string, min: string, max: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2728
|
+
/**
|
|
2729
|
+
* @see https://redis.io/commands/zmscore
|
|
2730
|
+
*/
|
|
2731
|
+
zmscore: (key: string, members: unknown[]) => Pipeline<[...TCommands, Command<any, number[] | null>]>;
|
|
2732
|
+
/**
|
|
2733
|
+
* @see https://redis.io/commands/zpopmax
|
|
2734
|
+
*/
|
|
2735
|
+
zpopmax: <TData>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData[]>]>;
|
|
2736
|
+
/**
|
|
2737
|
+
* @see https://redis.io/commands/zpopmin
|
|
2738
|
+
*/
|
|
2739
|
+
zpopmin: <TData>(key: string, count?: number | undefined) => Pipeline<[...TCommands, Command<any, TData[]>]>;
|
|
2740
|
+
/**
|
|
2741
|
+
* @see https://redis.io/commands/zrange
|
|
2742
|
+
*/
|
|
2743
|
+
zrange: <TData extends unknown[]>(...args: [key: string, min: number, max: number, opts?: ZRangeCommandOptions] | [key: string, min: `(${string}` | `[${string}` | "-" | "+", max: `(${string}` | `[${string}` | "-" | "+", opts: {
|
|
2744
|
+
byLex: true;
|
|
2745
|
+
} & ZRangeCommandOptions] | [key: string, min: number | `(${number}` | "-inf" | "+inf", max: number | `(${number}` | "-inf" | "+inf", opts: {
|
|
2746
|
+
byScore: true;
|
|
2747
|
+
} & ZRangeCommandOptions]) => Pipeline<[...TCommands, Command<any, TData>]>;
|
|
2748
|
+
/**
|
|
2749
|
+
* @see https://redis.io/commands/zrank
|
|
2750
|
+
*/
|
|
2751
|
+
zrank: <TData>(key: string, member: TData) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2752
|
+
/**
|
|
2753
|
+
* @see https://redis.io/commands/zrem
|
|
2754
|
+
*/
|
|
2755
|
+
zrem: <TData>(key: string, ...members: TData[]) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2756
|
+
/**
|
|
2757
|
+
* @see https://redis.io/commands/zremrangebylex
|
|
2758
|
+
*/
|
|
2759
|
+
zremrangebylex: (key: string, min: string, max: string) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2760
|
+
/**
|
|
2761
|
+
* @see https://redis.io/commands/zremrangebyrank
|
|
2762
|
+
*/
|
|
2763
|
+
zremrangebyrank: (key: string, start: number, stop: number) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2764
|
+
/**
|
|
2765
|
+
* @see https://redis.io/commands/zremrangebyscore
|
|
2766
|
+
*/
|
|
2767
|
+
zremrangebyscore: (key: string, min: number | `(${number}` | "-inf" | "+inf", max: number | `(${number}` | "-inf" | "+inf") => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2768
|
+
/**
|
|
2769
|
+
* @see https://redis.io/commands/zrevrank
|
|
2770
|
+
*/
|
|
2771
|
+
zrevrank: <TData>(key: string, member: TData) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2772
|
+
/**
|
|
2773
|
+
* @see https://redis.io/commands/zscan
|
|
2774
|
+
*/
|
|
2775
|
+
zscan: (key: string, cursor: string | number, opts?: ScanCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, [string, (string | number)[]]>]>;
|
|
2776
|
+
/**
|
|
2777
|
+
* @see https://redis.io/commands/zscore
|
|
2778
|
+
*/
|
|
2779
|
+
zscore: <TData>(key: string, member: TData) => Pipeline<[...TCommands, Command<any, number | null>]>;
|
|
2780
|
+
/**
|
|
2781
|
+
* @see https://redis.io/commands/zunionstore
|
|
2782
|
+
*/
|
|
2783
|
+
zunionstore: (destination: string, numKeys: number, keys: string[], opts?: ZUnionStoreCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2784
|
+
/**
|
|
2785
|
+
* @see https://redis.io/commands/zunion
|
|
2786
|
+
*/
|
|
2787
|
+
zunion: (numKeys: number, keys: string[], opts?: ZUnionCommandOptions | undefined) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2788
|
+
/**
|
|
2789
|
+
* @see https://redis.io/commands/?group=json
|
|
2790
|
+
*/
|
|
2791
|
+
get json(): {
|
|
2792
|
+
/**
|
|
2793
|
+
* @see https://redis.io/commands/json.arrappend
|
|
2794
|
+
*/
|
|
2795
|
+
arrappend: (key: string, path: string, ...values: unknown[]) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2796
|
+
/**
|
|
2797
|
+
* @see https://redis.io/commands/json.arrindex
|
|
2798
|
+
*/
|
|
2799
|
+
arrindex: (key: string, path: string, value: unknown, start?: number | undefined, stop?: number | undefined) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2800
|
+
/**
|
|
2801
|
+
* @see https://redis.io/commands/json.arrinsert
|
|
2802
|
+
*/
|
|
2803
|
+
arrinsert: (key: string, path: string, index: number, ...values: unknown[]) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2804
|
+
/**
|
|
2805
|
+
* @see https://redis.io/commands/json.arrlen
|
|
2806
|
+
*/
|
|
2807
|
+
arrlen: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2808
|
+
/**
|
|
2809
|
+
* @see https://redis.io/commands/json.arrpop
|
|
2810
|
+
*/
|
|
2811
|
+
arrpop: (key: string, path?: string | undefined, index?: number | undefined) => Pipeline<[...TCommands, Command<any, unknown[]>]>;
|
|
2812
|
+
/**
|
|
2813
|
+
* @see https://redis.io/commands/json.arrtrim
|
|
2814
|
+
*/
|
|
2815
|
+
arrtrim: (key: string, path?: string | undefined, start?: number | undefined, stop?: number | undefined) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2816
|
+
/**
|
|
2817
|
+
* @see https://redis.io/commands/json.clear
|
|
2818
|
+
*/
|
|
2819
|
+
clear: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2820
|
+
/**
|
|
2821
|
+
* @see https://redis.io/commands/json.del
|
|
2822
|
+
*/
|
|
2823
|
+
del: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2824
|
+
/**
|
|
2825
|
+
* @see https://redis.io/commands/json.forget
|
|
2826
|
+
*/
|
|
2827
|
+
forget: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, number>]>;
|
|
2828
|
+
/**
|
|
2829
|
+
* @see https://redis.io/commands/json.get
|
|
2830
|
+
*/
|
|
2831
|
+
get: (...args: CommandArgs<typeof JsonGetCommand>) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2832
|
+
/**
|
|
2833
|
+
* @see https://redis.io/commands/json.merge
|
|
2834
|
+
*/
|
|
2835
|
+
merge: (key: string, path: string, value: string | number | unknown[] | Record<string, unknown>) => Pipeline<[...TCommands, Command<any, "OK" | null>]>;
|
|
2836
|
+
/**
|
|
2837
|
+
* @see https://redis.io/commands/json.mget
|
|
2838
|
+
*/
|
|
2839
|
+
mget: (keys: string[], path: string) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2840
|
+
/**
|
|
2841
|
+
* @see https://redis.io/commands/json.mset
|
|
2842
|
+
*/
|
|
2843
|
+
mset: (...args: CommandArgs<typeof JsonMSetCommand>) => Pipeline<[...TCommands, Command<any, "OK" | null>]>;
|
|
2844
|
+
/**
|
|
2845
|
+
* @see https://redis.io/commands/json.numincrby
|
|
2846
|
+
*/
|
|
2847
|
+
numincrby: (key: string, path: string, value: number) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2848
|
+
/**
|
|
2849
|
+
* @see https://redis.io/commands/json.nummultby
|
|
2850
|
+
*/
|
|
2851
|
+
nummultby: (key: string, path: string, value: number) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2852
|
+
/**
|
|
2853
|
+
* @see https://redis.io/commands/json.objkeys
|
|
2854
|
+
*/
|
|
2855
|
+
objkeys: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, (string[] | null)[]>]>;
|
|
2856
|
+
/**
|
|
2857
|
+
* @see https://redis.io/commands/json.objlen
|
|
2858
|
+
*/
|
|
2859
|
+
objlen: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2860
|
+
/**
|
|
2861
|
+
* @see https://redis.io/commands/json.resp
|
|
2862
|
+
*/
|
|
2863
|
+
resp: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, any>]>;
|
|
2864
|
+
/**
|
|
2865
|
+
* @see https://redis.io/commands/json.set
|
|
2866
|
+
*/
|
|
2867
|
+
set: (key: string, path: string, value: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[], opts?: {
|
|
2868
|
+
nx: true;
|
|
2869
|
+
xx?: never;
|
|
2870
|
+
} | {
|
|
2871
|
+
nx?: never;
|
|
2872
|
+
xx: true;
|
|
2873
|
+
} | undefined) => Pipeline<[...TCommands, Command<any, "OK" | null>]>;
|
|
2874
|
+
/**
|
|
2875
|
+
* @see https://redis.io/commands/json.strappend
|
|
2876
|
+
*/
|
|
2877
|
+
strappend: (key: string, path: string, value: string) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2878
|
+
/**
|
|
2879
|
+
* @see https://redis.io/commands/json.strlen
|
|
2880
|
+
*/
|
|
2881
|
+
strlen: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, (number | null)[]>]>;
|
|
2882
|
+
/**
|
|
2883
|
+
* @see https://redis.io/commands/json.toggle
|
|
2884
|
+
*/
|
|
2885
|
+
toggle: (key: string, path: string) => Pipeline<[...TCommands, Command<any, number[]>]>;
|
|
2886
|
+
/**
|
|
2887
|
+
* @see https://redis.io/commands/json.type
|
|
2888
|
+
*/
|
|
2889
|
+
type: (key: string, path?: string | undefined) => Pipeline<[...TCommands, Command<any, string[]>]>;
|
|
2890
|
+
};
|
|
2891
|
+
}
|
|
2892
|
+
|
|
2893
|
+
/**
|
|
2894
|
+
* Creates a new script.
|
|
2895
|
+
*
|
|
2896
|
+
* Scripts offer the ability to optimistically try to execute a script without having to send the
|
|
2897
|
+
* entire script to the server. If the script is loaded on the server, it tries again by sending
|
|
2898
|
+
* the entire script. Afterwards, the script is cached on the server.
|
|
2899
|
+
*
|
|
2900
|
+
* @example
|
|
2901
|
+
* ```ts
|
|
2902
|
+
* const redis = new Redis({...})
|
|
2903
|
+
*
|
|
2904
|
+
* const script = redis.createScript<string>("return ARGV[1];")
|
|
2905
|
+
* const arg1 = await script.eval([], ["Hello World"])
|
|
2906
|
+
* expect(arg1, "Hello World")
|
|
2907
|
+
* ```
|
|
2908
|
+
*/
|
|
2909
|
+
declare class Script<TResult = unknown> {
|
|
2910
|
+
readonly script: string;
|
|
2911
|
+
/**
|
|
2912
|
+
* @deprecated This property is initialized to an empty string and will be set in the init method
|
|
2913
|
+
* asynchronously. Do not use this property immidiately after the constructor.
|
|
2914
|
+
*
|
|
2915
|
+
* This property is only exposed for backwards compatibility and will be removed in the
|
|
2916
|
+
* future major release.
|
|
2917
|
+
*/
|
|
2918
|
+
sha1: string;
|
|
2919
|
+
private readonly redis;
|
|
2920
|
+
constructor(redis: Redis, script: string);
|
|
2921
|
+
/**
|
|
2922
|
+
* Initialize the script by computing its SHA-1 hash.
|
|
2923
|
+
*/
|
|
2924
|
+
private init;
|
|
2925
|
+
/**
|
|
2926
|
+
* Send an `EVAL` command to redis.
|
|
2927
|
+
*/
|
|
2928
|
+
eval(keys: string[], args: string[]): Promise<TResult>;
|
|
2929
|
+
/**
|
|
2930
|
+
* Calculates the sha1 hash of the script and then calls `EVALSHA`.
|
|
2931
|
+
*/
|
|
2932
|
+
evalsha(keys: string[], args: string[]): Promise<TResult>;
|
|
2933
|
+
/**
|
|
2934
|
+
* Optimistically try to run `EVALSHA` first.
|
|
2935
|
+
* If the script is not loaded in redis, it will fall back and try again with `EVAL`.
|
|
2936
|
+
*
|
|
2937
|
+
* Following calls will be able to use the cached script
|
|
2938
|
+
*/
|
|
2939
|
+
exec(keys: string[], args: string[]): Promise<TResult>;
|
|
2940
|
+
/**
|
|
2941
|
+
* Compute the sha1 hash of the script and return its hex representation.
|
|
2942
|
+
*/
|
|
2943
|
+
private digest;
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2946
|
+
/**
|
|
2947
|
+
* Creates a new script.
|
|
2948
|
+
*
|
|
2949
|
+
* Scripts offer the ability to optimistically try to execute a script without having to send the
|
|
2950
|
+
* entire script to the server. If the script is loaded on the server, it tries again by sending
|
|
2951
|
+
* the entire script. Afterwards, the script is cached on the server.
|
|
2952
|
+
*
|
|
2953
|
+
* @example
|
|
2954
|
+
* ```ts
|
|
2955
|
+
* const redis = new Redis({...})
|
|
2956
|
+
*
|
|
2957
|
+
* const script = redis.createScript<string>("return ARGV[1];", { readOnly: true })
|
|
2958
|
+
* const arg1 = await script.evalRo([], ["Hello World"])
|
|
2959
|
+
* expect(arg1, "Hello World")
|
|
2960
|
+
* ```
|
|
2961
|
+
*/
|
|
2962
|
+
declare class ScriptRO<TResult = unknown> {
|
|
2963
|
+
readonly script: string;
|
|
2964
|
+
/**
|
|
2965
|
+
* @deprecated This property is initialized to an empty string and will be set in the init method
|
|
2966
|
+
* asynchronously. Do not use this property immidiately after the constructor.
|
|
2967
|
+
*
|
|
2968
|
+
* This property is only exposed for backwards compatibility and will be removed in the
|
|
2969
|
+
* future major release.
|
|
2970
|
+
*/
|
|
2971
|
+
sha1: string;
|
|
2972
|
+
private readonly redis;
|
|
2973
|
+
constructor(redis: Redis, script: string);
|
|
2974
|
+
private init;
|
|
2975
|
+
/**
|
|
2976
|
+
* Send an `EVAL_RO` command to redis.
|
|
2977
|
+
*/
|
|
2978
|
+
evalRo(keys: string[], args: string[]): Promise<TResult>;
|
|
2979
|
+
/**
|
|
2980
|
+
* Calculates the sha1 hash of the script and then calls `EVALSHA_RO`.
|
|
2981
|
+
*/
|
|
2982
|
+
evalshaRo(keys: string[], args: string[]): Promise<TResult>;
|
|
2983
|
+
/**
|
|
2984
|
+
* Optimistically try to run `EVALSHA_RO` first.
|
|
2985
|
+
* If the script is not loaded in redis, it will fall back and try again with `EVAL_RO`.
|
|
2986
|
+
*
|
|
2987
|
+
* Following calls will be able to use the cached script
|
|
2988
|
+
*/
|
|
2989
|
+
exec(keys: string[], args: string[]): Promise<TResult>;
|
|
2990
|
+
/**
|
|
2991
|
+
* Compute the sha1 hash of the script and return its hex representation.
|
|
2992
|
+
*/
|
|
2993
|
+
private digest;
|
|
2994
|
+
}
|
|
2995
|
+
|
|
2996
|
+
/**
|
|
2997
|
+
* Serverless redis client for upstash.
|
|
2998
|
+
*/
|
|
2999
|
+
declare class Redis {
|
|
3000
|
+
protected client: Requester;
|
|
3001
|
+
protected opts?: CommandOptions<any, any>;
|
|
3002
|
+
protected enableTelemetry: boolean;
|
|
3003
|
+
protected enableAutoPipelining: boolean;
|
|
3004
|
+
/**
|
|
3005
|
+
* Create a new redis client
|
|
3006
|
+
*
|
|
3007
|
+
* @example
|
|
3008
|
+
* ```typescript
|
|
3009
|
+
* const redis = new Redis({
|
|
3010
|
+
* url: "<UPSTASH_REDIS_REST_URL>",
|
|
3011
|
+
* token: "<UPSTASH_REDIS_REST_TOKEN>",
|
|
3012
|
+
* });
|
|
3013
|
+
* ```
|
|
3014
|
+
*/
|
|
3015
|
+
constructor(client: Requester, opts?: RedisOptions);
|
|
3016
|
+
get readYourWritesSyncToken(): string | undefined;
|
|
3017
|
+
set readYourWritesSyncToken(session: string | undefined);
|
|
3018
|
+
get json(): {
|
|
3019
|
+
/**
|
|
3020
|
+
* @see https://redis.io/commands/json.arrappend
|
|
3021
|
+
*/
|
|
3022
|
+
arrappend: (key: string, path: string, ...values: unknown[]) => Promise<(number | null)[]>;
|
|
3023
|
+
/**
|
|
3024
|
+
* @see https://redis.io/commands/json.arrindex
|
|
3025
|
+
*/
|
|
3026
|
+
arrindex: (key: string, path: string, value: unknown, start?: number | undefined, stop?: number | undefined) => Promise<(number | null)[]>;
|
|
3027
|
+
/**
|
|
3028
|
+
* @see https://redis.io/commands/json.arrinsert
|
|
3029
|
+
*/
|
|
3030
|
+
arrinsert: (key: string, path: string, index: number, ...values: unknown[]) => Promise<(number | null)[]>;
|
|
3031
|
+
/**
|
|
3032
|
+
* @see https://redis.io/commands/json.arrlen
|
|
3033
|
+
*/
|
|
3034
|
+
arrlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
3035
|
+
/**
|
|
3036
|
+
* @see https://redis.io/commands/json.arrpop
|
|
3037
|
+
*/
|
|
3038
|
+
arrpop: (key: string, path?: string | undefined, index?: number | undefined) => Promise<unknown[]>;
|
|
3039
|
+
/**
|
|
3040
|
+
* @see https://redis.io/commands/json.arrtrim
|
|
3041
|
+
*/
|
|
3042
|
+
arrtrim: (key: string, path?: string | undefined, start?: number | undefined, stop?: number | undefined) => Promise<(number | null)[]>;
|
|
3043
|
+
/**
|
|
3044
|
+
* @see https://redis.io/commands/json.clear
|
|
3045
|
+
*/
|
|
3046
|
+
clear: (key: string, path?: string | undefined) => Promise<number>;
|
|
3047
|
+
/**
|
|
3048
|
+
* @see https://redis.io/commands/json.del
|
|
3049
|
+
*/
|
|
3050
|
+
del: (key: string, path?: string | undefined) => Promise<number>;
|
|
3051
|
+
/**
|
|
3052
|
+
* @see https://redis.io/commands/json.forget
|
|
3053
|
+
*/
|
|
3054
|
+
forget: (key: string, path?: string | undefined) => Promise<number>;
|
|
3055
|
+
/**
|
|
3056
|
+
* @see https://redis.io/commands/json.get
|
|
3057
|
+
*/
|
|
3058
|
+
get: <TData>(...args: CommandArgs<typeof JsonGetCommand>) => Promise<TData | null>;
|
|
3059
|
+
/**
|
|
3060
|
+
* @see https://redis.io/commands/json.merge
|
|
3061
|
+
*/
|
|
3062
|
+
merge: (key: string, path: string, value: string | number | unknown[] | Record<string, unknown>) => Promise<"OK" | null>;
|
|
3063
|
+
/**
|
|
3064
|
+
* @see https://redis.io/commands/json.mget
|
|
3065
|
+
*/
|
|
3066
|
+
mget: <TData>(keys: string[], path: string) => Promise<TData>;
|
|
3067
|
+
/**
|
|
3068
|
+
* @see https://redis.io/commands/json.mset
|
|
3069
|
+
*/
|
|
3070
|
+
mset: (...args: CommandArgs<typeof JsonMSetCommand>) => Promise<"OK" | null>;
|
|
3071
|
+
/**
|
|
3072
|
+
* @see https://redis.io/commands/json.numincrby
|
|
3073
|
+
*/
|
|
3074
|
+
numincrby: (key: string, path: string, value: number) => Promise<(number | null)[]>;
|
|
3075
|
+
/**
|
|
3076
|
+
* @see https://redis.io/commands/json.nummultby
|
|
3077
|
+
*/
|
|
3078
|
+
nummultby: (key: string, path: string, value: number) => Promise<(number | null)[]>;
|
|
3079
|
+
/**
|
|
3080
|
+
* @see https://redis.io/commands/json.objkeys
|
|
3081
|
+
*/
|
|
3082
|
+
objkeys: (key: string, path?: string | undefined) => Promise<(string[] | null)[]>;
|
|
3083
|
+
/**
|
|
3084
|
+
* @see https://redis.io/commands/json.objlen
|
|
3085
|
+
*/
|
|
3086
|
+
objlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
3087
|
+
/**
|
|
3088
|
+
* @see https://redis.io/commands/json.resp
|
|
3089
|
+
*/
|
|
3090
|
+
resp: (key: string, path?: string | undefined) => Promise<any>;
|
|
3091
|
+
/**
|
|
3092
|
+
* @see https://redis.io/commands/json.set
|
|
3093
|
+
*/
|
|
3094
|
+
set: (key: string, path: string, value: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[], opts?: {
|
|
3095
|
+
nx: true;
|
|
3096
|
+
xx?: never;
|
|
3097
|
+
} | {
|
|
3098
|
+
nx?: never;
|
|
3099
|
+
xx: true;
|
|
3100
|
+
} | undefined) => Promise<"OK" | null>;
|
|
3101
|
+
/**
|
|
3102
|
+
* @see https://redis.io/commands/json.strappend
|
|
3103
|
+
*/
|
|
3104
|
+
strappend: (key: string, path: string, value: string) => Promise<(number | null)[]>;
|
|
3105
|
+
/**
|
|
3106
|
+
* @see https://redis.io/commands/json.strlen
|
|
3107
|
+
*/
|
|
3108
|
+
strlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
3109
|
+
/**
|
|
3110
|
+
* @see https://redis.io/commands/json.toggle
|
|
3111
|
+
*/
|
|
3112
|
+
toggle: (key: string, path: string) => Promise<number[]>;
|
|
3113
|
+
/**
|
|
3114
|
+
* @see https://redis.io/commands/json.type
|
|
3115
|
+
*/
|
|
3116
|
+
type: (key: string, path?: string | undefined) => Promise<string[]>;
|
|
3117
|
+
};
|
|
3118
|
+
/**
|
|
3119
|
+
* Wrap a new middleware around the HTTP client.
|
|
3120
|
+
*/
|
|
3121
|
+
use: <TResult = unknown>(middleware: (r: UpstashRequest, next: <TResult_1 = unknown>(req: UpstashRequest) => Promise<UpstashResponse<TResult_1>>) => Promise<UpstashResponse<TResult>>) => void;
|
|
3122
|
+
/**
|
|
3123
|
+
* Technically this is not private, we can hide it from intellisense by doing this
|
|
3124
|
+
*/
|
|
3125
|
+
protected addTelemetry: (telemetry: Telemetry) => void;
|
|
3126
|
+
/**
|
|
3127
|
+
* Creates a new script.
|
|
3128
|
+
*
|
|
3129
|
+
* Scripts offer the ability to optimistically try to execute a script without having to send the
|
|
3130
|
+
* entire script to the server. If the script is loaded on the server, it tries again by sending
|
|
3131
|
+
* the entire script. Afterwards, the script is cached on the server.
|
|
3132
|
+
*
|
|
3133
|
+
* @param script - The script to create
|
|
3134
|
+
* @param opts - Optional options to pass to the script `{ readonly?: boolean }`
|
|
3135
|
+
* @returns A new script
|
|
3136
|
+
*
|
|
3137
|
+
* @example
|
|
3138
|
+
* ```ts
|
|
3139
|
+
* const redis = new Redis({...})
|
|
3140
|
+
*
|
|
3141
|
+
* const script = redis.createScript<string>("return ARGV[1];")
|
|
3142
|
+
* const arg1 = await script.eval([], ["Hello World"])
|
|
3143
|
+
* expect(arg1, "Hello World")
|
|
3144
|
+
* ```
|
|
3145
|
+
* @example
|
|
3146
|
+
* ```ts
|
|
3147
|
+
* const redis = new Redis({...})
|
|
3148
|
+
*
|
|
3149
|
+
* const script = redis.createScript<string>("return ARGV[1];", { readonly: true })
|
|
3150
|
+
* const arg1 = await script.evalRo([], ["Hello World"])
|
|
3151
|
+
* expect(arg1, "Hello World")
|
|
3152
|
+
* ```
|
|
3153
|
+
*/
|
|
3154
|
+
createScript<TResult = unknown, TReadonly extends boolean = false>(script: string, opts?: {
|
|
3155
|
+
readonly?: TReadonly;
|
|
3156
|
+
}): TReadonly extends true ? ScriptRO<TResult> : Script<TResult>;
|
|
3157
|
+
/**
|
|
3158
|
+
* Create a new pipeline that allows you to send requests in bulk.
|
|
3159
|
+
*
|
|
3160
|
+
* @see {@link Pipeline}
|
|
3161
|
+
*/
|
|
3162
|
+
pipeline: () => Pipeline<[]>;
|
|
3163
|
+
protected autoPipeline: () => Redis;
|
|
3164
|
+
/**
|
|
3165
|
+
* Create a new transaction to allow executing multiple steps atomically.
|
|
3166
|
+
*
|
|
3167
|
+
* All the commands in a transaction are serialized and executed sequentially. A request sent by
|
|
3168
|
+
* another client will never be served in the middle of the execution of a Redis Transaction. This
|
|
3169
|
+
* guarantees that the commands are executed as a single isolated operation.
|
|
3170
|
+
*
|
|
3171
|
+
* @see {@link Pipeline}
|
|
3172
|
+
*/
|
|
3173
|
+
multi: () => Pipeline<[]>;
|
|
3174
|
+
/**
|
|
3175
|
+
* Returns an instance that can be used to execute `BITFIELD` commands on one key.
|
|
3176
|
+
*
|
|
3177
|
+
* @example
|
|
3178
|
+
* ```typescript
|
|
3179
|
+
* redis.set("mykey", 0);
|
|
3180
|
+
* const result = await redis.bitfield("mykey")
|
|
3181
|
+
* .set("u4", 0, 16)
|
|
3182
|
+
* .incr("u4", "#1", 1)
|
|
3183
|
+
* .exec();
|
|
3184
|
+
* console.log(result); // [0, 1]
|
|
3185
|
+
* ```
|
|
3186
|
+
*
|
|
3187
|
+
* @see https://redis.io/commands/bitfield
|
|
3188
|
+
*/
|
|
3189
|
+
bitfield: (key: string) => BitFieldCommand<Promise<number[]>>;
|
|
3190
|
+
/**
|
|
3191
|
+
* @see https://redis.io/commands/append
|
|
3192
|
+
*/
|
|
3193
|
+
append: (key: string, value: string) => Promise<number>;
|
|
3194
|
+
/**
|
|
3195
|
+
* @see https://redis.io/commands/bitcount
|
|
3196
|
+
*/
|
|
3197
|
+
bitcount: (key: string, start: number, end: number) => Promise<number>;
|
|
3198
|
+
/**
|
|
3199
|
+
* @see https://redis.io/commands/bitop
|
|
3200
|
+
*/
|
|
3201
|
+
bitop: {
|
|
3202
|
+
(op: "and" | "or" | "xor", destinationKey: string, sourceKey: string, ...sourceKeys: string[]): Promise<number>;
|
|
3203
|
+
(op: "not", destinationKey: string, sourceKey: string): Promise<number>;
|
|
3204
|
+
};
|
|
3205
|
+
/**
|
|
3206
|
+
* @see https://redis.io/commands/bitpos
|
|
3207
|
+
*/
|
|
3208
|
+
bitpos: (key: string, bit: 0 | 1, start?: number | undefined, end?: number | undefined) => Promise<number>;
|
|
3209
|
+
/**
|
|
3210
|
+
* @see https://redis.io/commands/copy
|
|
3211
|
+
*/
|
|
3212
|
+
copy: (key: string, destinationKey: string, opts?: {
|
|
3213
|
+
replace: boolean;
|
|
3214
|
+
} | undefined) => Promise<"COPIED" | "NOT_COPIED">;
|
|
3215
|
+
/**
|
|
3216
|
+
* @see https://redis.io/commands/dbsize
|
|
3217
|
+
*/
|
|
3218
|
+
dbsize: () => Promise<number>;
|
|
3219
|
+
/**
|
|
3220
|
+
* @see https://redis.io/commands/decr
|
|
3221
|
+
*/
|
|
3222
|
+
decr: (key: string) => Promise<number>;
|
|
3223
|
+
/**
|
|
3224
|
+
* @see https://redis.io/commands/decrby
|
|
3225
|
+
*/
|
|
3226
|
+
decrby: (key: string, decrement: number) => Promise<number>;
|
|
3227
|
+
/**
|
|
3228
|
+
* @see https://redis.io/commands/del
|
|
3229
|
+
*/
|
|
3230
|
+
del: (...args: CommandArgs<typeof DelCommand>) => Promise<number>;
|
|
3231
|
+
/**
|
|
3232
|
+
* @see https://redis.io/commands/echo
|
|
3233
|
+
*/
|
|
3234
|
+
echo: (message: string) => Promise<string>;
|
|
3235
|
+
/**
|
|
3236
|
+
* @see https://redis.io/commands/eval_ro
|
|
3237
|
+
*/
|
|
3238
|
+
evalRo: <TArgs extends unknown[], TData = unknown>(script: string, keys: string[], args: TArgs) => Promise<TData>;
|
|
3239
|
+
/**
|
|
3240
|
+
* @see https://redis.io/commands/eval
|
|
3241
|
+
*/
|
|
3242
|
+
eval: <TArgs extends unknown[], TData = unknown>(script: string, keys: string[], args: TArgs) => Promise<TData>;
|
|
3243
|
+
/**
|
|
3244
|
+
* @see https://redis.io/commands/evalsha_ro
|
|
3245
|
+
*/
|
|
3246
|
+
evalshaRo: <TArgs extends unknown[], TData = unknown>(sha1: string, keys: string[], args: TArgs) => Promise<TData>;
|
|
3247
|
+
/**
|
|
3248
|
+
* @see https://redis.io/commands/evalsha
|
|
3249
|
+
*/
|
|
3250
|
+
evalsha: <TArgs extends unknown[], TData = unknown>(sha1: string, keys: string[], args: TArgs) => Promise<TData>;
|
|
3251
|
+
/**
|
|
3252
|
+
* Generic method to execute any Redis command.
|
|
3253
|
+
*/
|
|
3254
|
+
exec: <TResult>(args: [command: string, ...args: (string | number | boolean)[]]) => Promise<TResult>;
|
|
3255
|
+
/**
|
|
3256
|
+
* @see https://redis.io/commands/exists
|
|
3257
|
+
*/
|
|
3258
|
+
exists: (...args: CommandArgs<typeof ExistsCommand>) => Promise<number>;
|
|
3259
|
+
/**
|
|
3260
|
+
* @see https://redis.io/commands/expire
|
|
3261
|
+
*/
|
|
3262
|
+
expire: (key: string, seconds: number, option?: ExpireOption | undefined) => Promise<0 | 1>;
|
|
3263
|
+
/**
|
|
3264
|
+
* @see https://redis.io/commands/expireat
|
|
3265
|
+
*/
|
|
3266
|
+
expireat: (key: string, unix: number, option?: ExpireOption | undefined) => Promise<0 | 1>;
|
|
3267
|
+
/**
|
|
3268
|
+
* @see https://redis.io/commands/flushall
|
|
3269
|
+
*/
|
|
3270
|
+
flushall: (args?: CommandArgs<typeof FlushAllCommand>) => Promise<"OK">;
|
|
3271
|
+
/**
|
|
3272
|
+
* @see https://redis.io/commands/flushdb
|
|
3273
|
+
*/
|
|
3274
|
+
flushdb: (opts?: {
|
|
3275
|
+
async?: boolean;
|
|
3276
|
+
} | undefined) => Promise<"OK">;
|
|
3277
|
+
/**
|
|
3278
|
+
* @see https://redis.io/commands/geoadd
|
|
3279
|
+
*/
|
|
3280
|
+
geoadd: <TData>(args_0: string, args_1: GeoAddCommandOptions | GeoMember<TData>, ...args_2: GeoMember<TData>[]) => Promise<number | null>;
|
|
3281
|
+
/**
|
|
3282
|
+
* @see https://redis.io/commands/geopos
|
|
3283
|
+
*/
|
|
3284
|
+
geopos: <TData>(args_0: string, ...args_1: TData[]) => Promise<{
|
|
3285
|
+
lng: number;
|
|
3286
|
+
lat: number;
|
|
3287
|
+
}[]>;
|
|
3288
|
+
/**
|
|
3289
|
+
* @see https://redis.io/commands/geodist
|
|
3290
|
+
*/
|
|
3291
|
+
geodist: <TData>(key: string, member1: TData, member2: TData, unit?: "M" | "KM" | "FT" | "MI" | undefined) => Promise<number | null>;
|
|
3292
|
+
/**
|
|
3293
|
+
* @see https://redis.io/commands/geohash
|
|
3294
|
+
*/
|
|
3295
|
+
geohash: <TData>(args_0: string, ...args_1: TData[]) => Promise<(string | null)[]>;
|
|
3296
|
+
/**
|
|
3297
|
+
* @see https://redis.io/commands/geosearch
|
|
3298
|
+
*/
|
|
3299
|
+
geosearch: <TData>(key: string, centerPoint: {
|
|
3300
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
3301
|
+
coordinate: {
|
|
3302
|
+
lon: number;
|
|
3303
|
+
lat: number;
|
|
3304
|
+
};
|
|
3305
|
+
} | {
|
|
3306
|
+
type: "FROMMEMBER" | "frommember";
|
|
3307
|
+
member: TData;
|
|
3308
|
+
}, shape: {
|
|
3309
|
+
type: "BYRADIUS" | "byradius";
|
|
3310
|
+
radius: number;
|
|
3311
|
+
radiusType: "M" | "KM" | "FT" | "MI";
|
|
3312
|
+
} | {
|
|
3313
|
+
type: "BYBOX" | "bybox";
|
|
3314
|
+
rect: {
|
|
3315
|
+
width: number;
|
|
3316
|
+
height: number;
|
|
3317
|
+
};
|
|
3318
|
+
rectType: "M" | "KM" | "FT" | "MI";
|
|
3319
|
+
}, order: "ASC" | "DESC" | "asc" | "desc", opts?: {
|
|
3320
|
+
count?: {
|
|
3321
|
+
limit: number;
|
|
3322
|
+
any?: boolean;
|
|
3323
|
+
};
|
|
3324
|
+
withCoord?: boolean;
|
|
3325
|
+
withDist?: boolean;
|
|
3326
|
+
withHash?: boolean;
|
|
3327
|
+
} | undefined) => Promise<({
|
|
3328
|
+
member: TData;
|
|
3329
|
+
} & {
|
|
3330
|
+
coord?: {
|
|
3331
|
+
long: number;
|
|
3332
|
+
lat: number;
|
|
3333
|
+
} | undefined;
|
|
3334
|
+
dist?: number | undefined;
|
|
3335
|
+
hash?: string | undefined;
|
|
3336
|
+
})[]>;
|
|
3337
|
+
/**
|
|
3338
|
+
* @see https://redis.io/commands/geosearchstore
|
|
3339
|
+
*/
|
|
3340
|
+
geosearchstore: <TData>(destination: string, key: string, centerPoint: {
|
|
3341
|
+
type: "FROMLONLAT" | "fromlonlat";
|
|
3342
|
+
coordinate: {
|
|
3343
|
+
lon: number;
|
|
3344
|
+
lat: number;
|
|
3345
|
+
};
|
|
3346
|
+
} | {
|
|
3347
|
+
type: "FROMMEMBER" | "frommember";
|
|
3348
|
+
member: TData;
|
|
3349
|
+
}, shape: {
|
|
3350
|
+
type: "BYRADIUS" | "byradius";
|
|
3351
|
+
radius: number;
|
|
3352
|
+
radiusType: "M" | "KM" | "FT" | "MI";
|
|
3353
|
+
} | {
|
|
3354
|
+
type: "BYBOX" | "bybox";
|
|
3355
|
+
rect: {
|
|
3356
|
+
width: number;
|
|
3357
|
+
height: number;
|
|
3358
|
+
};
|
|
3359
|
+
rectType: "M" | "KM" | "FT" | "MI";
|
|
3360
|
+
}, order: "ASC" | "DESC" | "asc" | "desc", opts?: {
|
|
3361
|
+
count?: {
|
|
3362
|
+
limit: number;
|
|
3363
|
+
any?: boolean;
|
|
3364
|
+
};
|
|
3365
|
+
storeDist?: boolean;
|
|
3366
|
+
} | undefined) => Promise<number>;
|
|
3367
|
+
/**
|
|
3368
|
+
* @see https://redis.io/commands/get
|
|
3369
|
+
*/
|
|
3370
|
+
get: <TData>(key: string) => Promise<TData | null>;
|
|
3371
|
+
/**
|
|
3372
|
+
* @see https://redis.io/commands/getbit
|
|
3373
|
+
*/
|
|
3374
|
+
getbit: (key: string, offset: number) => Promise<0 | 1>;
|
|
3375
|
+
/**
|
|
3376
|
+
* @see https://redis.io/commands/getdel
|
|
3377
|
+
*/
|
|
3378
|
+
getdel: <TData>(key: string) => Promise<TData | null>;
|
|
3379
|
+
/**
|
|
3380
|
+
* @see https://redis.io/commands/getex
|
|
3381
|
+
*/
|
|
3382
|
+
getex: <TData>(key: string, opts?: ({
|
|
3383
|
+
ex: number;
|
|
3384
|
+
px?: never;
|
|
3385
|
+
exat?: never;
|
|
3386
|
+
pxat?: never;
|
|
3387
|
+
persist?: never;
|
|
3388
|
+
} | {
|
|
3389
|
+
ex?: never;
|
|
3390
|
+
px: number;
|
|
3391
|
+
exat?: never;
|
|
3392
|
+
pxat?: never;
|
|
3393
|
+
persist?: never;
|
|
3394
|
+
} | {
|
|
3395
|
+
ex?: never;
|
|
3396
|
+
px?: never;
|
|
3397
|
+
exat: number;
|
|
3398
|
+
pxat?: never;
|
|
3399
|
+
persist?: never;
|
|
3400
|
+
} | {
|
|
3401
|
+
ex?: never;
|
|
3402
|
+
px?: never;
|
|
3403
|
+
exat?: never;
|
|
3404
|
+
pxat: number;
|
|
3405
|
+
persist?: never;
|
|
3406
|
+
} | {
|
|
3407
|
+
ex?: never;
|
|
3408
|
+
px?: never;
|
|
3409
|
+
exat?: never;
|
|
3410
|
+
pxat?: never;
|
|
3411
|
+
persist: true;
|
|
3412
|
+
} | {
|
|
3413
|
+
ex?: never;
|
|
3414
|
+
px?: never;
|
|
3415
|
+
exat?: never;
|
|
3416
|
+
pxat?: never;
|
|
3417
|
+
persist?: never;
|
|
3418
|
+
}) | undefined) => Promise<TData | null>;
|
|
3419
|
+
/**
|
|
3420
|
+
* @see https://redis.io/commands/getrange
|
|
3421
|
+
*/
|
|
3422
|
+
getrange: (key: string, start: number, end: number) => Promise<string>;
|
|
3423
|
+
/**
|
|
3424
|
+
* @see https://redis.io/commands/getset
|
|
3425
|
+
*/
|
|
3426
|
+
getset: <TData>(key: string, value: TData) => Promise<TData | null>;
|
|
3427
|
+
/**
|
|
3428
|
+
* @see https://redis.io/commands/hdel
|
|
3429
|
+
*/
|
|
3430
|
+
hdel: (key: string, ...fields: string[]) => Promise<0 | 1>;
|
|
3431
|
+
/**
|
|
3432
|
+
* @see https://redis.io/commands/hexists
|
|
3433
|
+
*/
|
|
3434
|
+
hexists: (key: string, field: string) => Promise<number>;
|
|
3435
|
+
/**
|
|
3436
|
+
* @see https://redis.io/commands/hexpire
|
|
3437
|
+
*/
|
|
3438
|
+
hexpire: (key: string, fields: string | number | (string | number)[], seconds: number, option?: ExpireOption | undefined) => Promise<(0 | 1 | 2 | -2)[]>;
|
|
3439
|
+
/**
|
|
3440
|
+
* @see https://redis.io/commands/hexpireat
|
|
3441
|
+
*/
|
|
3442
|
+
hexpireat: (key: string, fields: string | number | (string | number)[], timestamp: number, option?: ExpireOption | undefined) => Promise<(0 | 1 | 2 | -2)[]>;
|
|
3443
|
+
/**
|
|
3444
|
+
* @see https://redis.io/commands/hexpiretime
|
|
3445
|
+
*/
|
|
3446
|
+
hexpiretime: (key: string, fields: string | number | (string | number)[]) => Promise<number[]>;
|
|
3447
|
+
/**
|
|
3448
|
+
* @see https://redis.io/commands/httl
|
|
3449
|
+
*/
|
|
3450
|
+
httl: (key: string, fields: string | number | (string | number)[]) => Promise<number[]>;
|
|
3451
|
+
/**
|
|
3452
|
+
* @see https://redis.io/commands/hpexpire
|
|
3453
|
+
*/
|
|
3454
|
+
hpexpire: (key: string, fields: string | number | (string | number)[], milliseconds: number, option?: ExpireOption | undefined) => Promise<(0 | 1 | 2 | -2)[]>;
|
|
3455
|
+
/**
|
|
3456
|
+
* @see https://redis.io/commands/hpexpireat
|
|
3457
|
+
*/
|
|
3458
|
+
hpexpireat: (key: string, fields: string | number | (string | number)[], timestamp: number, option?: ExpireOption | undefined) => Promise<(0 | 1 | 2 | -2)[]>;
|
|
3459
|
+
/**
|
|
3460
|
+
* @see https://redis.io/commands/hpexpiretime
|
|
3461
|
+
*/
|
|
3462
|
+
hpexpiretime: (key: string, fields: string | number | (string | number)[]) => Promise<number[]>;
|
|
3463
|
+
/**
|
|
3464
|
+
* @see https://redis.io/commands/hpttl
|
|
3465
|
+
*/
|
|
3466
|
+
hpttl: (key: string, fields: string | number | (string | number)[]) => Promise<number[]>;
|
|
3467
|
+
/**
|
|
3468
|
+
* @see https://redis.io/commands/hpersist
|
|
3469
|
+
*/
|
|
3470
|
+
hpersist: (key: string, fields: string | number | (string | number)[]) => Promise<(1 | -2 | -1)[]>;
|
|
3471
|
+
/**
|
|
3472
|
+
* @see https://redis.io/commands/hget
|
|
3473
|
+
*/
|
|
3474
|
+
hget: <TData>(key: string, field: string) => Promise<TData | null>;
|
|
3475
|
+
/**
|
|
3476
|
+
* @see https://redis.io/commands/hgetall
|
|
3477
|
+
*/
|
|
3478
|
+
hgetall: <TData extends Record<string, unknown>>(key: string) => Promise<TData | null>;
|
|
3479
|
+
/**
|
|
3480
|
+
* @see https://redis.io/commands/hincrby
|
|
3481
|
+
*/
|
|
3482
|
+
hincrby: (key: string, field: string, increment: number) => Promise<number>;
|
|
3483
|
+
/**
|
|
3484
|
+
* @see https://redis.io/commands/hincrbyfloat
|
|
3485
|
+
*/
|
|
3486
|
+
hincrbyfloat: (key: string, field: string, increment: number) => Promise<number>;
|
|
3487
|
+
/**
|
|
3488
|
+
* @see https://redis.io/commands/hkeys
|
|
3489
|
+
*/
|
|
3490
|
+
hkeys: (key: string) => Promise<string[]>;
|
|
3491
|
+
/**
|
|
3492
|
+
* @see https://redis.io/commands/hlen
|
|
3493
|
+
*/
|
|
3494
|
+
hlen: (key: string) => Promise<number>;
|
|
3495
|
+
/**
|
|
3496
|
+
* @see https://redis.io/commands/hmget
|
|
3497
|
+
*/
|
|
3498
|
+
hmget: <TData extends Record<string, unknown>>(key: string, ...fields: string[]) => Promise<TData | null>;
|
|
3499
|
+
/**
|
|
3500
|
+
* @see https://redis.io/commands/hmset
|
|
3501
|
+
*/
|
|
3502
|
+
hmset: <TData>(key: string, kv: Record<string, TData>) => Promise<"OK">;
|
|
3503
|
+
/**
|
|
3504
|
+
* @see https://redis.io/commands/hrandfield
|
|
3505
|
+
*/
|
|
3506
|
+
hrandfield: {
|
|
3507
|
+
(key: string): Promise<string | null>;
|
|
3508
|
+
(key: string, count: number): Promise<string[]>;
|
|
3509
|
+
<TData extends Record<string, unknown>>(key: string, count: number, withValues: boolean): Promise<Partial<TData>>;
|
|
3510
|
+
};
|
|
3511
|
+
/**
|
|
3512
|
+
* @see https://redis.io/commands/hscan
|
|
3513
|
+
*/
|
|
3514
|
+
hscan: (key: string, cursor: string | number, cmdOpts?: ScanCommandOptions | undefined) => Promise<[string, (string | number)[]]>;
|
|
3515
|
+
/**
|
|
3516
|
+
* @see https://redis.io/commands/hset
|
|
3517
|
+
*/
|
|
3518
|
+
hset: <TData>(key: string, kv: Record<string, TData>) => Promise<number>;
|
|
3519
|
+
/**
|
|
3520
|
+
* @see https://redis.io/commands/hsetnx
|
|
3521
|
+
*/
|
|
3522
|
+
hsetnx: <TData>(key: string, field: string, value: TData) => Promise<0 | 1>;
|
|
3523
|
+
/**
|
|
3524
|
+
* @see https://redis.io/commands/hstrlen
|
|
3525
|
+
*/
|
|
3526
|
+
hstrlen: (key: string, field: string) => Promise<number>;
|
|
3527
|
+
/**
|
|
3528
|
+
* @see https://redis.io/commands/hvals
|
|
3529
|
+
*/
|
|
3530
|
+
hvals: (key: string) => Promise<any>;
|
|
3531
|
+
/**
|
|
3532
|
+
* @see https://redis.io/commands/incr
|
|
3533
|
+
*/
|
|
3534
|
+
incr: (key: string) => Promise<number>;
|
|
3535
|
+
/**
|
|
3536
|
+
* @see https://redis.io/commands/incrby
|
|
3537
|
+
*/
|
|
3538
|
+
incrby: (key: string, value: number) => Promise<number>;
|
|
3539
|
+
/**
|
|
3540
|
+
* @see https://redis.io/commands/incrbyfloat
|
|
3541
|
+
*/
|
|
3542
|
+
incrbyfloat: (key: string, value: number) => Promise<number>;
|
|
3543
|
+
/**
|
|
3544
|
+
* @see https://redis.io/commands/keys
|
|
3545
|
+
*/
|
|
3546
|
+
keys: (pattern: string) => Promise<string[]>;
|
|
3547
|
+
/**
|
|
3548
|
+
* @see https://redis.io/commands/lindex
|
|
3549
|
+
*/
|
|
3550
|
+
lindex: (key: string, index: number) => Promise<any>;
|
|
3551
|
+
/**
|
|
3552
|
+
* @see https://redis.io/commands/linsert
|
|
3553
|
+
*/
|
|
3554
|
+
linsert: <TData>(key: string, direction: "before" | "after", pivot: TData, value: TData) => Promise<number>;
|
|
3555
|
+
/**
|
|
3556
|
+
* @see https://redis.io/commands/llen
|
|
3557
|
+
*/
|
|
3558
|
+
llen: (key: string) => Promise<number>;
|
|
3559
|
+
/**
|
|
3560
|
+
* @see https://redis.io/commands/lmove
|
|
3561
|
+
*/
|
|
3562
|
+
lmove: <TData = string>(source: string, destination: string, whereFrom: "left" | "right", whereTo: "left" | "right") => Promise<TData>;
|
|
3563
|
+
/**
|
|
3564
|
+
* @see https://redis.io/commands/lpop
|
|
3565
|
+
*/
|
|
3566
|
+
lpop: <TData>(key: string, count?: number | undefined) => Promise<TData | null>;
|
|
3567
|
+
/**
|
|
3568
|
+
* @see https://redis.io/commands/lmpop
|
|
3569
|
+
*/
|
|
3570
|
+
lmpop: <TData>(numkeys: number, keys: string[], args_2: "LEFT" | "RIGHT", count?: number | undefined) => Promise<[string, TData[]] | null>;
|
|
3571
|
+
/**
|
|
3572
|
+
* @see https://redis.io/commands/lpos
|
|
3573
|
+
*/
|
|
3574
|
+
lpos: <TData = number>(key: string, element: unknown, opts?: {
|
|
3575
|
+
rank?: number;
|
|
3576
|
+
count?: number;
|
|
3577
|
+
maxLen?: number;
|
|
3578
|
+
} | undefined) => Promise<TData>;
|
|
3579
|
+
/**
|
|
3580
|
+
* @see https://redis.io/commands/lpush
|
|
3581
|
+
*/
|
|
3582
|
+
lpush: <TData>(key: string, ...elements: TData[]) => Promise<number>;
|
|
3583
|
+
/**
|
|
3584
|
+
* @see https://redis.io/commands/lpushx
|
|
3585
|
+
*/
|
|
3586
|
+
lpushx: <TData>(key: string, ...elements: TData[]) => Promise<number>;
|
|
3587
|
+
/**
|
|
3588
|
+
* @see https://redis.io/commands/lrange
|
|
3589
|
+
*/
|
|
3590
|
+
lrange: <TResult = string>(key: string, start: number, end: number) => Promise<TResult[]>;
|
|
3591
|
+
/**
|
|
3592
|
+
* @see https://redis.io/commands/lrem
|
|
3593
|
+
*/
|
|
3594
|
+
lrem: <TData>(key: string, count: number, value: TData) => Promise<number>;
|
|
3595
|
+
/**
|
|
3596
|
+
* @see https://redis.io/commands/lset
|
|
3597
|
+
*/
|
|
3598
|
+
lset: <TData>(key: string, index: number, value: TData) => Promise<"OK">;
|
|
3599
|
+
/**
|
|
3600
|
+
* @see https://redis.io/commands/ltrim
|
|
3601
|
+
*/
|
|
3602
|
+
ltrim: (key: string, start: number, end: number) => Promise<"OK">;
|
|
3603
|
+
/**
|
|
3604
|
+
* @see https://redis.io/commands/mget
|
|
3605
|
+
*/
|
|
3606
|
+
mget: <TData extends unknown[]>(...args: CommandArgs<typeof MGetCommand>) => Promise<TData>;
|
|
3607
|
+
/**
|
|
3608
|
+
* @see https://redis.io/commands/mset
|
|
3609
|
+
*/
|
|
3610
|
+
mset: <TData>(kv: Record<string, TData>) => Promise<"OK">;
|
|
3611
|
+
/**
|
|
3612
|
+
* @see https://redis.io/commands/msetnx
|
|
3613
|
+
*/
|
|
3614
|
+
msetnx: <TData>(kv: Record<string, TData>) => Promise<number>;
|
|
3615
|
+
/**
|
|
3616
|
+
* @see https://redis.io/commands/persist
|
|
3617
|
+
*/
|
|
3618
|
+
persist: (key: string) => Promise<0 | 1>;
|
|
3619
|
+
/**
|
|
3620
|
+
* @see https://redis.io/commands/pexpire
|
|
3621
|
+
*/
|
|
3622
|
+
pexpire: (key: string, milliseconds: number, option?: ExpireOption | undefined) => Promise<0 | 1>;
|
|
3623
|
+
/**
|
|
3624
|
+
* @see https://redis.io/commands/pexpireat
|
|
3625
|
+
*/
|
|
3626
|
+
pexpireat: (key: string, unix: number, option?: ExpireOption | undefined) => Promise<0 | 1>;
|
|
3627
|
+
/**
|
|
3628
|
+
* @see https://redis.io/commands/pfadd
|
|
3629
|
+
*/
|
|
3630
|
+
pfadd: (args_0: string, ...args_1: unknown[]) => Promise<number>;
|
|
3631
|
+
/**
|
|
3632
|
+
* @see https://redis.io/commands/pfcount
|
|
3633
|
+
*/
|
|
3634
|
+
pfcount: (args_0: string, ...args_1: string[]) => Promise<number>;
|
|
3635
|
+
/**
|
|
3636
|
+
* @see https://redis.io/commands/pfmerge
|
|
3637
|
+
*/
|
|
3638
|
+
pfmerge: (destination_key: string, ...args_1: string[]) => Promise<"OK">;
|
|
3639
|
+
/**
|
|
3640
|
+
* @see https://redis.io/commands/ping
|
|
3641
|
+
*/
|
|
3642
|
+
ping: (args?: CommandArgs<typeof PingCommand>) => Promise<string>;
|
|
3643
|
+
/**
|
|
3644
|
+
* @see https://redis.io/commands/psetex
|
|
3645
|
+
*/
|
|
3646
|
+
psetex: <TData>(key: string, ttl: number, value: TData) => Promise<string>;
|
|
3647
|
+
/**
|
|
3648
|
+
* @see https://redis.io/commands/psubscribe
|
|
3649
|
+
*/
|
|
3650
|
+
psubscribe: <TMessage>(patterns: string | string[]) => Subscriber<TMessage>;
|
|
3651
|
+
/**
|
|
3652
|
+
* @see https://redis.io/commands/pttl
|
|
3653
|
+
*/
|
|
3654
|
+
pttl: (key: string) => Promise<number>;
|
|
3655
|
+
/**
|
|
3656
|
+
* @see https://redis.io/commands/publish
|
|
3657
|
+
*/
|
|
3658
|
+
publish: (channel: string, message: unknown) => Promise<number>;
|
|
3659
|
+
/**
|
|
3660
|
+
* @see https://redis.io/commands/randomkey
|
|
3661
|
+
*/
|
|
3662
|
+
randomkey: () => Promise<string | null>;
|
|
3663
|
+
/**
|
|
3664
|
+
* @see https://redis.io/commands/rename
|
|
3665
|
+
*/
|
|
3666
|
+
rename: (source: string, destination: string) => Promise<"OK">;
|
|
3667
|
+
/**
|
|
3668
|
+
* @see https://redis.io/commands/renamenx
|
|
3669
|
+
*/
|
|
3670
|
+
renamenx: (source: string, destination: string) => Promise<0 | 1>;
|
|
3671
|
+
/**
|
|
3672
|
+
* @see https://redis.io/commands/rpop
|
|
3673
|
+
*/
|
|
3674
|
+
rpop: <TData = string>(key: string, count?: number | undefined) => Promise<TData | null>;
|
|
3675
|
+
/**
|
|
3676
|
+
* @see https://redis.io/commands/rpush
|
|
3677
|
+
*/
|
|
3678
|
+
rpush: <TData>(key: string, ...elements: TData[]) => Promise<number>;
|
|
3679
|
+
/**
|
|
3680
|
+
* @see https://redis.io/commands/rpushx
|
|
3681
|
+
*/
|
|
3682
|
+
rpushx: <TData>(key: string, ...elements: TData[]) => Promise<number>;
|
|
3683
|
+
/**
|
|
3684
|
+
* @see https://redis.io/commands/sadd
|
|
3685
|
+
*/
|
|
3686
|
+
sadd: <TData>(key: string, member: TData, ...members: TData[]) => Promise<number>;
|
|
3687
|
+
/**
|
|
3688
|
+
* @see https://redis.io/commands/scan
|
|
3689
|
+
*/
|
|
3690
|
+
scan(cursor: string | number): Promise<ScanResultStandard>;
|
|
3691
|
+
scan<TOptions extends ScanCommandOptions>(cursor: string | number, opts: TOptions): Promise<TOptions extends {
|
|
3692
|
+
withType: true;
|
|
3693
|
+
} ? ScanResultWithType : ScanResultStandard>;
|
|
3694
|
+
/**
|
|
3695
|
+
* @see https://redis.io/commands/scard
|
|
3696
|
+
*/
|
|
3697
|
+
scard: (key: string) => Promise<number>;
|
|
3698
|
+
/**
|
|
3699
|
+
* @see https://redis.io/commands/script-exists
|
|
3700
|
+
*/
|
|
3701
|
+
scriptExists: (...args: CommandArgs<typeof ScriptExistsCommand>) => Promise<number[]>;
|
|
3702
|
+
/**
|
|
3703
|
+
* @see https://redis.io/commands/script-flush
|
|
3704
|
+
*/
|
|
3705
|
+
scriptFlush: (opts?: ScriptFlushCommandOptions | undefined) => Promise<"OK">;
|
|
3706
|
+
/**
|
|
3707
|
+
* @see https://redis.io/commands/script-load
|
|
3708
|
+
*/
|
|
3709
|
+
scriptLoad: (script: string) => Promise<string>;
|
|
3710
|
+
/**
|
|
3711
|
+
* @see https://redis.io/commands/sdiff
|
|
3712
|
+
*/
|
|
3713
|
+
sdiff: (key: string, ...keys: string[]) => Promise<unknown[]>;
|
|
3714
|
+
/**
|
|
3715
|
+
* @see https://redis.io/commands/sdiffstore
|
|
3716
|
+
*/
|
|
3717
|
+
sdiffstore: (destination: string, ...keys: string[]) => Promise<number>;
|
|
3718
|
+
/**
|
|
3719
|
+
* @see https://redis.io/commands/set
|
|
3720
|
+
*/
|
|
3721
|
+
set: <TData>(key: string, value: TData, opts?: SetCommandOptions) => Promise<"OK" | TData | null>;
|
|
3722
|
+
/**
|
|
3723
|
+
* @see https://redis.io/commands/setbit
|
|
3724
|
+
*/
|
|
3725
|
+
setbit: (key: string, offset: number, value: 0 | 1) => Promise<0 | 1>;
|
|
3726
|
+
/**
|
|
3727
|
+
* @see https://redis.io/commands/setex
|
|
3728
|
+
*/
|
|
3729
|
+
setex: <TData>(key: string, ttl: number, value: TData) => Promise<"OK">;
|
|
3730
|
+
/**
|
|
3731
|
+
* @see https://redis.io/commands/setnx
|
|
3732
|
+
*/
|
|
3733
|
+
setnx: <TData>(key: string, value: TData) => Promise<number>;
|
|
3734
|
+
/**
|
|
3735
|
+
* @see https://redis.io/commands/setrange
|
|
3736
|
+
*/
|
|
3737
|
+
setrange: (key: string, offset: number, value: string) => Promise<number>;
|
|
3738
|
+
/**
|
|
3739
|
+
* @see https://redis.io/commands/sinter
|
|
3740
|
+
*/
|
|
3741
|
+
sinter: (key: string, ...keys: string[]) => Promise<string[]>;
|
|
3742
|
+
/**
|
|
3743
|
+
* @see https://redis.io/commands/sinterstore
|
|
3744
|
+
*/
|
|
3745
|
+
sinterstore: (destination: string, key: string, ...keys: string[]) => Promise<number>;
|
|
3746
|
+
/**
|
|
3747
|
+
* @see https://redis.io/commands/sismember
|
|
3748
|
+
*/
|
|
3749
|
+
sismember: <TData>(key: string, member: TData) => Promise<0 | 1>;
|
|
3750
|
+
/**
|
|
3751
|
+
* @see https://redis.io/commands/smismember
|
|
3752
|
+
*/
|
|
3753
|
+
smismember: <TMembers extends unknown[]>(key: string, members: TMembers) => Promise<(0 | 1)[]>;
|
|
3754
|
+
/**
|
|
3755
|
+
* @see https://redis.io/commands/smembers
|
|
3756
|
+
*/
|
|
3757
|
+
smembers: <TData extends unknown[] = string[]>(key: string) => Promise<TData>;
|
|
3758
|
+
/**
|
|
3759
|
+
* @see https://redis.io/commands/smove
|
|
3760
|
+
*/
|
|
3761
|
+
smove: <TData>(source: string, destination: string, member: TData) => Promise<0 | 1>;
|
|
3762
|
+
/**
|
|
3763
|
+
* @see https://redis.io/commands/spop
|
|
3764
|
+
*/
|
|
3765
|
+
spop: <TData>(key: string, count?: number | undefined) => Promise<TData | null>;
|
|
3766
|
+
/**
|
|
3767
|
+
* @see https://redis.io/commands/srandmember
|
|
3768
|
+
*/
|
|
3769
|
+
srandmember: <TData>(key: string, count?: number | undefined) => Promise<TData | null>;
|
|
3770
|
+
/**
|
|
3771
|
+
* @see https://redis.io/commands/srem
|
|
3772
|
+
*/
|
|
3773
|
+
srem: <TData>(key: string, ...members: TData[]) => Promise<number>;
|
|
3774
|
+
/**
|
|
3775
|
+
* @see https://redis.io/commands/sscan
|
|
3776
|
+
*/
|
|
3777
|
+
sscan: (key: string, cursor: string | number, opts?: ScanCommandOptions | undefined) => Promise<[string, (string | number)[]]>;
|
|
3778
|
+
/**
|
|
3779
|
+
* @see https://redis.io/commands/strlen
|
|
3780
|
+
*/
|
|
3781
|
+
strlen: (key: string) => Promise<number>;
|
|
3782
|
+
/**
|
|
3783
|
+
* @see https://redis.io/commands/subscribe
|
|
3784
|
+
*/
|
|
3785
|
+
subscribe: <TMessage>(channels: string | string[]) => Subscriber<TMessage>;
|
|
3786
|
+
/**
|
|
3787
|
+
* @see https://redis.io/commands/sunion
|
|
3788
|
+
*/
|
|
3789
|
+
sunion: (key: string, ...keys: string[]) => Promise<unknown[]>;
|
|
3790
|
+
/**
|
|
3791
|
+
* @see https://redis.io/commands/sunionstore
|
|
3792
|
+
*/
|
|
3793
|
+
sunionstore: (destination: string, key: string, ...keys: string[]) => Promise<number>;
|
|
3794
|
+
/**
|
|
3795
|
+
* @see https://redis.io/commands/time
|
|
3796
|
+
*/
|
|
3797
|
+
time: () => Promise<[number, number]>;
|
|
3798
|
+
/**
|
|
3799
|
+
* @see https://redis.io/commands/touch
|
|
3800
|
+
*/
|
|
3801
|
+
touch: (...args: CommandArgs<typeof TouchCommand>) => Promise<number>;
|
|
3802
|
+
/**
|
|
3803
|
+
* @see https://redis.io/commands/ttl
|
|
3804
|
+
*/
|
|
3805
|
+
ttl: (key: string) => Promise<number>;
|
|
3806
|
+
/**
|
|
3807
|
+
* @see https://redis.io/commands/type
|
|
3808
|
+
*/
|
|
3809
|
+
type: (key: string) => Promise<Type>;
|
|
3810
|
+
/**
|
|
3811
|
+
* @see https://redis.io/commands/unlink
|
|
3812
|
+
*/
|
|
3813
|
+
unlink: (...args: CommandArgs<typeof UnlinkCommand>) => Promise<number>;
|
|
3814
|
+
/**
|
|
3815
|
+
* @see https://redis.io/commands/xadd
|
|
3816
|
+
*/
|
|
3817
|
+
xadd: (key: string, id: string, entries: Record<string, unknown>, opts?: {
|
|
3818
|
+
nomkStream?: boolean;
|
|
3819
|
+
trim?: ({
|
|
3820
|
+
type: "MAXLEN" | "maxlen";
|
|
3821
|
+
threshold: number;
|
|
3822
|
+
} | {
|
|
3823
|
+
type: "MINID" | "minid";
|
|
3824
|
+
threshold: string;
|
|
3825
|
+
}) & ({
|
|
3826
|
+
comparison: "~";
|
|
3827
|
+
limit?: number;
|
|
3828
|
+
} | {
|
|
3829
|
+
comparison: "=";
|
|
3830
|
+
limit?: never;
|
|
3831
|
+
});
|
|
3832
|
+
} | undefined) => Promise<string>;
|
|
3833
|
+
/**
|
|
3834
|
+
* @see https://redis.io/commands/xack
|
|
3835
|
+
*/
|
|
3836
|
+
xack: (key: string, group: string, id: string | string[]) => Promise<number>;
|
|
3837
|
+
/**
|
|
3838
|
+
* @see https://redis.io/commands/xdel
|
|
3839
|
+
*/
|
|
3840
|
+
xdel: (key: string, ids: string | string[]) => Promise<number>;
|
|
3841
|
+
/**
|
|
3842
|
+
* @see https://redis.io/commands/xgroup
|
|
3843
|
+
*/
|
|
3844
|
+
xgroup: (key: string, opts: {
|
|
3845
|
+
type: "CREATE";
|
|
3846
|
+
group: string;
|
|
3847
|
+
id: `$` | string;
|
|
3848
|
+
options?: {
|
|
3849
|
+
MKSTREAM?: boolean;
|
|
3850
|
+
ENTRIESREAD?: number;
|
|
3851
|
+
};
|
|
3852
|
+
} | {
|
|
3853
|
+
type: "CREATECONSUMER";
|
|
3854
|
+
group: string;
|
|
3855
|
+
consumer: string;
|
|
3856
|
+
} | {
|
|
3857
|
+
type: "DELCONSUMER";
|
|
3858
|
+
group: string;
|
|
3859
|
+
consumer: string;
|
|
3860
|
+
} | {
|
|
3861
|
+
type: "DESTROY";
|
|
3862
|
+
group: string;
|
|
3863
|
+
} | {
|
|
3864
|
+
type: "SETID";
|
|
3865
|
+
group: string;
|
|
3866
|
+
id: `$` | string;
|
|
3867
|
+
options?: {
|
|
3868
|
+
ENTRIESREAD?: number;
|
|
3869
|
+
};
|
|
3870
|
+
}) => Promise<never>;
|
|
3871
|
+
/**
|
|
3872
|
+
* @see https://redis.io/commands/xread
|
|
3873
|
+
*/
|
|
3874
|
+
xread: (...args: CommandArgs<typeof XReadCommand>) => Promise<unknown[]>;
|
|
3875
|
+
/**
|
|
3876
|
+
* @see https://redis.io/commands/xreadgroup
|
|
3877
|
+
*/
|
|
3878
|
+
xreadgroup: (...args: CommandArgs<typeof XReadGroupCommand>) => Promise<unknown[]>;
|
|
3879
|
+
/**
|
|
3880
|
+
* @see https://redis.io/commands/xinfo
|
|
3881
|
+
*/
|
|
3882
|
+
xinfo: (key: string, options: {
|
|
3883
|
+
type: "CONSUMERS";
|
|
3884
|
+
group: string;
|
|
3885
|
+
} | {
|
|
3886
|
+
type: "GROUPS";
|
|
3887
|
+
}) => Promise<unknown[]>;
|
|
3888
|
+
/**
|
|
3889
|
+
* @see https://redis.io/commands/xlen
|
|
3890
|
+
*/
|
|
3891
|
+
xlen: (key: string) => Promise<number>;
|
|
3892
|
+
/**
|
|
3893
|
+
* @see https://redis.io/commands/xpending
|
|
3894
|
+
*/
|
|
3895
|
+
xpending: (key: string, group: string, start: string, end: string, count: number, options?: {
|
|
3896
|
+
idleTime?: number;
|
|
3897
|
+
consumer?: string | string[];
|
|
3898
|
+
} | undefined) => Promise<unknown[]>;
|
|
3899
|
+
/**
|
|
3900
|
+
* @see https://redis.io/commands/xclaim
|
|
3901
|
+
*/
|
|
3902
|
+
xclaim: (key: string, group: string, consumer: string, minIdleTime: number, id: string | string[], options?: {
|
|
3903
|
+
idleMS?: number;
|
|
3904
|
+
timeMS?: number;
|
|
3905
|
+
retryCount?: number;
|
|
3906
|
+
force?: boolean;
|
|
3907
|
+
justId?: boolean;
|
|
3908
|
+
lastId?: number;
|
|
3909
|
+
} | undefined) => Promise<unknown[]>;
|
|
3910
|
+
/**
|
|
3911
|
+
* @see https://redis.io/commands/xautoclaim
|
|
3912
|
+
*/
|
|
3913
|
+
xautoclaim: (key: string, group: string, consumer: string, minIdleTime: number, start: string, options?: {
|
|
3914
|
+
count?: number;
|
|
3915
|
+
justId?: boolean;
|
|
3916
|
+
} | undefined) => Promise<unknown[]>;
|
|
3917
|
+
/**
|
|
3918
|
+
* @see https://redis.io/commands/xtrim
|
|
3919
|
+
*/
|
|
3920
|
+
xtrim: (key: string, options: {
|
|
3921
|
+
strategy: "MAXLEN" | "MINID";
|
|
3922
|
+
exactness?: "~" | "=";
|
|
3923
|
+
threshold: number | string;
|
|
3924
|
+
limit?: number;
|
|
3925
|
+
}) => Promise<number>;
|
|
3926
|
+
/**
|
|
3927
|
+
* @see https://redis.io/commands/xrange
|
|
3928
|
+
*/
|
|
3929
|
+
xrange: (key: string, start: string, end: string, count?: number | undefined) => Promise<Record<string, Record<string, unknown>>>;
|
|
3930
|
+
/**
|
|
3931
|
+
* @see https://redis.io/commands/xrevrange
|
|
3932
|
+
*/
|
|
3933
|
+
xrevrange: (key: string, end: string, start: string, count?: number | undefined) => Promise<Record<string, Record<string, unknown>>>;
|
|
3934
|
+
/**
|
|
3935
|
+
* @see https://redis.io/commands/zadd
|
|
3936
|
+
*/
|
|
3937
|
+
zadd: <TData>(...args: [key: string, scoreMember: ScoreMember<TData>, ...scoreMemberPairs: ScoreMember<TData>[]] | [key: string, opts: ZAddCommandOptions, ...scoreMemberPairs: [ScoreMember<TData>, ...ScoreMember<TData>[]]]) => Promise<number | null>;
|
|
3938
|
+
/**
|
|
3939
|
+
* @see https://redis.io/commands/zcard
|
|
3940
|
+
*/
|
|
3941
|
+
zcard: (key: string) => Promise<number>;
|
|
3942
|
+
/**
|
|
3943
|
+
* @see https://redis.io/commands/zcount
|
|
3944
|
+
*/
|
|
3945
|
+
zcount: (key: string, min: string | number, max: string | number) => Promise<number>;
|
|
3946
|
+
/**
|
|
3947
|
+
* @see https://redis.io/commands/zdiffstore
|
|
3948
|
+
*/
|
|
3949
|
+
zdiffstore: (destination: string, numkeys: number, ...keys: string[]) => Promise<number>;
|
|
3950
|
+
/**
|
|
3951
|
+
* @see https://redis.io/commands/zincrby
|
|
3952
|
+
*/
|
|
3953
|
+
zincrby: <TData>(key: string, increment: number, member: TData) => Promise<number>;
|
|
3954
|
+
/**
|
|
3955
|
+
* @see https://redis.io/commands/zinterstore
|
|
3956
|
+
*/
|
|
3957
|
+
zinterstore: (destination: string, numKeys: number, keys: string[], opts?: ZInterStoreCommandOptions | undefined) => Promise<number>;
|
|
3958
|
+
/**
|
|
3959
|
+
* @see https://redis.io/commands/zlexcount
|
|
3960
|
+
*/
|
|
3961
|
+
zlexcount: (key: string, min: string, max: string) => Promise<number>;
|
|
3962
|
+
/**
|
|
3963
|
+
* @see https://redis.io/commands/zmscore
|
|
3964
|
+
*/
|
|
3965
|
+
zmscore: (key: string, members: unknown[]) => Promise<number[] | null>;
|
|
3966
|
+
/**
|
|
3967
|
+
* @see https://redis.io/commands/zpopmax
|
|
3968
|
+
*/
|
|
3969
|
+
zpopmax: <TData>(key: string, count?: number | undefined) => Promise<TData[]>;
|
|
3970
|
+
/**
|
|
3971
|
+
* @see https://redis.io/commands/zpopmin
|
|
3972
|
+
*/
|
|
3973
|
+
zpopmin: <TData>(key: string, count?: number | undefined) => Promise<TData[]>;
|
|
3974
|
+
/**
|
|
3975
|
+
* @see https://redis.io/commands/zrange
|
|
3976
|
+
*/
|
|
3977
|
+
zrange: <TData extends unknown[]>(...args: [key: string, min: number, max: number, opts?: ZRangeCommandOptions] | [key: string, min: `(${string}` | `[${string}` | "-" | "+", max: `(${string}` | `[${string}` | "-" | "+", opts: {
|
|
3978
|
+
byLex: true;
|
|
3979
|
+
} & ZRangeCommandOptions] | [key: string, min: number | `(${number}` | "-inf" | "+inf", max: number | `(${number}` | "-inf" | "+inf", opts: {
|
|
3980
|
+
byScore: true;
|
|
3981
|
+
} & ZRangeCommandOptions]) => Promise<TData>;
|
|
3982
|
+
/**
|
|
3983
|
+
* @see https://redis.io/commands/zrank
|
|
3984
|
+
*/
|
|
3985
|
+
zrank: <TData>(key: string, member: TData) => Promise<number | null>;
|
|
3986
|
+
/**
|
|
3987
|
+
* @see https://redis.io/commands/zrem
|
|
3988
|
+
*/
|
|
3989
|
+
zrem: <TData>(key: string, ...members: TData[]) => Promise<number>;
|
|
3990
|
+
/**
|
|
3991
|
+
* @see https://redis.io/commands/zremrangebylex
|
|
3992
|
+
*/
|
|
3993
|
+
zremrangebylex: (key: string, min: string, max: string) => Promise<number>;
|
|
3994
|
+
/**
|
|
3995
|
+
* @see https://redis.io/commands/zremrangebyrank
|
|
3996
|
+
*/
|
|
3997
|
+
zremrangebyrank: (key: string, start: number, stop: number) => Promise<number>;
|
|
3998
|
+
/**
|
|
3999
|
+
* @see https://redis.io/commands/zremrangebyscore
|
|
4000
|
+
*/
|
|
4001
|
+
zremrangebyscore: (key: string, min: number | `(${number}` | "-inf" | "+inf", max: number | `(${number}` | "-inf" | "+inf") => Promise<number>;
|
|
4002
|
+
/**
|
|
4003
|
+
* @see https://redis.io/commands/zrevrank
|
|
4004
|
+
*/
|
|
4005
|
+
zrevrank: <TData>(key: string, member: TData) => Promise<number | null>;
|
|
4006
|
+
/**
|
|
4007
|
+
* @see https://redis.io/commands/zscan
|
|
4008
|
+
*/
|
|
4009
|
+
zscan: (key: string, cursor: string | number, opts?: ScanCommandOptions | undefined) => Promise<[string, (string | number)[]]>;
|
|
4010
|
+
/**
|
|
4011
|
+
* @see https://redis.io/commands/zscore
|
|
4012
|
+
*/
|
|
4013
|
+
zscore: <TData>(key: string, member: TData) => Promise<number | null>;
|
|
4014
|
+
/**
|
|
4015
|
+
* @see https://redis.io/commands/zunion
|
|
4016
|
+
*/
|
|
4017
|
+
zunion: (numKeys: number, keys: string[], opts?: ZUnionCommandOptions | undefined) => Promise<any>;
|
|
4018
|
+
/**
|
|
4019
|
+
* @see https://redis.io/commands/zunionstore
|
|
4020
|
+
*/
|
|
4021
|
+
zunionstore: (destination: string, numKeys: number, keys: string[], opts?: ZUnionStoreCommandOptions | undefined) => Promise<number>;
|
|
4022
|
+
}
|
|
4023
|
+
|
|
4024
|
+
type UpstashErrorOptions = Pick<NonNullable<ConstructorParameters<typeof Error>[1]>, "cause">;
|
|
4025
|
+
/**
|
|
4026
|
+
* Result of a bad request to upstash
|
|
4027
|
+
*/
|
|
4028
|
+
declare class UpstashError extends Error {
|
|
4029
|
+
constructor(message: string, options?: ErrorOptions);
|
|
4030
|
+
}
|
|
4031
|
+
declare class UrlError extends Error {
|
|
4032
|
+
constructor(url: string);
|
|
4033
|
+
}
|
|
4034
|
+
declare class UpstashJSONParseError extends UpstashError {
|
|
4035
|
+
constructor(body: string, options?: UpstashErrorOptions);
|
|
4036
|
+
}
|
|
4037
|
+
|
|
4038
|
+
type error_UpstashError = UpstashError;
|
|
4039
|
+
declare const error_UpstashError: typeof UpstashError;
|
|
4040
|
+
type error_UpstashJSONParseError = UpstashJSONParseError;
|
|
4041
|
+
declare const error_UpstashJSONParseError: typeof UpstashJSONParseError;
|
|
4042
|
+
type error_UrlError = UrlError;
|
|
4043
|
+
declare const error_UrlError: typeof UrlError;
|
|
4044
|
+
declare namespace error {
|
|
4045
|
+
export { error_UpstashError as UpstashError, error_UpstashJSONParseError as UpstashJSONParseError, error_UrlError as UrlError };
|
|
4046
|
+
}
|
|
4047
|
+
|
|
4048
|
+
/**
|
|
4049
|
+
* @see https://redis.io/commands/zdiffstore
|
|
4050
|
+
*/
|
|
4051
|
+
declare class ZDiffStoreCommand extends Command<number, number> {
|
|
4052
|
+
constructor(cmd: [destination: string, numkeys: number, ...keys: string[]], opts?: CommandOptions<number, number>);
|
|
4053
|
+
}
|
|
4054
|
+
|
|
4055
|
+
/**
|
|
4056
|
+
* @see https://redis.io/commands/zmscore
|
|
4057
|
+
*/
|
|
4058
|
+
declare class ZMScoreCommand<TData> extends Command<string[] | null, number[] | null> {
|
|
4059
|
+
constructor(cmd: [key: string, members: TData[]], opts?: CommandOptions<string[] | null, number[] | null>);
|
|
4060
|
+
}
|
|
4061
|
+
|
|
4062
|
+
export { HPersistCommand as $, AppendCommand as A, BitCountCommand as B, CopyCommand as C, DBSizeCommand as D, EchoCommand as E, FlushAllCommand as F, GeoAddCommand as G, type HttpClientConfig as H, GetCommand as I, GetBitCommand as J, GetDelCommand as K, GetExCommand as L, GetRangeCommand as M, GetSetCommand as N, HDelCommand as O, Pipeline as P, HExistsCommand as Q, type RedisOptions as R, HExpireCommand as S, HExpireAtCommand as T, type UpstashRequest as U, HExpireTimeCommand as V, HTtlCommand as W, HPExpireCommand as X, HPExpireAtCommand as Y, HPExpireTimeCommand as Z, HPTtlCommand as _, type RequesterConfig as a, RenameNXCommand as a$, HGetCommand as a0, HGetAllCommand as a1, HIncrByCommand as a2, HIncrByFloatCommand as a3, HKeysCommand as a4, HLenCommand as a5, HMGetCommand as a6, HMSetCommand as a7, HRandFieldCommand as a8, HScanCommand as a9, JsonStrLenCommand as aA, JsonToggleCommand as aB, JsonTypeCommand as aC, KeysCommand as aD, LIndexCommand as aE, LInsertCommand as aF, LLenCommand as aG, LMoveCommand as aH, LPopCommand as aI, LPushCommand as aJ, LPushXCommand as aK, LRangeCommand as aL, LRemCommand as aM, LSetCommand as aN, LTrimCommand as aO, MGetCommand as aP, MSetCommand as aQ, MSetNXCommand as aR, PersistCommand as aS, PExpireCommand as aT, PExpireAtCommand as aU, PingCommand as aV, PSetEXCommand as aW, PTtlCommand as aX, PublishCommand as aY, RandomKeyCommand as aZ, RenameCommand as a_, HSetCommand as aa, HSetNXCommand as ab, HStrLenCommand as ac, HValsCommand as ad, IncrCommand as ae, IncrByCommand as af, IncrByFloatCommand as ag, JsonArrAppendCommand as ah, JsonArrIndexCommand as ai, JsonArrInsertCommand as aj, JsonArrLenCommand as ak, JsonArrPopCommand as al, JsonArrTrimCommand as am, JsonClearCommand as an, JsonDelCommand as ao, JsonForgetCommand as ap, JsonGetCommand as aq, JsonMergeCommand as ar, JsonMGetCommand as as, JsonNumIncrByCommand as at, JsonNumMultByCommand as au, JsonObjKeysCommand as av, JsonObjLenCommand as aw, JsonRespCommand as ax, JsonSetCommand as ay, JsonStrAppendCommand as az, Redis as b, type ZUnionCommandOptions as b$, RPopCommand as b0, RPushCommand as b1, RPushXCommand as b2, SAddCommand as b3, ScanCommand as b4, type ScanCommandOptions as b5, SCardCommand as b6, ScriptExistsCommand as b7, ScriptFlushCommand as b8, ScriptLoadCommand as b9, UnlinkCommand as bA, XAddCommand as bB, XRangeCommand as bC, type ScoreMember as bD, type ZAddCommandOptions as bE, ZAddCommand as bF, ZCardCommand as bG, ZCountCommand as bH, ZDiffStoreCommand as bI, ZIncrByCommand as bJ, ZInterStoreCommand as bK, type ZInterStoreCommandOptions as bL, ZLexCountCommand as bM, ZMScoreCommand as bN, ZPopMaxCommand as bO, ZPopMinCommand as bP, ZRangeCommand as bQ, type ZRangeCommandOptions as bR, ZRankCommand as bS, ZRemCommand as bT, ZRemRangeByLexCommand as bU, ZRemRangeByRankCommand as bV, ZRemRangeByScoreCommand as bW, ZRevRankCommand as bX, ZScanCommand as bY, ZScoreCommand as bZ, ZUnionCommand as b_, SDiffCommand as ba, SDiffStoreCommand as bb, SetCommand as bc, type SetCommandOptions as bd, SetBitCommand as be, SetExCommand as bf, SetNxCommand as bg, SetRangeCommand as bh, SInterCommand as bi, SInterStoreCommand as bj, SIsMemberCommand as bk, SMembersCommand as bl, SMIsMemberCommand as bm, SMoveCommand as bn, SPopCommand as bo, SRandMemberCommand as bp, SRemCommand as bq, SScanCommand as br, StrLenCommand as bs, SUnionCommand as bt, SUnionStoreCommand as bu, TimeCommand as bv, TouchCommand as bw, TtlCommand as bx, type Type as by, TypeCommand as bz, type Requester as c, ZUnionStoreCommand as c0, type ZUnionStoreCommandOptions as c1, type UpstashResponse as d, error as e, BitOpCommand as f, BitPosCommand as g, DecrCommand as h, DecrByCommand as i, DelCommand as j, EvalROCommand as k, EvalCommand as l, EvalshaROCommand as m, EvalshaCommand as n, ExistsCommand as o, ExpireCommand as p, type ExpireOption as q, ExpireAtCommand as r, FlushDBCommand as s, type GeoAddCommandOptions as t, type GeoMember as u, GeoDistCommand as v, GeoHashCommand as w, GeoPosCommand as x, GeoSearchCommand as y, GeoSearchStoreCommand as z };
|