@upstash/redis 1.3.2-alpha.2 → 1.3.3

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.
Files changed (360) hide show
  1. package/README.md +4 -8
  2. package/esm/pkg/commands/append.js +2 -2
  3. package/esm/pkg/commands/bitcount.js +2 -2
  4. package/esm/pkg/commands/bitop.js +2 -2
  5. package/esm/pkg/commands/bitpos.js +2 -2
  6. package/esm/pkg/commands/command.js +13 -2
  7. package/esm/pkg/commands/dbsize.js +2 -2
  8. package/esm/pkg/commands/decr.js +2 -2
  9. package/esm/pkg/commands/decrby.js +2 -2
  10. package/esm/pkg/commands/del.js +2 -2
  11. package/esm/pkg/commands/echo.js +2 -2
  12. package/esm/pkg/commands/eval.js +2 -2
  13. package/esm/pkg/commands/evalsha.js +2 -2
  14. package/esm/pkg/commands/exists.js +2 -2
  15. package/esm/pkg/commands/expire.js +2 -2
  16. package/esm/pkg/commands/expireat.js +2 -2
  17. package/esm/pkg/commands/flushall.js +3 -3
  18. package/esm/pkg/commands/flushdb.js +2 -2
  19. package/esm/pkg/commands/get.js +2 -2
  20. package/esm/pkg/commands/getbit.js +2 -2
  21. package/esm/pkg/commands/getrange.js +2 -2
  22. package/esm/pkg/commands/getset.js +2 -2
  23. package/esm/pkg/commands/hdel.js +2 -2
  24. package/esm/pkg/commands/hexists.js +2 -2
  25. package/esm/pkg/commands/hget.js +2 -2
  26. package/esm/pkg/commands/hgetall.js +5 -2
  27. package/esm/pkg/commands/hincrby.js +2 -2
  28. package/esm/pkg/commands/hincrbyfloat.js +2 -2
  29. package/esm/pkg/commands/hkeys.js +2 -2
  30. package/esm/pkg/commands/hlen.js +2 -2
  31. package/esm/pkg/commands/hmget.js +5 -2
  32. package/esm/pkg/commands/hmset.js +2 -2
  33. package/esm/pkg/commands/hscan.js +6 -6
  34. package/esm/pkg/commands/hset.js +2 -2
  35. package/esm/pkg/commands/hsetnx.js +2 -2
  36. package/esm/pkg/commands/hstrlen.js +2 -2
  37. package/esm/pkg/commands/hvals.js +2 -2
  38. package/esm/pkg/commands/incr.js +2 -2
  39. package/esm/pkg/commands/incrby.js +2 -2
  40. package/esm/pkg/commands/incrbyfloat.js +2 -2
  41. package/esm/pkg/commands/keys.js +2 -2
  42. package/esm/pkg/commands/lindex.js +2 -2
  43. package/esm/pkg/commands/linsert.js +2 -2
  44. package/esm/pkg/commands/llen.js +2 -2
  45. package/esm/pkg/commands/lpop.js +2 -2
  46. package/esm/pkg/commands/lpush.js +2 -2
  47. package/esm/pkg/commands/lpushx.js +2 -2
  48. package/esm/pkg/commands/lrange.js +2 -2
  49. package/esm/pkg/commands/lrem.js +2 -2
  50. package/esm/pkg/commands/lset.js +2 -2
  51. package/esm/pkg/commands/ltrim.js +2 -2
  52. package/esm/pkg/commands/mget.js +2 -2
  53. package/esm/pkg/commands/mset.js +2 -2
  54. package/esm/pkg/commands/msetnx.js +2 -2
  55. package/esm/pkg/commands/persist.js +2 -2
  56. package/esm/pkg/commands/pexpire.js +2 -2
  57. package/esm/pkg/commands/pexpireat.js +2 -2
  58. package/esm/pkg/commands/ping.js +4 -4
  59. package/esm/pkg/commands/psetex.js +2 -2
  60. package/esm/pkg/commands/pttl.js +2 -2
  61. package/esm/pkg/commands/publish.js +2 -2
  62. package/esm/pkg/commands/randomkey.js +2 -2
  63. package/esm/pkg/commands/rename.js +2 -2
  64. package/esm/pkg/commands/renamenx.js +2 -2
  65. package/esm/pkg/commands/rpop.js +2 -2
  66. package/esm/pkg/commands/rpush.js +2 -2
  67. package/esm/pkg/commands/rpushx.js +2 -2
  68. package/esm/pkg/commands/sadd.js +2 -2
  69. package/esm/pkg/commands/scan.js +2 -2
  70. package/esm/pkg/commands/scard.js +2 -2
  71. package/esm/pkg/commands/script_exists.js +3 -2
  72. package/esm/pkg/commands/script_flush.js +2 -2
  73. package/esm/pkg/commands/script_load.js +2 -2
  74. package/esm/pkg/commands/sdiff.js +2 -2
  75. package/esm/pkg/commands/sdiffstore.js +2 -2
  76. package/esm/pkg/commands/set.js +6 -6
  77. package/esm/pkg/commands/setbit.js +2 -2
  78. package/esm/pkg/commands/setex.js +2 -2
  79. package/esm/pkg/commands/setnx.js +2 -2
  80. package/esm/pkg/commands/setrange.js +2 -2
  81. package/esm/pkg/commands/sinter.js +2 -2
  82. package/esm/pkg/commands/sinterstore.js +2 -2
  83. package/esm/pkg/commands/sismember.js +2 -2
  84. package/esm/pkg/commands/smembers.js +2 -2
  85. package/esm/pkg/commands/smove.js +2 -2
  86. package/esm/pkg/commands/spop.js +2 -2
  87. package/esm/pkg/commands/srandmember.js +2 -2
  88. package/esm/pkg/commands/srem.js +2 -2
  89. package/esm/pkg/commands/sscan.js +2 -2
  90. package/esm/pkg/commands/strlen.js +2 -2
  91. package/esm/pkg/commands/sunion.js +2 -2
  92. package/esm/pkg/commands/sunionstore.js +2 -2
  93. package/esm/pkg/commands/time.js +2 -2
  94. package/esm/pkg/commands/touch.js +2 -2
  95. package/esm/pkg/commands/ttl.js +2 -2
  96. package/esm/pkg/commands/type.js +2 -2
  97. package/esm/pkg/commands/unlink.js +2 -2
  98. package/esm/pkg/commands/zadd.js +7 -7
  99. package/esm/pkg/commands/zcard.js +2 -2
  100. package/esm/pkg/commands/zcount.js +2 -2
  101. package/esm/pkg/commands/zincrby.js +3 -3
  102. package/esm/pkg/commands/zinterstore.js +4 -4
  103. package/esm/pkg/commands/zlexcount.js +2 -2
  104. package/esm/pkg/commands/zpopmax.js +2 -2
  105. package/esm/pkg/commands/zpopmin.js +2 -2
  106. package/esm/pkg/commands/zrange.js +2 -2
  107. package/esm/pkg/commands/zrank.js +2 -2
  108. package/esm/pkg/commands/zrem.js +2 -2
  109. package/esm/pkg/commands/zremrangebylex.js +2 -2
  110. package/esm/pkg/commands/zremrangebyrank.js +2 -2
  111. package/esm/pkg/commands/zremrangebyscore.js +2 -2
  112. package/esm/pkg/commands/zrevrank.js +2 -2
  113. package/esm/pkg/commands/zscan.js +2 -2
  114. package/esm/pkg/commands/zscore.js +2 -2
  115. package/esm/pkg/commands/zunionstore.js +4 -4
  116. package/esm/pkg/pipeline.js +124 -117
  117. package/esm/pkg/redis.js +122 -116
  118. package/esm/platforms/cloudflare.js +3 -1
  119. package/esm/platforms/fastly.js +3 -1
  120. package/esm/platforms/nodejs.js +8 -2
  121. package/package.json +1 -1
  122. package/script/pkg/commands/append.js +2 -2
  123. package/script/pkg/commands/bitcount.js +2 -2
  124. package/script/pkg/commands/bitop.js +2 -2
  125. package/script/pkg/commands/bitpos.js +2 -2
  126. package/script/pkg/commands/command.js +13 -2
  127. package/script/pkg/commands/dbsize.js +2 -2
  128. package/script/pkg/commands/decr.js +2 -2
  129. package/script/pkg/commands/decrby.js +2 -2
  130. package/script/pkg/commands/del.js +2 -2
  131. package/script/pkg/commands/echo.js +2 -2
  132. package/script/pkg/commands/eval.js +2 -2
  133. package/script/pkg/commands/evalsha.js +2 -2
  134. package/script/pkg/commands/exists.js +2 -2
  135. package/script/pkg/commands/expire.js +2 -2
  136. package/script/pkg/commands/expireat.js +2 -2
  137. package/script/pkg/commands/flushall.js +3 -3
  138. package/script/pkg/commands/flushdb.js +2 -2
  139. package/script/pkg/commands/get.js +2 -2
  140. package/script/pkg/commands/getbit.js +2 -2
  141. package/script/pkg/commands/getrange.js +2 -2
  142. package/script/pkg/commands/getset.js +2 -2
  143. package/script/pkg/commands/hdel.js +2 -2
  144. package/script/pkg/commands/hexists.js +2 -2
  145. package/script/pkg/commands/hget.js +2 -2
  146. package/script/pkg/commands/hgetall.js +5 -2
  147. package/script/pkg/commands/hincrby.js +2 -2
  148. package/script/pkg/commands/hincrbyfloat.js +2 -2
  149. package/script/pkg/commands/hkeys.js +2 -2
  150. package/script/pkg/commands/hlen.js +2 -2
  151. package/script/pkg/commands/hmget.js +5 -2
  152. package/script/pkg/commands/hmset.js +2 -2
  153. package/script/pkg/commands/hscan.js +6 -6
  154. package/script/pkg/commands/hset.js +2 -2
  155. package/script/pkg/commands/hsetnx.js +2 -2
  156. package/script/pkg/commands/hstrlen.js +2 -2
  157. package/script/pkg/commands/hvals.js +2 -2
  158. package/script/pkg/commands/incr.js +2 -2
  159. package/script/pkg/commands/incrby.js +2 -2
  160. package/script/pkg/commands/incrbyfloat.js +2 -2
  161. package/script/pkg/commands/keys.js +2 -2
  162. package/script/pkg/commands/lindex.js +2 -2
  163. package/script/pkg/commands/linsert.js +2 -2
  164. package/script/pkg/commands/llen.js +2 -2
  165. package/script/pkg/commands/lpop.js +2 -2
  166. package/script/pkg/commands/lpush.js +2 -2
  167. package/script/pkg/commands/lpushx.js +2 -2
  168. package/script/pkg/commands/lrange.js +2 -2
  169. package/script/pkg/commands/lrem.js +2 -2
  170. package/script/pkg/commands/lset.js +2 -2
  171. package/script/pkg/commands/ltrim.js +2 -2
  172. package/script/pkg/commands/mget.js +2 -2
  173. package/script/pkg/commands/mset.js +2 -2
  174. package/script/pkg/commands/msetnx.js +2 -2
  175. package/script/pkg/commands/persist.js +2 -2
  176. package/script/pkg/commands/pexpire.js +2 -2
  177. package/script/pkg/commands/pexpireat.js +2 -2
  178. package/script/pkg/commands/ping.js +4 -4
  179. package/script/pkg/commands/psetex.js +2 -2
  180. package/script/pkg/commands/pttl.js +2 -2
  181. package/script/pkg/commands/publish.js +2 -2
  182. package/script/pkg/commands/randomkey.js +2 -2
  183. package/script/pkg/commands/rename.js +2 -2
  184. package/script/pkg/commands/renamenx.js +2 -2
  185. package/script/pkg/commands/rpop.js +2 -2
  186. package/script/pkg/commands/rpush.js +2 -2
  187. package/script/pkg/commands/rpushx.js +2 -2
  188. package/script/pkg/commands/sadd.js +2 -2
  189. package/script/pkg/commands/scan.js +2 -2
  190. package/script/pkg/commands/scard.js +2 -2
  191. package/script/pkg/commands/script_exists.js +3 -2
  192. package/script/pkg/commands/script_flush.js +2 -2
  193. package/script/pkg/commands/script_load.js +2 -2
  194. package/script/pkg/commands/sdiff.js +2 -2
  195. package/script/pkg/commands/sdiffstore.js +2 -2
  196. package/script/pkg/commands/set.js +6 -6
  197. package/script/pkg/commands/setbit.js +2 -2
  198. package/script/pkg/commands/setex.js +2 -2
  199. package/script/pkg/commands/setnx.js +2 -2
  200. package/script/pkg/commands/setrange.js +2 -2
  201. package/script/pkg/commands/sinter.js +2 -2
  202. package/script/pkg/commands/sinterstore.js +2 -2
  203. package/script/pkg/commands/sismember.js +2 -2
  204. package/script/pkg/commands/smembers.js +2 -2
  205. package/script/pkg/commands/smove.js +2 -2
  206. package/script/pkg/commands/spop.js +2 -2
  207. package/script/pkg/commands/srandmember.js +2 -2
  208. package/script/pkg/commands/srem.js +2 -2
  209. package/script/pkg/commands/sscan.js +2 -2
  210. package/script/pkg/commands/strlen.js +2 -2
  211. package/script/pkg/commands/sunion.js +2 -2
  212. package/script/pkg/commands/sunionstore.js +2 -2
  213. package/script/pkg/commands/time.js +2 -2
  214. package/script/pkg/commands/touch.js +2 -2
  215. package/script/pkg/commands/ttl.js +2 -2
  216. package/script/pkg/commands/type.js +2 -2
  217. package/script/pkg/commands/unlink.js +2 -2
  218. package/script/pkg/commands/zadd.js +7 -7
  219. package/script/pkg/commands/zcard.js +2 -2
  220. package/script/pkg/commands/zcount.js +2 -2
  221. package/script/pkg/commands/zincrby.js +5 -5
  222. package/script/pkg/commands/zinterstore.js +4 -4
  223. package/script/pkg/commands/zlexcount.js +2 -2
  224. package/script/pkg/commands/zpopmax.js +2 -2
  225. package/script/pkg/commands/zpopmin.js +2 -2
  226. package/script/pkg/commands/zrange.js +2 -2
  227. package/script/pkg/commands/zrank.js +2 -2
  228. package/script/pkg/commands/zrem.js +2 -2
  229. package/script/pkg/commands/zremrangebylex.js +2 -2
  230. package/script/pkg/commands/zremrangebyrank.js +2 -2
  231. package/script/pkg/commands/zremrangebyscore.js +2 -2
  232. package/script/pkg/commands/zrevrank.js +2 -2
  233. package/script/pkg/commands/zscan.js +2 -2
  234. package/script/pkg/commands/zscore.js +2 -2
  235. package/script/pkg/commands/zunionstore.js +4 -4
  236. package/script/pkg/pipeline.js +123 -116
  237. package/script/pkg/redis.js +121 -115
  238. package/script/platforms/cloudflare.js +3 -1
  239. package/script/platforms/fastly.js +3 -1
  240. package/script/platforms/nodejs.js +8 -2
  241. package/types/pkg/commands/append.d.ts +2 -2
  242. package/types/pkg/commands/bitcount.d.ts +3 -3
  243. package/types/pkg/commands/bitop.d.ts +8 -3
  244. package/types/pkg/commands/bitpos.d.ts +2 -2
  245. package/types/pkg/commands/command.d.ts +19 -5
  246. package/types/pkg/commands/dbsize.d.ts +2 -2
  247. package/types/pkg/commands/decr.d.ts +2 -2
  248. package/types/pkg/commands/decrby.d.ts +2 -2
  249. package/types/pkg/commands/del.d.ts +2 -3
  250. package/types/pkg/commands/echo.d.ts +2 -2
  251. package/types/pkg/commands/eval.d.ts +2 -2
  252. package/types/pkg/commands/evalsha.d.ts +2 -2
  253. package/types/pkg/commands/exists.d.ts +2 -3
  254. package/types/pkg/commands/expire.d.ts +3 -3
  255. package/types/pkg/commands/expireat.d.ts +3 -3
  256. package/types/pkg/commands/flushall.d.ts +3 -3
  257. package/types/pkg/commands/flushdb.d.ts +3 -3
  258. package/types/pkg/commands/get.d.ts +3 -3
  259. package/types/pkg/commands/getbit.d.ts +3 -3
  260. package/types/pkg/commands/getrange.d.ts +2 -2
  261. package/types/pkg/commands/getset.d.ts +3 -3
  262. package/types/pkg/commands/hdel.d.ts +3 -3
  263. package/types/pkg/commands/hexists.d.ts +2 -2
  264. package/types/pkg/commands/hget.d.ts +3 -3
  265. package/types/pkg/commands/hgetall.d.ts +3 -3
  266. package/types/pkg/commands/hincrby.d.ts +2 -2
  267. package/types/pkg/commands/hincrbyfloat.d.ts +2 -2
  268. package/types/pkg/commands/hkeys.d.ts +2 -2
  269. package/types/pkg/commands/hlen.d.ts +2 -2
  270. package/types/pkg/commands/hmget.d.ts +3 -3
  271. package/types/pkg/commands/hmset.d.ts +3 -3
  272. package/types/pkg/commands/hscan.d.ts +12 -2
  273. package/types/pkg/commands/hset.d.ts +3 -3
  274. package/types/pkg/commands/hsetnx.d.ts +3 -3
  275. package/types/pkg/commands/hstrlen.d.ts +2 -2
  276. package/types/pkg/commands/hvals.d.ts +3 -3
  277. package/types/pkg/commands/incr.d.ts +2 -2
  278. package/types/pkg/commands/incrby.d.ts +2 -2
  279. package/types/pkg/commands/incrbyfloat.d.ts +2 -2
  280. package/types/pkg/commands/keys.d.ts +2 -2
  281. package/types/pkg/commands/lindex.d.ts +3 -3
  282. package/types/pkg/commands/linsert.d.ts +7 -2
  283. package/types/pkg/commands/llen.d.ts +2 -2
  284. package/types/pkg/commands/lpop.d.ts +3 -3
  285. package/types/pkg/commands/lpush.d.ts +2 -3
  286. package/types/pkg/commands/lpushx.d.ts +2 -3
  287. package/types/pkg/commands/lrange.d.ts +3 -3
  288. package/types/pkg/commands/lrem.d.ts +2 -2
  289. package/types/pkg/commands/lset.d.ts +2 -2
  290. package/types/pkg/commands/ltrim.d.ts +2 -2
  291. package/types/pkg/commands/mget.d.ts +3 -3
  292. package/types/pkg/commands/mset.d.ts +3 -3
  293. package/types/pkg/commands/msetnx.d.ts +3 -3
  294. package/types/pkg/commands/persist.d.ts +3 -3
  295. package/types/pkg/commands/pexpire.d.ts +3 -3
  296. package/types/pkg/commands/pexpireat.d.ts +3 -3
  297. package/types/pkg/commands/ping.d.ts +2 -2
  298. package/types/pkg/commands/psetex.d.ts +2 -2
  299. package/types/pkg/commands/pttl.d.ts +2 -2
  300. package/types/pkg/commands/publish.d.ts +2 -2
  301. package/types/pkg/commands/randomkey.d.ts +2 -2
  302. package/types/pkg/commands/rename.d.ts +2 -2
  303. package/types/pkg/commands/renamenx.d.ts +3 -3
  304. package/types/pkg/commands/rpop.d.ts +3 -3
  305. package/types/pkg/commands/rpush.d.ts +2 -3
  306. package/types/pkg/commands/rpushx.d.ts +2 -3
  307. package/types/pkg/commands/sadd.d.ts +2 -3
  308. package/types/pkg/commands/scan.d.ts +9 -3
  309. package/types/pkg/commands/scard.d.ts +2 -2
  310. package/types/pkg/commands/script_exists.d.ts +3 -6
  311. package/types/pkg/commands/script_flush.d.ts +2 -2
  312. package/types/pkg/commands/script_load.d.ts +2 -2
  313. package/types/pkg/commands/sdiff.d.ts +3 -3
  314. package/types/pkg/commands/sdiffstore.d.ts +2 -3
  315. package/types/pkg/commands/set.d.ts +3 -3
  316. package/types/pkg/commands/setbit.d.ts +3 -3
  317. package/types/pkg/commands/setex.d.ts +2 -2
  318. package/types/pkg/commands/setnx.d.ts +2 -2
  319. package/types/pkg/commands/setrange.d.ts +2 -2
  320. package/types/pkg/commands/sinter.d.ts +3 -3
  321. package/types/pkg/commands/sinterstore.d.ts +3 -3
  322. package/types/pkg/commands/sismember.d.ts +3 -3
  323. package/types/pkg/commands/smembers.d.ts +3 -3
  324. package/types/pkg/commands/smove.d.ts +3 -3
  325. package/types/pkg/commands/spop.d.ts +3 -3
  326. package/types/pkg/commands/srandmember.d.ts +3 -3
  327. package/types/pkg/commands/srem.d.ts +2 -3
  328. package/types/pkg/commands/sscan.d.ts +12 -2
  329. package/types/pkg/commands/strlen.d.ts +2 -2
  330. package/types/pkg/commands/sunion.d.ts +3 -3
  331. package/types/pkg/commands/sunionstore.d.ts +2 -2
  332. package/types/pkg/commands/time.d.ts +2 -2
  333. package/types/pkg/commands/touch.d.ts +2 -3
  334. package/types/pkg/commands/ttl.d.ts +2 -2
  335. package/types/pkg/commands/type.d.ts +2 -2
  336. package/types/pkg/commands/unlink.d.ts +2 -2
  337. package/types/pkg/commands/zadd.d.ts +11 -3
  338. package/types/pkg/commands/zcard.d.ts +2 -2
  339. package/types/pkg/commands/zcount.d.ts +2 -2
  340. package/types/pkg/commands/zincrby.d.ts +3 -3
  341. package/types/pkg/commands/zinterstore.d.ts +13 -3
  342. package/types/pkg/commands/zlexcount.d.ts +2 -2
  343. package/types/pkg/commands/zpopmax.d.ts +3 -3
  344. package/types/pkg/commands/zpopmin.d.ts +3 -3
  345. package/types/pkg/commands/zrange.d.ts +19 -9
  346. package/types/pkg/commands/zrank.d.ts +2 -2
  347. package/types/pkg/commands/zrem.d.ts +2 -3
  348. package/types/pkg/commands/zremrangebylex.d.ts +2 -2
  349. package/types/pkg/commands/zremrangebyrank.d.ts +2 -2
  350. package/types/pkg/commands/zremrangebyscore.d.ts +2 -2
  351. package/types/pkg/commands/zrevrank.d.ts +2 -2
  352. package/types/pkg/commands/zscan.d.ts +12 -2
  353. package/types/pkg/commands/zscore.d.ts +3 -3
  354. package/types/pkg/commands/zunionstore.d.ts +13 -3
  355. package/types/pkg/pipeline.d.ts +20 -23
  356. package/types/pkg/redis.d.ts +30 -23
  357. package/types/pkg/types.d.ts +1 -2
  358. package/types/platforms/cloudflare.d.ts +1 -1
  359. package/types/platforms/fastly.d.ts +1 -1
  360. package/types/platforms/nodejs.d.ts +1 -19
@@ -1,6 +1,6 @@
1
1
  import { Command } from "./command.js";
2
2
  export class LTrimCommand extends Command {
3
- constructor(key, start, end) {
4
- super(["ltrim", key, start, end]);
3
+ constructor(cmd, opts) {
4
+ super(["ltrim", ...cmd], opts);
5
5
  }
6
6
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/mget
4
4
  */
5
5
  export class MGetCommand extends Command {
6
- constructor(...keys) {
7
- super(["mget", ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["mget", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,10 +3,10 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/mset
4
4
  */
5
5
  export class MSetCommand extends Command {
6
- constructor(kv) {
6
+ constructor([kv], opts) {
7
7
  super([
8
8
  "mset",
9
9
  ...Object.entries(kv).flatMap(([key, value]) => [key, value]),
10
- ]);
10
+ ], opts);
11
11
  }
12
12
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/msetnx
4
4
  */
5
5
  export class MSetNXCommand extends Command {
6
- constructor(kv) {
7
- super(["msetnx", ...Object.entries(kv).flatMap((_) => _)]);
6
+ constructor([kv], opts) {
7
+ super(["msetnx", ...Object.entries(kv).flatMap((_) => _)], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/persist
4
4
  */
5
5
  export class PersistCommand extends Command {
6
- constructor(key) {
7
- super(["persist", key]);
6
+ constructor(cmd, opts) {
7
+ super(["persist", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/pexpire
4
4
  */
5
5
  export class PExpireCommand extends Command {
6
- constructor(key, milliseconds) {
7
- super(["pexpire", key, milliseconds]);
6
+ constructor(cmd, opts) {
7
+ super(["pexpire", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/pexpireat
4
4
  */
5
5
  export class PExpireAtCommand extends Command {
6
- constructor(key, unix) {
7
- super(["pexpireat", key, unix]);
6
+ constructor(cmd, opts) {
7
+ super(["pexpireat", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,11 +3,11 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/ping
4
4
  */
5
5
  export class PingCommand extends Command {
6
- constructor(message) {
6
+ constructor(cmd, opts) {
7
7
  const command = ["ping"];
8
- if (typeof message !== "undefined") {
9
- command.push(message);
8
+ if (typeof cmd !== "undefined" && typeof cmd[0] !== "undefined") {
9
+ command.push(cmd[0]);
10
10
  }
11
- super(command);
11
+ super(command, opts);
12
12
  }
13
13
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/psetex
4
4
  */
5
5
  export class PSetEXCommand extends Command {
6
- constructor(key, ttl, value) {
7
- super(["psetex", key, ttl, value]);
6
+ constructor(cmd, opts) {
7
+ super(["psetex", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/pttl
4
4
  */
5
5
  export class PTtlCommand extends Command {
6
- constructor(key) {
7
- super(["pttl", key]);
6
+ constructor(cmd, opts) {
7
+ super(["pttl", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/publish
4
4
  */
5
5
  export class PublishCommand extends Command {
6
- constructor(channel, message) {
7
- super(["publish", channel, message]);
6
+ constructor(cmd, opts) {
7
+ super(["publish", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/randomkey
4
4
  */
5
5
  export class RandomKeyCommand extends Command {
6
- constructor() {
7
- super(["randomkey"]);
6
+ constructor(opts) {
7
+ super(["randomkey"], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/rename
4
4
  */
5
5
  export class RenameCommand extends Command {
6
- constructor(source, destination) {
7
- super(["rename", source, destination]);
6
+ constructor(cmd, opts) {
7
+ super(["rename", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/renamenx
4
4
  */
5
5
  export class RenameNXCommand extends Command {
6
- constructor(source, destination) {
7
- super(["renamenx", source, destination]);
6
+ constructor(cmd, opts) {
7
+ super(["renamenx", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/rpop
4
4
  */
5
5
  export class RPopCommand extends Command {
6
- constructor(key) {
7
- super(["rpop", key]);
6
+ constructor(cmd, opts) {
7
+ super(["rpop", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/rpush
4
4
  */
5
5
  export class RPushCommand extends Command {
6
- constructor(key, ...elements) {
7
- super(["rpush", key, ...elements]);
6
+ constructor(cmd, opts) {
7
+ super(["rpush", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/rpushx
4
4
  */
5
5
  export class RPushXCommand extends Command {
6
- constructor(key, ...elements) {
7
- super(["rpushx", key, ...elements]);
6
+ constructor(cmd, opts) {
7
+ super(["rpushx", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sadd
4
4
  */
5
5
  export class SAddCommand extends Command {
6
- constructor(key, ...members) {
7
- super(["sadd", key, ...members]);
6
+ constructor(cmd, opts) {
7
+ super(["sadd", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/scan
4
4
  */
5
5
  export class ScanCommand extends Command {
6
- constructor(cursor, opts) {
6
+ constructor([cursor, opts], cmdOpts) {
7
7
  const command = ["scan", cursor];
8
8
  if (opts?.match) {
9
9
  command.push("match", opts.match);
@@ -11,6 +11,6 @@ export class ScanCommand extends Command {
11
11
  if (typeof opts?.count === "number") {
12
12
  command.push("count", opts.count);
13
13
  }
14
- super(command);
14
+ super(command, cmdOpts);
15
15
  }
16
16
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/scard
4
4
  */
5
5
  export class SCardCommand extends Command {
6
- constructor(key) {
7
- super(["scard", key]);
6
+ constructor(cmd, opts) {
7
+ super(["scard", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,8 +3,8 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/script-exists
4
4
  */
5
5
  export class ScriptExistsCommand extends Command {
6
- constructor(...hash) {
7
- super(["script", "exists", ...hash], {
6
+ constructor(hashes, opts) {
7
+ super(["script", "exists", ...hashes], {
8
8
  deserialize: (result) => {
9
9
  /**
10
10
  * This isn't very pretty but it does the job.
@@ -15,6 +15,7 @@ export class ScriptExistsCommand extends Command {
15
15
  const parsed = result;
16
16
  return parsed.length === 1 ? parsed[0] : parsed;
17
17
  },
18
+ ...opts,
18
19
  });
19
20
  }
20
21
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/script-flush
4
4
  */
5
5
  export class ScriptFlushCommand extends Command {
6
- constructor(opts) {
6
+ constructor([opts], cmdOpts) {
7
7
  const cmd = ["script", "flush"];
8
8
  if (opts?.sync) {
9
9
  cmd.push("sync");
@@ -11,6 +11,6 @@ export class ScriptFlushCommand extends Command {
11
11
  else if (opts?.async) {
12
12
  cmd.push("async");
13
13
  }
14
- super(cmd);
14
+ super(cmd, cmdOpts);
15
15
  }
16
16
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/script-load
4
4
  */
5
5
  export class ScriptLoadCommand extends Command {
6
- constructor(script) {
7
- super(["script", "load", script]);
6
+ constructor(args, opts) {
7
+ super(["script", "load", ...args], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sdiff
4
4
  */
5
5
  export class SDiffCommand extends Command {
6
- constructor(key, ...keys) {
7
- super(["sdiff", key, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sdiff", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sdiffstpre
4
4
  */
5
5
  export class SDiffStoreCommand extends Command {
6
- constructor(destination, ...keys) {
7
- super(["sdiffstore", destination, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sdiffstore", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,22 +3,22 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/set
4
4
  */
5
5
  export class SetCommand extends Command {
6
- constructor(key, value, opts) {
6
+ constructor([key, value, opts], cmdOpts) {
7
7
  const command = ["set", key, value];
8
8
  if (opts) {
9
- if (("ex" in opts) && typeof opts.ex === "number") {
9
+ if ("ex" in opts && typeof opts.ex === "number") {
10
10
  command.push("ex", opts.ex);
11
11
  }
12
- else if (("px" in opts) && typeof opts.px === "number") {
12
+ else if ("px" in opts && typeof opts.px === "number") {
13
13
  command.push("px", opts.px);
14
14
  }
15
- if (("nx" in opts) && opts.nx) {
15
+ if ("nx" in opts && opts.nx) {
16
16
  command.push("nx");
17
17
  }
18
- else if (("xx" in opts) && opts.xx) {
18
+ else if ("xx" in opts && opts.xx) {
19
19
  command.push("xx");
20
20
  }
21
21
  }
22
- super(command);
22
+ super(command, cmdOpts);
23
23
  }
24
24
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/setbit
4
4
  */
5
5
  export class SetBitCommand extends Command {
6
- constructor(key, offset, value) {
7
- super(["setbit", key, offset, value]);
6
+ constructor(cmd, opts) {
7
+ super(["setbit", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/setex
4
4
  */
5
5
  export class SetExCommand extends Command {
6
- constructor(key, ttl, value) {
7
- super(["setex", key, ttl, value]);
6
+ constructor(cmd, opts) {
7
+ super(["setex", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/setnx
4
4
  */
5
5
  export class SetNxCommand extends Command {
6
- constructor(key, value) {
7
- super(["setnx", key, value]);
6
+ constructor(cmd, opts) {
7
+ super(["setnx", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/setrange
4
4
  */
5
5
  export class SetRangeCommand extends Command {
6
- constructor(key, offset, value) {
7
- super(["setrange", key, offset, value]);
6
+ constructor(cmd, opts) {
7
+ super(["setrange", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sinter
4
4
  */
5
5
  export class SInterCommand extends Command {
6
- constructor(key, ...keys) {
7
- super(["sinter", key, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sinter", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sinterstore
4
4
  */
5
5
  export class SInterStoreCommand extends Command {
6
- constructor(destination, key, ...keys) {
7
- super(["sinterstore", destination, key, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sinterstore", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sismember
4
4
  */
5
5
  export class SIsMemberCommand extends Command {
6
- constructor(key, member) {
7
- super(["sismember", key, member]);
6
+ constructor(cmd, opts) {
7
+ super(["sismember", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/smembers
4
4
  */
5
5
  export class SMembersCommand extends Command {
6
- constructor(key) {
7
- super(["smembers", key]);
6
+ constructor(cmd, opts) {
7
+ super(["smembers", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/smove
4
4
  */
5
5
  export class SMoveCommand extends Command {
6
- constructor(source, destination, member) {
7
- super(["smove", source, destination, member]);
6
+ constructor(cmd, opts) {
7
+ super(["smove", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,11 +3,11 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/spop
4
4
  */
5
5
  export class SPopCommand extends Command {
6
- constructor(key, count) {
6
+ constructor([key, count], opts) {
7
7
  const command = ["spop", key];
8
8
  if (typeof count === "number") {
9
9
  command.push(count);
10
10
  }
11
- super(command);
11
+ super(command, opts);
12
12
  }
13
13
  }
@@ -3,11 +3,11 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/srandmember
4
4
  */
5
5
  export class SRandMemberCommand extends Command {
6
- constructor(key, count) {
6
+ constructor([key, count], opts) {
7
7
  const command = ["srandmember", key];
8
8
  if (typeof count === "number") {
9
9
  command.push(count);
10
10
  }
11
- super(command);
11
+ super(command, opts);
12
12
  }
13
13
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/srem
4
4
  */
5
5
  export class SRemCommand extends Command {
6
- constructor(key, ...members) {
7
- super(["srem", key, ...members]);
6
+ constructor(cmd, opts) {
7
+ super(["srem", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sscan
4
4
  */
5
5
  export class SScanCommand extends Command {
6
- constructor(key, cursor, opts) {
6
+ constructor([key, cursor, opts], cmdOpts) {
7
7
  const command = ["sscan", key, cursor];
8
8
  if (opts?.match) {
9
9
  command.push("match", opts.match);
@@ -11,6 +11,6 @@ export class SScanCommand extends Command {
11
11
  if (typeof opts?.count === "number") {
12
12
  command.push("count", opts.count);
13
13
  }
14
- super(command);
14
+ super(command, cmdOpts);
15
15
  }
16
16
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/strlen
4
4
  */
5
5
  export class StrLenCommand extends Command {
6
- constructor(key) {
7
- super(["strlen", key]);
6
+ constructor(cmd, opts) {
7
+ super(["strlen", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sunion
4
4
  */
5
5
  export class SUnionCommand extends Command {
6
- constructor(key, ...keys) {
7
- super(["sunion", key, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sunion", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/sunionstore
4
4
  */
5
5
  export class SUnionStoreCommand extends Command {
6
- constructor(destination, key, ...keys) {
7
- super(["sunionstore", destination, key, ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["sunionstore", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/time
4
4
  */
5
5
  export class TimeCommand extends Command {
6
- constructor() {
7
- super(["time"]);
6
+ constructor(opts) {
7
+ super(["time"], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/touch
4
4
  */
5
5
  export class TouchCommand extends Command {
6
- constructor(...keys) {
7
- super(["touch", ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["touch", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/ttl
4
4
  */
5
5
  export class TtlCommand extends Command {
6
- constructor(key) {
7
- super(["ttl", key]);
6
+ constructor(cmd, opts) {
7
+ super(["ttl", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/type
4
4
  */
5
5
  export class TypeCommand extends Command {
6
- constructor(key) {
7
- super(["type", key]);
6
+ constructor(cmd, opts) {
7
+ super(["type", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/unlink
4
4
  */
5
5
  export class UnlinkCommand extends Command {
6
- constructor(...keys) {
7
- super(["unlink", ...keys]);
6
+ constructor(cmd, opts) {
7
+ super(["unlink", ...cmd], opts);
8
8
  }
9
9
  }
@@ -3,24 +3,24 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/zadd
4
4
  */
5
5
  export class ZAddCommand extends Command {
6
- constructor(key, arg1, ...arg2) {
6
+ constructor([key, arg1, ...arg2], opts) {
7
7
  const command = ["zadd", key];
8
- if (("nx" in arg1) && arg1.nx) {
8
+ if ("nx" in arg1 && arg1.nx) {
9
9
  command.push("nx");
10
10
  }
11
- else if (("xx" in arg1) && arg1.xx) {
11
+ else if ("xx" in arg1 && arg1.xx) {
12
12
  command.push("xx");
13
13
  }
14
- if (("ch" in arg1) && arg1.ch) {
14
+ if ("ch" in arg1 && arg1.ch) {
15
15
  command.push("ch");
16
16
  }
17
- if (("incr" in arg1) && arg1.incr) {
17
+ if ("incr" in arg1 && arg1.incr) {
18
18
  command.push("incr");
19
19
  }
20
- if (("score" in arg1) && ("member" in arg1)) {
20
+ if ("score" in arg1 && "member" in arg1) {
21
21
  command.push(arg1.score, arg1.member);
22
22
  }
23
23
  command.push(...arg2.flatMap(({ score, member }) => [score, member]));
24
- super(command);
24
+ super(command, opts);
25
25
  }
26
26
  }
@@ -3,7 +3,7 @@ import { Command } from "./command.js";
3
3
  * @see https://redis.io/commands/zcard
4
4
  */
5
5
  export class ZCardCommand extends Command {
6
- constructor(key) {
7
- super(["zcard", key]);
6
+ constructor(cmd, opts) {
7
+ super(["zcard", ...cmd], opts);
8
8
  }
9
9
  }