@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,36 @@
1
+ ---
2
+ title: PSUBSCRIBE
3
+ description: Subscribe to a channel by patterns/wildcards
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="patterns" type="string | string[]" required>
10
+ The patterns matching channels to publish to.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="Subscriber" required>
16
+ A subscriber instance which can subscribe to channels.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ const subscription = redis.psubscribe(["user:*"]);
22
+
23
+ const messages = [];
24
+ subscription.on("pmessage", (data) => {
25
+ messages.push(data.message);
26
+ });
27
+
28
+ await redis.publish("user:123", "user:123 message"); // receives
29
+ await redis.publish("user:456", "user:456 message"); // receives
30
+ await redis.publish("other:789", "other:789 message"); // doesn't receive
31
+
32
+ console.log(messages[0]) // user:123 message
33
+ console.log(messages[1]) // user:456 message
34
+ console.log(messages[2]) // undefined
35
+ ```
36
+ </RequestExample>
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: PUBLISH
3
+ description: Publish a message to a channel
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="channel" type="string" required>
10
+ The channel to publish to.
11
+ </ParamField>
12
+
13
+ <ParamField body="message" type="TMessage">
14
+ The message to publish.
15
+ </ParamField>
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="integer" required>
20
+ The number of clients who received the message.
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ const listeners = await redis.publish("my-channel", "my-message");
26
+ ```
27
+ </RequestExample>
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: SUBSCRIBE
3
+ description: Subscribe to a channel
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="channels" type="string | string[]" required>
10
+ The channel to publish to.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="Subscriber" required>
16
+ A subscriber instance which can subscribe to channels.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ const subscription = redis.subscribe(["my-channel"]);
22
+
23
+ const messages = [];
24
+ subscription.on("message", (data) => {
25
+ messages.push(data.message);
26
+ });
27
+ ```
28
+ </RequestExample>
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: EVAL
3
+ description: Evaluate a Lua script server side.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="script" type="string" required>
9
+ The lua script to run.
10
+ </ParamField>
11
+
12
+ <ParamField body="keys" type="string[]" required>
13
+ All of the keys accessed in the script
14
+ </ParamField>
15
+
16
+ <ParamField body="args" type="unknown[]" required>
17
+ All of the arguments you passed to the script
18
+ </ParamField>
19
+
20
+ ## Response
21
+
22
+ <ResponseField type="any" required>
23
+ The result of the script.
24
+ </ResponseField>
25
+
26
+ <RequestExample>
27
+ ```ts Example
28
+ const script = `
29
+ return ARGV[1]
30
+ `
31
+ const result = await redis.eval(script, [], ["hello"]);
32
+ console.log(result) // "hello"
33
+
34
+ ```
35
+ </RequestExample>
36
+
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: EVAL_RO
3
+ description: Evaluate a read-only Lua script server side.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="script" type="string" required>
9
+ The read-only lua script to run.
10
+ </ParamField>
11
+
12
+ <ParamField body="keys" type="string[]" required>
13
+ All of the keys accessed in the script
14
+ </ParamField>
15
+
16
+ <ParamField body="args" type="unknown[]" required>
17
+ All of the arguments you passed to the script
18
+ </ParamField>
19
+
20
+ ## Response
21
+
22
+ <ResponseField type="any" required>
23
+ The result of the script.
24
+ </ResponseField>
25
+
26
+ <RequestExample>
27
+ ```ts Example
28
+ const script = `
29
+ return ARGV[1]
30
+ `
31
+ const result = await redis.evalRo(script, [], ["hello"]);
32
+ console.log(result) // "hello"
33
+
34
+ ```
35
+ </RequestExample>
36
+
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: EVALSHA
3
+ description: Evaluate a cached Lua script server side.
4
+ ---
5
+
6
+ `EVALSHA` is like `EVAL` but instead of sending the script over the wire every time, you reference the script by its SHA1 hash. This is useful for caching scripts on the server side.
7
+
8
+ ## Arguments
9
+
10
+ <ParamField body="sha" type="string" required>
11
+ The sha1 hash of the script.
12
+ </ParamField>
13
+
14
+ <ParamField body="keys" type="string[]" required>
15
+ All of the keys accessed in the script
16
+ </ParamField>
17
+
18
+ <ParamField body="args" type="unknown[]" required>
19
+ All of the arguments you passed to the script
20
+ </ParamField>
21
+
22
+ ## Response
23
+
24
+ <ResponseField type="?" required>
25
+ The result of the script.
26
+ </ResponseField>
27
+
28
+ <RequestExample>
29
+ ```ts Example
30
+
31
+ const result = await redis.evalsha("fb67a0c03b48ddbf8b4c9b011e779563bdbc28cb", [], ["hello"]);
32
+ console.log(result) // "hello"
33
+
34
+ ```
35
+ </RequestExample>
36
+
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: EVALSHA_RO
3
+ description: Evaluate a cached read-only Lua script server side.
4
+ ---
5
+
6
+ `EVALSHA_RO` is like `EVAL_RO` but instead of sending the script over the wire every time, you reference the script by its SHA1 hash. This is useful for caching scripts on the server side.
7
+
8
+ ## Arguments
9
+
10
+ <ParamField body="sha" type="string" required>
11
+ The sha1 hash of the read-only script.
12
+ </ParamField>
13
+
14
+ <ParamField body="keys" type="string[]" required>
15
+ All of the keys accessed in the script
16
+ </ParamField>
17
+
18
+ <ParamField body="args" type="unknown[]" required>
19
+ All of the arguments you passed to the script
20
+ </ParamField>
21
+
22
+ ## Response
23
+
24
+ <ResponseField type="?" required>
25
+ The result of the script.
26
+ </ResponseField>
27
+
28
+ <RequestExample>
29
+ ```ts Example
30
+
31
+ const result = await redis.evalshaRo("fb67a0c03b48ddbf8b4c9b011e779563bdbc28cb", [], ["hello"]);
32
+ console.log(result) // "hello"
33
+
34
+ ```
35
+ </RequestExample>
36
+
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: SCRIPT EXISTS
3
+ description: Check if scripts exist in the script cache.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="hashes" type="string[]" required>
9
+ The sha1 of the scripts to check.
10
+ </ParamField>
11
+
12
+ ## Response
13
+
14
+ <ResponseField type="number[]" required>
15
+ An array of numbers. `1` if the script exists, otherwise `0`.
16
+ </ResponseField>
17
+
18
+ <RequestExample>
19
+ ```ts Example
20
+ await redis.scriptExists("<sha1>", "<sha2>")
21
+
22
+ // Returns 1
23
+ // [1, 0]
24
+ ```
25
+ </RequestExample>
26
+
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: SCRIPT FLUSH
3
+ description: Removes all scripts from the script cache.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="options" type="Object">
9
+ <ParamField body="async" type="boolean">
10
+ Performs the flush asynchronously.
11
+ </ParamField>
12
+ <ParamField body="sync" type="boolean">
13
+ Performs the flush synchronously.
14
+ </ParamField>
15
+ </ParamField>
16
+
17
+ <RequestExample>
18
+ ```ts Example
19
+ await redis.scriptFlush();
20
+ ```
21
+
22
+ ```ts With options
23
+ await redis.scriptFlush({
24
+ async: true,
25
+ });
26
+ ```
27
+ </RequestExample>
28
+
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: SCRIPT LOAD
3
+ description: Load the specified Lua script into the script cache.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="script" type="string" required>
9
+ The script to load.
10
+ </ParamField>
11
+
12
+ ## Response
13
+
14
+ <ResponseField type="string" required>
15
+ The sha1 of the script.
16
+ </ResponseField>
17
+
18
+ <RequestExample>
19
+ ```ts Example
20
+ const script = `
21
+ local value = redis.call('GET', KEYS[1])
22
+ return value
23
+ `;
24
+ const sha1 = await redis.scriptLoad(script);
25
+
26
+ ```
27
+ </RequestExample>
28
+
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: DBSIZE
3
+ description: Count the number of keys in the database.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ This command has no arguments
10
+
11
+ ## Response
12
+
13
+ <ResponseField type="integer" required>
14
+ The number of keys in the database
15
+ </ResponseField>
16
+
17
+ <RequestExample>
18
+ ```ts Example
19
+ const keys = await redis.dbsize();
20
+ console.log(keys) // 20
21
+ ```
22
+ </RequestExample>
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: FLUSHALL
3
+ ---
4
+
5
+
6
+ <Warning>
7
+ Deletes all keys permanently. Use with caution!
8
+ </Warning>
9
+ ## Arguments
10
+
11
+ <ParamField body="async" type="boolean">
12
+ Whether to perform the operation asynchronously.
13
+ Defaults to synchronous.
14
+ </ParamField>
15
+
16
+
17
+
18
+ <RequestExample>
19
+ ```ts Sync
20
+ await redis.flushall();
21
+ ```
22
+ ```ts Async
23
+ await redis.flushall({async: true})
24
+ ```
25
+ </RequestExample>
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: FLUSHDB
3
+ ---
4
+
5
+
6
+ <Warning>
7
+ Deletes all keys permanently. Use with caution!
8
+ </Warning>
9
+ ## Arguments
10
+
11
+ <ParamField body="async" type="boolean">
12
+ Whether to perform the operation asynchronously.
13
+ Defaults to synchronous.
14
+ </ParamField>
15
+
16
+
17
+
18
+ <RequestExample>
19
+ ```ts Sync
20
+ await redis.flushdb();
21
+ ```
22
+ ```ts Async
23
+ await redis.flushdb({async: true})
24
+ ```
25
+ </RequestExample>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: SADD
3
+ description: Adds one or more members to a set.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the set.
10
+ </ParamField>
11
+
12
+ <ParamField body="members" type="...TValue[]" required>
13
+ One or more members to add to the set.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="number" required>
20
+ The number of elements that were added to the set, not including all the elements already present in the set.
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ // 3
26
+ await redis.sadd("key", "a", "b", "c");
27
+
28
+ // 0
29
+ await redis.sadd("key", "a", "b");
30
+ ```
31
+
32
+ </RequestExample>
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: SCARD
3
+ description: Return how many members are in a set
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the set.
10
+ </ParamField>
11
+
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="number" required>
16
+ How many members are in the set.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.sadd("key", "a", "b", "c");
22
+ const cardinality = await redis.scard("key");
23
+ console.log(cardinality); // 3
24
+ ```
25
+
26
+ </RequestExample>
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: SDIFF
3
+ description: Return the difference between sets
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="keys" type="...string[]" required>
9
+ The keys of the sets to perform the difference operation on.
10
+ </ParamField>
11
+
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="TValue[]" required>
16
+ The members of the resulting set.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.sadd("set1", "a", "b", "c");
22
+ await redis.sadd("set2", "c", "d", "e");
23
+ const diff = await redis.sdiff("set1", "set2");
24
+ console.log(diff); // ["a", "b"]
25
+ ```
26
+
27
+ </RequestExample>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: SDIFFSTORE
3
+ description: Write the difference between sets to a new set
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="destination" type="string" required>
9
+ The key of the set to store the resulting set in.
10
+ </ParamField>
11
+
12
+
13
+ <ParamField body="keys" type="...string[]" required>
14
+ The keys of the sets to perform the difference operation on.
15
+ </ParamField>
16
+
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="TValue[]" required>
21
+ The members of the resulting set.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ await redis.sadd("set1", "a", "b", "c");
27
+ await redis.sadd("set2", "c", "d", "e");
28
+ await redis.sdiff("dest", "set1", "set2");
29
+ console.log(diff); // ["a", "b"]
30
+ ```
31
+
32
+ </RequestExample>
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: SINTER
3
+ description: Return the intersection between sets
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="keys" type="...string[]" required>
9
+ The keys of the sets to perform the intersection operation on.
10
+ </ParamField>
11
+
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="TValue[]" required>
16
+ The members of the resulting set.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.sadd("set1", "a", "b", "c");
22
+ await redis.sadd("set2", "c", "d", "e");
23
+ const intersection = await redis.sinter("set1", "set2");
24
+ console.log(intersection); // ["c"]
25
+ ```
26
+
27
+ </RequestExample>
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: SINTERSTORE
3
+ description: Return the intersection between sets and store the resulting set in a key
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+
9
+
10
+ <ParamField body="destination" type="string" required>
11
+ The key of the set to store the resulting set in.
12
+ </ParamField>
13
+
14
+
15
+ <ParamField body="keys" type="...string[]" required>
16
+ The keys of the sets to perform the intersection operation on.
17
+ </ParamField>
18
+
19
+
20
+ ## Response
21
+
22
+ <ResponseField type="TValue[]" required>
23
+ The members of the resulting set.
24
+ </ResponseField>
25
+
26
+ <RequestExample>
27
+ ```ts Example
28
+ await redis.sadd("set1", "a", "b", "c");
29
+ await redis.sadd("set2", "c", "d", "e");
30
+ await redis.sinterstore("destination", "set1", "set2");
31
+ ```
32
+
33
+ </RequestExample>
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: SISMEMBER
3
+ description: Check if a member exists in a set
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the set to check.
10
+ </ParamField>
11
+
12
+ <ParamField body="member" type="TMember">
13
+ The member to check for.
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="0 | 1" required>
20
+ `1` if the member exists in the set, `0` if not.
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ await redis.sadd("set", "a", "b", "c");
26
+ const isMember = await redis.sismember("set", "a");
27
+ console.log(isMember); // 1
28
+ ```
29
+
30
+ </RequestExample>
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: SMEMBERS
3
+ description: Return all the members of a set
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the set.
10
+ </ParamField>
11
+
12
+ ## Response
13
+
14
+ <ResponseField type="TMember[]" required>
15
+ The members of the set.
16
+ </ResponseField>
17
+
18
+ <RequestExample>
19
+ ```ts Example
20
+ await redis.sadd("set", "a", "b", "c");
21
+ const members = await redis.smembers("set");
22
+ console.log(members); // ["a", "b", "c"]
23
+ ```
24
+
25
+ </RequestExample>
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: SMISMEMBER
3
+ description: Check if multiple members exist in a set
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key of the set to check.
10
+ </ParamField>
11
+
12
+ <ParamField body="members" type="TMember[]">
13
+ The members to check
14
+ </ParamField>
15
+
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="(0 | 1)[]" required>
20
+ An array of `0` and `1` values.
21
+ `1` if the member exists in the set, `0` if not.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ await redis.sadd("set", "a", "b", "c");
27
+ const members = await redis.smismember("set", ["a", "b", "d"]);
28
+ console.log(members); // [1, 1, 0]
29
+ ```
30
+
31
+ </RequestExample>