@upstash/redis 1.40.0 → 1.41.0

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 (475) hide show
  1. package/README.md +5 -0
  2. package/{chunk-RLVWMRRX.mjs → chunk-CGMWROAN.mjs} +557 -4
  3. package/cloudflare.d.mts +2 -2
  4. package/cloudflare.d.ts +2 -2
  5. package/cloudflare.js +557 -4
  6. package/cloudflare.mjs +1 -1
  7. package/docs/advanced.mdx +83 -0
  8. package/docs/commands/array/arcount.mdx +28 -0
  9. package/docs/commands/array/ardel.mdx +30 -0
  10. package/docs/commands/array/ardelrange.mdx +32 -0
  11. package/docs/commands/array/arget.mdx +33 -0
  12. package/docs/commands/array/argetrange.mdx +38 -0
  13. package/docs/commands/array/argrep.mdx +69 -0
  14. package/docs/commands/array/arinfo.mdx +49 -0
  15. package/docs/commands/array/arinsert.mdx +32 -0
  16. package/docs/commands/array/arlastitems.mdx +40 -0
  17. package/docs/commands/array/arlen.mdx +28 -0
  18. package/docs/commands/array/armget.mdx +31 -0
  19. package/docs/commands/array/armset.mdx +31 -0
  20. package/docs/commands/array/arnext.mdx +25 -0
  21. package/docs/commands/array/arop.mdx +44 -0
  22. package/docs/commands/array/arring.mdx +36 -0
  23. package/docs/commands/array/arscan.mdx +42 -0
  24. package/docs/commands/array/arseek.mdx +34 -0
  25. package/docs/commands/array/arset.mdx +35 -0
  26. package/docs/commands/auth/echo.mdx +24 -0
  27. package/docs/commands/auth/ping.mdx +21 -0
  28. package/docs/commands/bitmap/bitcount.mdx +39 -0
  29. package/docs/commands/bitmap/bitop.mdx +142 -0
  30. package/docs/commands/bitmap/bitpos.mdx +39 -0
  31. package/docs/commands/bitmap/getbit.mdx +28 -0
  32. package/docs/commands/bitmap/setbit.mdx +31 -0
  33. package/docs/commands/connection/client_setinfo.mdx +91 -0
  34. package/docs/commands/functions/call.mdx +72 -0
  35. package/docs/commands/functions/call_ro.mdx +57 -0
  36. package/docs/commands/functions/delete.mdx +22 -0
  37. package/docs/commands/functions/flush.mdx +16 -0
  38. package/docs/commands/functions/list.mdx +72 -0
  39. package/docs/commands/functions/load.mdx +64 -0
  40. package/docs/commands/functions/stats.mdx +46 -0
  41. package/docs/commands/generic/del.mdx +29 -0
  42. package/docs/commands/generic/exists.mdx +26 -0
  43. package/docs/commands/generic/expire.mdx +29 -0
  44. package/docs/commands/generic/expireat.mdx +29 -0
  45. package/docs/commands/generic/keys.mdx +32 -0
  46. package/docs/commands/generic/persist.mdx +23 -0
  47. package/docs/commands/generic/pexpire.mdx +28 -0
  48. package/docs/commands/generic/pexpireat.mdx +29 -0
  49. package/docs/commands/generic/pttl.mdx +23 -0
  50. package/docs/commands/generic/randomkey.mdx +21 -0
  51. package/docs/commands/generic/rename.mdx +28 -0
  52. package/docs/commands/generic/renamenx.mdx +28 -0
  53. package/docs/commands/generic/scan.mdx +38 -0
  54. package/docs/commands/generic/touch.mdx +23 -0
  55. package/docs/commands/generic/ttl.mdx +23 -0
  56. package/docs/commands/generic/type.mdx +27 -0
  57. package/docs/commands/generic/unlink.mdx +29 -0
  58. package/docs/commands/hash/hdel.mdx +28 -0
  59. package/docs/commands/hash/hexists.mdx +30 -0
  60. package/docs/commands/hash/hexpire.mdx +49 -0
  61. package/docs/commands/hash/hexpireat.mdx +48 -0
  62. package/docs/commands/hash/hexpiretime.mdx +35 -0
  63. package/docs/commands/hash/hget.mdx +29 -0
  64. package/docs/commands/hash/hgetall.mdx +27 -0
  65. package/docs/commands/hash/hgetdel.mdx +67 -0
  66. package/docs/commands/hash/hgetex.mdx +123 -0
  67. package/docs/commands/hash/hincrby.mdx +34 -0
  68. package/docs/commands/hash/hincrbyfloat.mdx +34 -0
  69. package/docs/commands/hash/hkeys.mdx +28 -0
  70. package/docs/commands/hash/hlen.mdx +28 -0
  71. package/docs/commands/hash/hmget.mdx +33 -0
  72. package/docs/commands/hash/hpersist.mdx +37 -0
  73. package/docs/commands/hash/hpexpire.mdx +50 -0
  74. package/docs/commands/hash/hpexpireat.mdx +48 -0
  75. package/docs/commands/hash/hpexpiretime.mdx +35 -0
  76. package/docs/commands/hash/hpttl.mdx +35 -0
  77. package/docs/commands/hash/hrandfield.mdx +57 -0
  78. package/docs/commands/hash/hscan.mdx +65 -0
  79. package/docs/commands/hash/hset.mdx +32 -0
  80. package/docs/commands/hash/hsetex.mdx +186 -0
  81. package/docs/commands/hash/hsetnx.mdx +30 -0
  82. package/docs/commands/hash/hstrlen.mdx +28 -0
  83. package/docs/commands/hash/httl.mdx +35 -0
  84. package/docs/commands/hash/hvals.mdx +29 -0
  85. package/docs/commands/json/arrappend.mdx +35 -0
  86. package/docs/commands/json/arrindex.mdx +37 -0
  87. package/docs/commands/json/arrinsert.mdx +34 -0
  88. package/docs/commands/json/arrlen.mdx +26 -0
  89. package/docs/commands/json/arrpop.mdx +36 -0
  90. package/docs/commands/json/arrtrim.mdx +34 -0
  91. package/docs/commands/json/clear.mdx +30 -0
  92. package/docs/commands/json/del.mdx +26 -0
  93. package/docs/commands/json/forget.mdx +26 -0
  94. package/docs/commands/json/get.mdx +53 -0
  95. package/docs/commands/json/merge.mdx +32 -0
  96. package/docs/commands/json/mget.mdx +27 -0
  97. package/docs/commands/json/mset.mdx +26 -0
  98. package/docs/commands/json/numincrby.mdx +33 -0
  99. package/docs/commands/json/nummultby.mdx +33 -0
  100. package/docs/commands/json/objkeys.mdx +27 -0
  101. package/docs/commands/json/objlen.mdx +27 -0
  102. package/docs/commands/json/set.mdx +42 -0
  103. package/docs/commands/json/strappend.mdx +32 -0
  104. package/docs/commands/json/strlen.mdx +26 -0
  105. package/docs/commands/json/toggle.mdx +28 -0
  106. package/docs/commands/json/type.mdx +28 -0
  107. package/docs/commands/list/lindex.mdx +32 -0
  108. package/docs/commands/list/linsert.mdx +41 -0
  109. package/docs/commands/list/llen.mdx +26 -0
  110. package/docs/commands/list/lmove.mdx +34 -0
  111. package/docs/commands/list/lpop.mdx +37 -0
  112. package/docs/commands/list/lpos.mdx +56 -0
  113. package/docs/commands/list/lpush.mdx +32 -0
  114. package/docs/commands/list/lpushx.mdx +38 -0
  115. package/docs/commands/list/lrange.mdx +37 -0
  116. package/docs/commands/list/lrem.mdx +33 -0
  117. package/docs/commands/list/lset.mdx +34 -0
  118. package/docs/commands/list/ltrim.mdx +33 -0
  119. package/docs/commands/list/rpop.mdx +37 -0
  120. package/docs/commands/list/rpush.mdx +32 -0
  121. package/docs/commands/list/rpushx.mdx +38 -0
  122. package/docs/commands/overview.mdx +692 -0
  123. package/docs/commands/pubsub/psubscribe.mdx +36 -0
  124. package/docs/commands/pubsub/publish.mdx +27 -0
  125. package/docs/commands/pubsub/subscribe.mdx +28 -0
  126. package/docs/commands/scripts/eval.mdx +36 -0
  127. package/docs/commands/scripts/eval_ro.mdx +36 -0
  128. package/docs/commands/scripts/evalsha.mdx +36 -0
  129. package/docs/commands/scripts/evalsha_ro.mdx +36 -0
  130. package/docs/commands/scripts/script_exists.mdx +26 -0
  131. package/docs/commands/scripts/script_flush.mdx +28 -0
  132. package/docs/commands/scripts/script_load.mdx +28 -0
  133. package/docs/commands/server/dbsize.mdx +22 -0
  134. package/docs/commands/server/flushall.mdx +25 -0
  135. package/docs/commands/server/flushdb.mdx +25 -0
  136. package/docs/commands/set/sadd.mdx +32 -0
  137. package/docs/commands/set/scard.mdx +26 -0
  138. package/docs/commands/set/sdiff.mdx +27 -0
  139. package/docs/commands/set/sdiffstore.mdx +32 -0
  140. package/docs/commands/set/sinter.mdx +27 -0
  141. package/docs/commands/set/sinterstore.mdx +33 -0
  142. package/docs/commands/set/sismember.mdx +30 -0
  143. package/docs/commands/set/smembers.mdx +25 -0
  144. package/docs/commands/set/smismember.mdx +31 -0
  145. package/docs/commands/set/smove.mdx +34 -0
  146. package/docs/commands/set/spop.mdx +36 -0
  147. package/docs/commands/set/srandmember.mdx +36 -0
  148. package/docs/commands/set/srem.mdx +29 -0
  149. package/docs/commands/set/sscan.mdx +39 -0
  150. package/docs/commands/set/sunion.mdx +27 -0
  151. package/docs/commands/set/sunionstore.mdx +33 -0
  152. package/docs/commands/stream/xack.mdx +37 -0
  153. package/docs/commands/stream/xackdel.mdx +211 -0
  154. package/docs/commands/stream/xadd.mdx +137 -0
  155. package/docs/commands/stream/xautoclaim.mdx +80 -0
  156. package/docs/commands/stream/xclaim.mdx +84 -0
  157. package/docs/commands/stream/xdel.mdx +34 -0
  158. package/docs/commands/stream/xdelex.mdx +119 -0
  159. package/docs/commands/stream/xgroup.mdx +141 -0
  160. package/docs/commands/stream/xinfo.mdx +77 -0
  161. package/docs/commands/stream/xlen.mdx +22 -0
  162. package/docs/commands/stream/xpending.mdx +75 -0
  163. package/docs/commands/stream/xrange.mdx +59 -0
  164. package/docs/commands/stream/xread.mdx +65 -0
  165. package/docs/commands/stream/xreadgroup.mdx +87 -0
  166. package/docs/commands/stream/xrevrange.mdx +65 -0
  167. package/docs/commands/stream/xtrim.mdx +75 -0
  168. package/docs/commands/string/append.mdx +28 -0
  169. package/docs/commands/string/decr.mdx +27 -0
  170. package/docs/commands/string/decrby.mdx +30 -0
  171. package/docs/commands/string/get.mdx +34 -0
  172. package/docs/commands/string/getdel.mdx +29 -0
  173. package/docs/commands/string/getrange.mdx +34 -0
  174. package/docs/commands/string/getset.mdx +28 -0
  175. package/docs/commands/string/incr.mdx +27 -0
  176. package/docs/commands/string/incrby.mdx +30 -0
  177. package/docs/commands/string/incrbyfloat.mdx +30 -0
  178. package/docs/commands/string/mget.mdx +31 -0
  179. package/docs/commands/string/mset.mdx +32 -0
  180. package/docs/commands/string/msetnx.mdx +29 -0
  181. package/docs/commands/string/set.mdx +79 -0
  182. package/docs/commands/string/setrange.mdx +38 -0
  183. package/docs/commands/string/strlen.mdx +26 -0
  184. package/docs/commands/transaction.mdx +22 -0
  185. package/docs/commands/zset/zadd.mdx +102 -0
  186. package/docs/commands/zset/zcard.mdx +31 -0
  187. package/docs/commands/zset/zcount.mdx +47 -0
  188. package/docs/commands/zset/zdiffstore.mdx +33 -0
  189. package/docs/commands/zset/zincrby.mdx +37 -0
  190. package/docs/commands/zset/zinterstore.mdx +98 -0
  191. package/docs/commands/zset/zlexcount.mdx +43 -0
  192. package/docs/commands/zset/zmscore.mdx +34 -0
  193. package/docs/commands/zset/zpopmax.mdx +25 -0
  194. package/docs/commands/zset/zpopmin.mdx +25 -0
  195. package/docs/commands/zset/zrange.mdx +85 -0
  196. package/docs/commands/zset/zrank.mdx +29 -0
  197. package/docs/commands/zset/zrem.mdx +33 -0
  198. package/docs/commands/zset/zremrangebylex.mdx +32 -0
  199. package/docs/commands/zset/zremrangebyrank.mdx +32 -0
  200. package/docs/commands/zset/zremrangebyscore.mdx +32 -0
  201. package/docs/commands/zset/zrevrank.mdx +29 -0
  202. package/docs/commands/zset/zscan.mdx +58 -0
  203. package/docs/commands/zset/zscore.mdx +34 -0
  204. package/docs/commands/zset/zunionstore.mdx +98 -0
  205. package/docs/deployment.mdx +117 -0
  206. package/docs/developing.mdx +118 -0
  207. package/docs/getstarted.mdx +68 -0
  208. package/docs/overview.mdx +29 -0
  209. package/docs/pipelining/auto-pipeline.mdx +108 -0
  210. package/docs/pipelining/pipeline-transaction.mdx +65 -0
  211. package/docs/retries.mdx +24 -0
  212. package/docs/troubleshooting.mdx +80 -0
  213. package/{error-BNzLTXJG.d.mts → error-4e36-PC0.d.mts} +838 -8
  214. package/{error-BNzLTXJG.d.ts → error-4e36-PC0.d.ts} +838 -8
  215. package/fastly.d.mts +2 -2
  216. package/fastly.d.ts +2 -2
  217. package/fastly.js +557 -4
  218. package/fastly.mjs +1 -1
  219. package/nodejs.d.mts +34 -2
  220. package/nodejs.d.ts +34 -2
  221. package/nodejs.js +586 -4
  222. package/nodejs.mjs +30 -1
  223. package/package.json +16 -5
  224. package/src/pkg/auto-pipeline.ts +284 -0
  225. package/src/pkg/commands/append.ts +12 -0
  226. package/src/pkg/commands/arcount.ts +14 -0
  227. package/src/pkg/commands/ardel.ts +19 -0
  228. package/src/pkg/commands/ardelrange.ts +19 -0
  229. package/src/pkg/commands/arget.ts +17 -0
  230. package/src/pkg/commands/argetrange.ts +20 -0
  231. package/src/pkg/commands/argrep.ts +109 -0
  232. package/src/pkg/commands/arinfo.ts +88 -0
  233. package/src/pkg/commands/arinsert.ts +24 -0
  234. package/src/pkg/commands/arlastitems.ts +29 -0
  235. package/src/pkg/commands/arlen.ts +23 -0
  236. package/src/pkg/commands/armget.ts +18 -0
  237. package/src/pkg/commands/armset.ts +26 -0
  238. package/src/pkg/commands/arnext.ts +20 -0
  239. package/src/pkg/commands/arop.ts +48 -0
  240. package/src/pkg/commands/arring.ts +23 -0
  241. package/src/pkg/commands/arscan.ts +44 -0
  242. package/src/pkg/commands/arseek.ts +17 -0
  243. package/src/pkg/commands/arset.ts +20 -0
  244. package/src/pkg/commands/bitcount.ts +30 -0
  245. package/src/pkg/commands/bitfield.ts +50 -0
  246. package/src/pkg/commands/bitop.ts +35 -0
  247. package/src/pkg/commands/bitpos.ts +15 -0
  248. package/src/pkg/commands/client_setinfo.ts +17 -0
  249. package/src/pkg/commands/command.ts +142 -0
  250. package/src/pkg/commands/copy.ts +22 -0
  251. package/src/pkg/commands/dbsize.ts +12 -0
  252. package/src/pkg/commands/decr.ts +12 -0
  253. package/src/pkg/commands/decrby.ts +12 -0
  254. package/src/pkg/commands/del.ts +12 -0
  255. package/src/pkg/commands/echo.ts +12 -0
  256. package/src/pkg/commands/eval.ts +18 -0
  257. package/src/pkg/commands/evalRo.ts +18 -0
  258. package/src/pkg/commands/evalsha.ts +18 -0
  259. package/src/pkg/commands/evalshaRo.ts +18 -0
  260. package/src/pkg/commands/exec.ts +23 -0
  261. package/src/pkg/commands/exists.ts +12 -0
  262. package/src/pkg/commands/expire.ts +13 -0
  263. package/src/pkg/commands/expireat.ts +16 -0
  264. package/src/pkg/commands/fcall.ts +15 -0
  265. package/src/pkg/commands/fcall_ro.ts +18 -0
  266. package/src/pkg/commands/flushall.ts +15 -0
  267. package/src/pkg/commands/flushdb.ts +15 -0
  268. package/src/pkg/commands/function_delete.ts +12 -0
  269. package/src/pkg/commands/function_flush.ts +12 -0
  270. package/src/pkg/commands/function_list.ts +77 -0
  271. package/src/pkg/commands/function_load.ts +31 -0
  272. package/src/pkg/commands/function_stats.ts +42 -0
  273. package/src/pkg/commands/geo_add.ts +54 -0
  274. package/src/pkg/commands/geo_dist.ts +19 -0
  275. package/src/pkg/commands/geo_hash.ts +23 -0
  276. package/src/pkg/commands/geo_pos.ts +39 -0
  277. package/src/pkg/commands/geo_search.ts +140 -0
  278. package/src/pkg/commands/geo_search_store.ts +69 -0
  279. package/src/pkg/commands/get.ts +15 -0
  280. package/src/pkg/commands/getbit.ts +12 -0
  281. package/src/pkg/commands/getdel.ts +15 -0
  282. package/src/pkg/commands/getex.ts +36 -0
  283. package/src/pkg/commands/getrange.ts +15 -0
  284. package/src/pkg/commands/getset.ts +15 -0
  285. package/src/pkg/commands/hdel.ts +12 -0
  286. package/src/pkg/commands/hexists.ts +12 -0
  287. package/src/pkg/commands/hexpire.ts +30 -0
  288. package/src/pkg/commands/hexpireat.ts +30 -0
  289. package/src/pkg/commands/hexpiretime.ts +13 -0
  290. package/src/pkg/commands/hget.ts +18 -0
  291. package/src/pkg/commands/hgetall.ts +44 -0
  292. package/src/pkg/commands/hgetdel.ts +30 -0
  293. package/src/pkg/commands/hgetex.ts +56 -0
  294. package/src/pkg/commands/hincrby.ts +15 -0
  295. package/src/pkg/commands/hincrbyfloat.ts +15 -0
  296. package/src/pkg/commands/hkeys.ts +12 -0
  297. package/src/pkg/commands/hlen.ts +12 -0
  298. package/src/pkg/commands/hmget.ts +53 -0
  299. package/src/pkg/commands/hmset.ts +14 -0
  300. package/src/pkg/commands/hpersist.ts +13 -0
  301. package/src/pkg/commands/hpexpire.ts +30 -0
  302. package/src/pkg/commands/hpexpireat.ts +30 -0
  303. package/src/pkg/commands/hpexpiretime.ts +13 -0
  304. package/src/pkg/commands/hpttl.ts +13 -0
  305. package/src/pkg/commands/hrandfield.ts +52 -0
  306. package/src/pkg/commands/hscan.ts +31 -0
  307. package/src/pkg/commands/hset.ts +15 -0
  308. package/src/pkg/commands/hsetex.ts +59 -0
  309. package/src/pkg/commands/hsetnx.ts +15 -0
  310. package/src/pkg/commands/hstrlen.ts +12 -0
  311. package/src/pkg/commands/httl.ts +13 -0
  312. package/src/pkg/commands/hvals.ts +12 -0
  313. package/src/pkg/commands/incr.ts +12 -0
  314. package/src/pkg/commands/incrby.ts +12 -0
  315. package/src/pkg/commands/incrbyfloat.ts +12 -0
  316. package/src/pkg/commands/json_arrappend.ts +18 -0
  317. package/src/pkg/commands/json_arrindex.ts +15 -0
  318. package/src/pkg/commands/json_arrinsert.ts +18 -0
  319. package/src/pkg/commands/json_arrlen.ts +15 -0
  320. package/src/pkg/commands/json_arrpop.ts +15 -0
  321. package/src/pkg/commands/json_arrtrim.ts +19 -0
  322. package/src/pkg/commands/json_clear.ts +12 -0
  323. package/src/pkg/commands/json_del.ts +12 -0
  324. package/src/pkg/commands/json_forget.ts +12 -0
  325. package/src/pkg/commands/json_get.ts +45 -0
  326. package/src/pkg/commands/json_merge.ts +18 -0
  327. package/src/pkg/commands/json_mget.ts +12 -0
  328. package/src/pkg/commands/json_mset.ts +27 -0
  329. package/src/pkg/commands/json_numincrby.ts +15 -0
  330. package/src/pkg/commands/json_nummultby.ts +15 -0
  331. package/src/pkg/commands/json_objkeys.ts +15 -0
  332. package/src/pkg/commands/json_objlen.ts +15 -0
  333. package/src/pkg/commands/json_resp.ts +11 -0
  334. package/src/pkg/commands/json_set.ts +35 -0
  335. package/src/pkg/commands/json_strappend.ts +15 -0
  336. package/src/pkg/commands/json_strlen.ts +15 -0
  337. package/src/pkg/commands/json_toggle.ts +12 -0
  338. package/src/pkg/commands/json_type.ts +12 -0
  339. package/src/pkg/commands/keys.ts +12 -0
  340. package/src/pkg/commands/lindex.ts +11 -0
  341. package/src/pkg/commands/linsert.ts +10 -0
  342. package/src/pkg/commands/llen.ts +12 -0
  343. package/src/pkg/commands/lmove.ts +20 -0
  344. package/src/pkg/commands/lmpop.ts +19 -0
  345. package/src/pkg/commands/lpop.ts +18 -0
  346. package/src/pkg/commands/lpos.ts +26 -0
  347. package/src/pkg/commands/lpush.ts +12 -0
  348. package/src/pkg/commands/lpushx.ts +12 -0
  349. package/src/pkg/commands/lrange.ts +11 -0
  350. package/src/pkg/commands/lrem.ts +10 -0
  351. package/src/pkg/commands/lset.ts +8 -0
  352. package/src/pkg/commands/ltrim.ts +8 -0
  353. package/src/pkg/commands/mget.ts +15 -0
  354. package/src/pkg/commands/mod.ts +222 -0
  355. package/src/pkg/commands/mset.ts +12 -0
  356. package/src/pkg/commands/msetnx.ts +12 -0
  357. package/src/pkg/commands/persist.ts +12 -0
  358. package/src/pkg/commands/pexpire.ts +16 -0
  359. package/src/pkg/commands/pexpireat.ts +16 -0
  360. package/src/pkg/commands/pfadd.ts +11 -0
  361. package/src/pkg/commands/pfcount.ts +11 -0
  362. package/src/pkg/commands/pfmerge.ts +11 -0
  363. package/src/pkg/commands/ping.ts +15 -0
  364. package/src/pkg/commands/psetex.ts +14 -0
  365. package/src/pkg/commands/psubscribe.ts +26 -0
  366. package/src/pkg/commands/pttl.ts +12 -0
  367. package/src/pkg/commands/publish.ts +12 -0
  368. package/src/pkg/commands/randomkey.ts +12 -0
  369. package/src/pkg/commands/rename.ts +12 -0
  370. package/src/pkg/commands/renamenx.ts +12 -0
  371. package/src/pkg/commands/rpop.ts +21 -0
  372. package/src/pkg/commands/rpush.ts +12 -0
  373. package/src/pkg/commands/rpushx.ts +12 -0
  374. package/src/pkg/commands/sadd.ts +15 -0
  375. package/src/pkg/commands/scan.ts +63 -0
  376. package/src/pkg/commands/scard.ts +11 -0
  377. package/src/pkg/commands/script_exists.ts +15 -0
  378. package/src/pkg/commands/script_flush.ts +22 -0
  379. package/src/pkg/commands/script_load.ts +12 -0
  380. package/src/pkg/commands/sdiff.ts +11 -0
  381. package/src/pkg/commands/sdiffstore.ts +14 -0
  382. package/src/pkg/commands/search/command-builder.ts +162 -0
  383. package/src/pkg/commands/search/index.ts +4 -0
  384. package/src/pkg/commands/search/schema-builder.ts +320 -0
  385. package/src/pkg/commands/search/search.ts +218 -0
  386. package/src/pkg/commands/search/types.ts +1029 -0
  387. package/src/pkg/commands/search/utils.ts +275 -0
  388. package/src/pkg/commands/set.ts +52 -0
  389. package/src/pkg/commands/setbit.ts +15 -0
  390. package/src/pkg/commands/setex.ts +11 -0
  391. package/src/pkg/commands/setnx.ts +11 -0
  392. package/src/pkg/commands/setrange.ts +15 -0
  393. package/src/pkg/commands/sinter.ts +11 -0
  394. package/src/pkg/commands/sintercard.ts +19 -0
  395. package/src/pkg/commands/sinterstore.ts +14 -0
  396. package/src/pkg/commands/sismember.ts +11 -0
  397. package/src/pkg/commands/smembers.ts +12 -0
  398. package/src/pkg/commands/smismember.ts +17 -0
  399. package/src/pkg/commands/smove.ts +14 -0
  400. package/src/pkg/commands/spop.ts +18 -0
  401. package/src/pkg/commands/srandmember.ts +18 -0
  402. package/src/pkg/commands/srem.ts +11 -0
  403. package/src/pkg/commands/sscan.ts +31 -0
  404. package/src/pkg/commands/strlen.ts +12 -0
  405. package/src/pkg/commands/subscribe.ts +254 -0
  406. package/src/pkg/commands/sunion.ts +12 -0
  407. package/src/pkg/commands/sunionstore.ts +15 -0
  408. package/src/pkg/commands/time.ts +10 -0
  409. package/src/pkg/commands/touch.ts +12 -0
  410. package/src/pkg/commands/ttl.ts +12 -0
  411. package/src/pkg/commands/type.ts +13 -0
  412. package/src/pkg/commands/types.ts +201 -0
  413. package/src/pkg/commands/unlink.ts +12 -0
  414. package/src/pkg/commands/vector/index.ts +11 -0
  415. package/src/pkg/commands/vector/types.ts +63 -0
  416. package/src/pkg/commands/vector/utils.ts +67 -0
  417. package/src/pkg/commands/vector/vector.ts +131 -0
  418. package/src/pkg/commands/vector_add.ts +18 -0
  419. package/src/pkg/commands/vector_count.ts +11 -0
  420. package/src/pkg/commands/vector_create.ts +28 -0
  421. package/src/pkg/commands/vector_del.ts +13 -0
  422. package/src/pkg/commands/vector_drop.ts +13 -0
  423. package/src/pkg/commands/vector_get.ts +18 -0
  424. package/src/pkg/commands/vector_info.ts +25 -0
  425. package/src/pkg/commands/vector_query.ts +24 -0
  426. package/src/pkg/commands/xack.ts +16 -0
  427. package/src/pkg/commands/xackdel.ts +21 -0
  428. package/src/pkg/commands/xadd.ts +70 -0
  429. package/src/pkg/commands/xautoclaim.ts +31 -0
  430. package/src/pkg/commands/xclaim.ts +56 -0
  431. package/src/pkg/commands/xdel.ts +16 -0
  432. package/src/pkg/commands/xdelex.ts +25 -0
  433. package/src/pkg/commands/xgroup.ts +101 -0
  434. package/src/pkg/commands/xinfo.ts +28 -0
  435. package/src/pkg/commands/xlen.ts +12 -0
  436. package/src/pkg/commands/xpending.ts +44 -0
  437. package/src/pkg/commands/xrange.ts +49 -0
  438. package/src/pkg/commands/xread.ts +78 -0
  439. package/src/pkg/commands/xreadgroup.ts +74 -0
  440. package/src/pkg/commands/xrevrange.ts +48 -0
  441. package/src/pkg/commands/xtrim.ts +25 -0
  442. package/src/pkg/commands/zadd.ts +54 -0
  443. package/src/pkg/commands/zcard.ts +12 -0
  444. package/src/pkg/commands/zcount.ts +14 -0
  445. package/src/pkg/commands/zdiffstore.ts +15 -0
  446. package/src/pkg/commands/zincrby.ts +14 -0
  447. package/src/pkg/commands/zinterstore.ts +51 -0
  448. package/src/pkg/commands/zlexcount.ts +11 -0
  449. package/src/pkg/commands/zmscore.ts +16 -0
  450. package/src/pkg/commands/zpopmax.ts +18 -0
  451. package/src/pkg/commands/zpopmin.ts +18 -0
  452. package/src/pkg/commands/zrange.ts +72 -0
  453. package/src/pkg/commands/zrank.ts +14 -0
  454. package/src/pkg/commands/zrem.ts +11 -0
  455. package/src/pkg/commands/zremrangebylex.ts +11 -0
  456. package/src/pkg/commands/zremrangebyrank.ts +14 -0
  457. package/src/pkg/commands/zremrangebyscore.ts +18 -0
  458. package/src/pkg/commands/zrevrank.ts +14 -0
  459. package/src/pkg/commands/zscan.ts +31 -0
  460. package/src/pkg/commands/zscore.ts +15 -0
  461. package/src/pkg/commands/zunion.ts +54 -0
  462. package/src/pkg/commands/zunionstore.ts +52 -0
  463. package/src/pkg/error.ts +28 -0
  464. package/src/pkg/http.ts +458 -0
  465. package/src/pkg/index.ts +1 -0
  466. package/src/pkg/pipeline.ts +2041 -0
  467. package/src/pkg/redis.ts +2130 -0
  468. package/src/pkg/script.ts +100 -0
  469. package/src/pkg/scriptRo.ts +98 -0
  470. package/src/pkg/types.ts +35 -0
  471. package/src/pkg/util.ts +115 -0
  472. package/src/platforms/cloudflare.ts +162 -0
  473. package/src/platforms/fastly.ts +105 -0
  474. package/src/platforms/nodejs.ts +231 -0
  475. package/src/version.ts +1 -0
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: LINDEX
3
+ description: Returns the element at index index in the list stored at key.
4
+ ---
5
+
6
+ The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list.
7
+
8
+
9
+ ## Arguments
10
+
11
+ <ParamField body="key" type="string" required>
12
+ The key of the list.
13
+ </ParamField>
14
+
15
+ <ParamField body="index" type="number" required>
16
+ The index of the element to return, zero-based.
17
+ </ParamField>
18
+
19
+
20
+ ## Response
21
+
22
+ <ResponseField type="TValue | null" required>
23
+ The value of the element at index index in the list. If the index is out of range, `null` is returned.
24
+ </ResponseField>
25
+
26
+ <RequestExample>
27
+ ```ts Example
28
+ await redis.rpush("key", "a", "b", "c");
29
+ const element = await redis.lindex("key", 0);
30
+ console.log(element); // "a"
31
+ ```
32
+ </RequestExample>
@@ -0,0 +1,41 @@
1
+ ---
2
+ title: LINSERT
3
+ description: Insert an element before or after another element in a list
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+
13
+
14
+ <ParamField body="direction" type="before | after" required>
15
+ Whether to insert the element before or after pivot.
16
+ </ParamField>
17
+
18
+
19
+
20
+ <ParamField body="pivot" type="TValue" required>
21
+ The element to insert before or after.
22
+ </ParamField>
23
+
24
+
25
+
26
+ <ParamField body="value" type="TValue" required>
27
+ The element to insert.
28
+ </ParamField>
29
+
30
+ ## Response
31
+
32
+ <ResponseField type="integer" required>
33
+ The list length after insertion, `0` when the list doesn't exist or `-1` when pivot was not found.
34
+ </ResponseField>
35
+
36
+ <RequestExample>
37
+ ```ts Example
38
+ await redis.rpush("key", "a", "b", "c");
39
+ await redis.linsert("key", "before", "b", "x");
40
+ ```
41
+ </RequestExample>
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: LLEN
3
+ description: Returns the length of the list stored at key.
4
+ ---
5
+
6
+
7
+
8
+ ## Arguments
9
+
10
+ <ParamField body="key" type="string" required>
11
+ The key of the list.
12
+ </ParamField>
13
+
14
+ ## Response
15
+
16
+ <ResponseField type="number" required>
17
+ The length of the list at key.
18
+ </ResponseField>
19
+
20
+ <RequestExample>
21
+ ```ts Example
22
+ await redis.rpush("key", "a", "b", "c");
23
+ const length = await redis.llen("key");
24
+ console.log(length); // 3
25
+ ```
26
+ </RequestExample>
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: LMOVE
3
+ description: Move an element from one list to another.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="source" type="string" required>
9
+ The key of the source list.
10
+ </ParamField>
11
+
12
+ <ParamField body="destination" type="string" required>
13
+ The key of the destination list.
14
+ </ParamField>
15
+
16
+ <ParamField body="from" type='"left" | "right"' required>
17
+ The side of the source list from which the element was popped.
18
+ </ParamField>
19
+
20
+ <ParamField body="to" type='"left" | "right"' required>
21
+ The side of the destination list to which the element was pushed.
22
+ </ParamField>
23
+
24
+ ## Response
25
+ <ResponseField type="TValue" required>
26
+ The element that was moved.
27
+ </ResponseField>
28
+
29
+ <RequestExample>
30
+ ```ts Example
31
+ await redis.rpush("source", "a", "b", "c");
32
+ const element = await redis.move("source", "destination", "left", "left");
33
+ ```
34
+ </RequestExample>
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: LPOP
3
+ description: Remove and return the first element(s) of a list
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="count" type="integer">
13
+ How many elements to pop. If not specified, a single element is popped.
14
+ </ParamField>
15
+
16
+ ## Response
17
+
18
+ <ResponseField type="TValue | TValue[] | null" required>
19
+ The popped element(s). If `count` was specified, an array of elements is
20
+ returned, otherwise a single element is returned. If the list is empty, `null`
21
+ is returned.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Single
26
+ await redis.rpush("key", "a", "b", "c");
27
+ const element = await redis.lpop("key");
28
+ console.log(element); // "a"
29
+ ```
30
+
31
+
32
+ ```ts Multiple
33
+ await redis.rpush("key", "a", "b", "c");
34
+ const element = await redis.lpop("key", 2);
35
+ console.log(element); // ["a", "b"]
36
+ ```
37
+ </RequestExample>
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: LPOS
3
+ description: Returns the index of matching elements inside a list.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="element" type="unknown" required>
13
+ The element to match.
14
+ </ParamField>
15
+
16
+ <ParamField body="opts">
17
+ <ParamField body="rank" type="number">
18
+ The rank of the element to match. If specified, the element at the given
19
+ rank is matched instead of the first element.
20
+ </ParamField>
21
+ <ParamField body="count" type="number">
22
+ The maximum number of elements to match. If specified, an array of elements
23
+ is returned instead of a single element.
24
+ </ParamField>
25
+ <ParamField body="maxLen" type="number">
26
+ Limit the number of comparisons to perform.
27
+ </ParamField>
28
+ </ParamField>
29
+
30
+ ## Response
31
+
32
+ <ResponseField type="number | number[]" required>
33
+ The index of the matching element or an array of indexes if `opts.count` is
34
+ specified.
35
+ </ResponseField>
36
+
37
+ <RequestExample>
38
+ ```ts Example
39
+ await redis.rpush("key", "a", "b", "c");
40
+ const index = await redis.lpos("key", "b");
41
+ console.log(index); // 1
42
+ ```
43
+
44
+ ```ts With Rank
45
+ await redis.rpush("key", "a", "b", "c", "b");
46
+ const index = await redis.lpos("key", "b", { rank: 2 });
47
+ console.log(index); // 3
48
+ ```
49
+
50
+ ```ts With Count
51
+ await redis.rpush("key", "a", "b", "b");
52
+ const positions = await redis.lpos("key", "b", { count: 2 });
53
+ console.log(positions); // [1, 2]
54
+ ```
55
+
56
+ </RequestExample>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: LPUSH
3
+ description: Push an element at the head of the list.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="elements" type="...TValue[]" required>
13
+ One or more elements to push at the head of the list.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="number" required>
20
+ The length of the list after the push operation.
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ const length1 = await redis.lpush("key", "a", "b", "c");
26
+ console.log(length1); // 3
27
+ const length2 = await redis.lpush("key", "d");
28
+ console.log(length2); // 4
29
+ ```
30
+
31
+
32
+ </RequestExample>
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: LPUSHX
3
+ description: Push an element at the head of the list only if the list exists.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="elements" type="...TValue[]" required>
13
+ One or more elements to push at the head of the list.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="number" required>
20
+ The length of the list after the push operation.
21
+
22
+ `0` if the list did not exist and thus no element was pushed.
23
+ </ResponseField>
24
+
25
+ <RequestExample>
26
+ ```ts Example
27
+ await redis.lpush("key", "a", "b", "c");
28
+ const length = await redis.lpushx("key", "d");
29
+ console.log(length); // 4
30
+ ```
31
+
32
+ ```ts Without existing list
33
+ const length = await redis.lpushx("key", "a");
34
+ console.log(length); // 0
35
+ ```
36
+
37
+
38
+ </RequestExample>
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: LRANGE
3
+ description: Returns the specified elements of the list stored at key.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="start" type="integer" required>
13
+ The starting index of the range to return.
14
+
15
+ Use negative numbers to specify offsets starting at the end of the list.
16
+ </ParamField>
17
+
18
+
19
+ <ParamField body="end" type="integer" required>
20
+ The ending index of the range to return.
21
+
22
+ Use negative numbers to specify offsets starting at the end of the list.
23
+ </ParamField>
24
+
25
+ ## Response
26
+
27
+ <ResponseField type="TValue[]" required>
28
+ The list of elements in the specified range.
29
+ </ResponseField>
30
+
31
+ <RequestExample>
32
+ ```ts Example
33
+ await redis.lpush("key", "a", "b", "c");
34
+ const elements = await redis.lrange("key", 1, 2);
35
+ console.log(elements) // ["b", "c"]
36
+ ```
37
+ </RequestExample>
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: LREM
3
+ description: Remove the first `count` occurrences of an element from a list.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="count" type="number" required>
13
+ How many occurrences of the element to remove.
14
+ </ParamField>
15
+
16
+
17
+ <ParamField body="element" type="TValue" required>
18
+ The element to remove
19
+ </ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField type="integer" required>
24
+ The number of elements removed.
25
+ </ResponseField>
26
+
27
+ <RequestExample>
28
+ ```ts Example
29
+ await redis.lpush("key", "a", "a", "b", "b", "c");
30
+ const removed = await redis.lrem("key", 4, "b");
31
+ console.log(removed) // 2
32
+ ```
33
+ </RequestExample>
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: LSET
3
+ description: Set a value at a specific index.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="index" type="number" required>
13
+ At which index to set the value.
14
+ </ParamField>
15
+
16
+
17
+ <ParamField body="data" type="TValue" required>
18
+ The value to set.
19
+ </ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField type="OK" required>
24
+ `OK`
25
+ </ResponseField>
26
+
27
+ <RequestExample>
28
+ ```ts Example
29
+ await redis.lpush("key", "a", "b", "c");
30
+ await redis.lset("key", 1, "d");
31
+
32
+ // list is now ["a", "d", "c"]
33
+ ```
34
+ </RequestExample>
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: LTRIM
3
+ description: Trim a list to the specified range
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="start" type="number" required>
13
+ The index of the first element to keep.
14
+ </ParamField>
15
+
16
+
17
+ <ParamField body="end" type="TValue" required>
18
+ The index of the first element to keep.
19
+ </ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField type="OK" required>
24
+ `OK`
25
+ </ResponseField>
26
+
27
+ <RequestExample>
28
+ ```ts Example
29
+ await redis.lpush("key", "a", "b", "c", "d");
30
+ await redis.ltrim("key", 1, 2);
31
+ // the list is now ["b", "c"]
32
+ ```
33
+ </RequestExample>
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: RPOP
3
+ description: Remove and return the last element(s) of a list
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="count" type="integer">
13
+ How many elements to pop. If not specified, a single element is popped.
14
+ </ParamField>
15
+
16
+ ## Response
17
+
18
+ <ResponseField type="TValue | TValue[] | null" required>
19
+ The popped element(s). If `count` was specified, an array of elements is
20
+ returned, otherwise a single element is returned. If the list is empty, `null`
21
+ is returned.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Single
26
+ await redis.rpush("key", "a", "b", "c");
27
+ const element = await redis.rpop("key");
28
+ console.log(element); // "c"
29
+ ```
30
+
31
+
32
+ ```ts Multiple
33
+ await redis.rpush("key", "a", "b", "c");
34
+ const element = await redis.rpop("key", 2);
35
+ console.log(element); // ["c", "b"]
36
+ ```
37
+ </RequestExample>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: RPUSH
3
+ description: Push an element at the end of the list.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="elements" type="...TValue[]" required>
13
+ One or more elements to push at the end of the list.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="number" required>
20
+ The length of the list after the push operation.
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ const length1 = await redis.rpush("key", "a", "b", "c");
26
+ console.log(length1); // 3
27
+ const length2 = await redis.rpush("key", "d");
28
+ console.log(length2); // 4
29
+ ```
30
+
31
+
32
+ </RequestExample>
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: RPUSHX
3
+ description: Push an element at the end of the list only if the list exists.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the list.
10
+ </ParamField>
11
+
12
+ <ParamField body="elements" type="...TValue[]" required>
13
+ One or more elements to push at the end of the list.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="number" required>
20
+ The length of the list after the push operation.
21
+
22
+ `0` if the list did not exist and thus no element was pushed.
23
+ </ResponseField>
24
+
25
+ <RequestExample>
26
+ ```ts Example
27
+ await redis.lpush("key", "a", "b", "c");
28
+ const length = await redis.rpushx("key", "d");
29
+ console.log(length); // 4
30
+ ```
31
+
32
+ ```ts Without existing list
33
+ const length = await redis.rpushx("key", "a");
34
+ console.log(length); // 0
35
+ ```
36
+
37
+
38
+ </RequestExample>