@upstash/redis 1.3.2-alpha.2 → 1.3.3-alpha.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 (360) hide show
  1. package/README.md +1 -1
  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 +3 -1
  121. package/package.json +1 -2
  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 +3 -1
  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 -1
@@ -20,7 +20,9 @@ export class Redis extends core.Redis {
20
20
  baseUrl: config.url,
21
21
  headers: { authorization: `Bearer ${config.token}` },
22
22
  });
23
- super(client);
23
+ super(client, {
24
+ automaticDeserialization: config.automaticDeserialization,
25
+ });
24
26
  }
25
27
  /*
26
28
  * Create a new Upstash Redis instance from environment variables on cloudflare.
@@ -22,7 +22,9 @@ export class Redis extends core.Redis {
22
22
  headers: { authorization: `Bearer ${config.token}` },
23
23
  backend: config.backend,
24
24
  });
25
- super(client);
25
+ super(client, {
26
+ automaticDeserialization: config.automaticDeserialization,
27
+ });
26
28
  }
27
29
  }
28
30
  function defaultRequester(config) {
@@ -16,7 +16,9 @@ export class Redis extends core.Redis {
16
16
  headers: { authorization: `Bearer ${configOrRequester.token}` },
17
17
  agent: configOrRequester.agent,
18
18
  });
19
- super(client);
19
+ super(client, {
20
+ automaticDeserialization: configOrRequester.automaticDeserialization,
21
+ });
20
22
  }
21
23
  /**
22
24
  * Create a new Upstash Redis instance from environment variables.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "main": "./script/platforms/nodejs.js",
4
4
  "types": "./types/platforms/nodejs.d.ts",
5
5
  "name": "@upstash/redis",
6
- "version": "v1.3.2-alpha.2",
6
+ "version": "v1.3.3-alpha.0",
7
7
  "description": "An HTTP/REST based Redis client built on top of Upstash REST API.",
8
8
  "repository": {
9
9
  "type": "git",
@@ -28,7 +28,6 @@
28
28
  "https": false
29
29
  },
30
30
  "dependencies": {
31
- "encoding": "latest",
32
31
  "isomorphic-fetch": "^3.0.0"
33
32
  },
34
33
  "devDependencies": {
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/append
7
7
  */
8
8
  class AppendCommand extends command_js_1.Command {
9
- constructor(key, value) {
10
- super(["append", key, value]);
9
+ constructor(cmd, opts) {
10
+ super(["append", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.AppendCommand = AppendCommand;
@@ -6,7 +6,7 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/bitcount
7
7
  */
8
8
  class BitCountCommand extends command_js_1.Command {
9
- constructor(key, start, end) {
9
+ constructor([key, start, end], opts) {
10
10
  const command = ["bitcount", key];
11
11
  if (typeof start === "number") {
12
12
  command.push(start);
@@ -14,7 +14,7 @@ class BitCountCommand extends command_js_1.Command {
14
14
  if (typeof end === "number") {
15
15
  command.push(end);
16
16
  }
17
- super(command);
17
+ super(command, opts);
18
18
  }
19
19
  }
20
20
  exports.BitCountCommand = BitCountCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/bitop
7
7
  */
8
8
  class BitOpCommand extends command_js_1.Command {
9
- constructor(op, destinationKey, sourceKey, ...sourceKeys) {
10
- super(["bitop", op, destinationKey, sourceKey, ...sourceKeys]);
9
+ constructor(cmd, opts) {
10
+ super(["bitop", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.BitOpCommand = BitOpCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/bitpos
7
7
  */
8
8
  class BitPosCommand extends command_js_1.Command {
9
- constructor(key, start, end) {
10
- super(["bitpos", key, start, end]);
9
+ constructor(cmd, opts) {
10
+ super(["bitpos", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.BitPosCommand = BitPosCommand;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Command = void 0;
4
4
  const error_js_1 = require("../error.js");
5
5
  const util_js_1 = require("../util.js");
6
+ const defaultSerializer = (c) => typeof c === "string" ? c : JSON.stringify(c);
6
7
  /**
7
8
  * Command offers default (de)serialization and the exec method to all commands.
8
9
  *
@@ -22,14 +23,24 @@ class Command {
22
23
  writable: true,
23
24
  value: void 0
24
25
  });
26
+ Object.defineProperty(this, "serialize", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
25
32
  Object.defineProperty(this, "deserialize", {
26
33
  enumerable: true,
27
34
  configurable: true,
28
35
  writable: true,
29
36
  value: void 0
30
37
  });
31
- this.command = command.map((c) => typeof c === "string" ? c : JSON.stringify(c));
32
- this.deserialize = opts?.deserialize ?? util_js_1.parseResponse;
38
+ this.serialize = defaultSerializer;
39
+ this.deserialize = typeof opts?.automaticDeserialization === "undefined" ||
40
+ opts.automaticDeserialization
41
+ ? opts?.deserialize ?? util_js_1.parseResponse
42
+ : (x) => x;
43
+ this.command = command.map(this.serialize);
33
44
  }
34
45
  /**
35
46
  * Execute the command using a client.
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/dbsize
7
7
  */
8
8
  class DBSizeCommand extends command_js_1.Command {
9
- constructor() {
10
- super(["dbsize"]);
9
+ constructor(opts) {
10
+ super(["dbsize"], opts);
11
11
  }
12
12
  }
13
13
  exports.DBSizeCommand = DBSizeCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/decr
7
7
  */
8
8
  class DecrCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["decr", key]);
9
+ constructor(cmd, opts) {
10
+ super(["decr", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.DecrCommand = DecrCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/decrby
7
7
  */
8
8
  class DecrByCommand extends command_js_1.Command {
9
- constructor(key, decrement) {
10
- super(["decrby", key, decrement]);
9
+ constructor(cmd, opts) {
10
+ super(["decrby", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.DecrByCommand = DecrByCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/del
7
7
  */
8
8
  class DelCommand extends command_js_1.Command {
9
- constructor(...keys) {
10
- super(["del", ...keys]);
9
+ constructor(cmd, opts) {
10
+ super(["del", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.DelCommand = DelCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/echo
7
7
  */
8
8
  class EchoCommand extends command_js_1.Command {
9
- constructor(message) {
10
- super(["echo", message]);
9
+ constructor(cmd, opts) {
10
+ super(["echo", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.EchoCommand = EchoCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/eval
7
7
  */
8
8
  class EvalCommand extends command_js_1.Command {
9
- constructor(script, keys, args) {
10
- super(["eval", script, keys.length, ...keys, ...(args ?? [])]);
9
+ constructor([script, keys, args], opts) {
10
+ super(["eval", script, keys.length, ...keys, ...(args ?? [])], opts);
11
11
  }
12
12
  }
13
13
  exports.EvalCommand = EvalCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/evalsha
7
7
  */
8
8
  class EvalshaCommand extends command_js_1.Command {
9
- constructor(sha, keys, args) {
10
- super(["evalsha", sha, keys.length, ...keys, ...(args ?? [])]);
9
+ constructor([sha, keys, args], opts) {
10
+ super(["evalsha", sha, keys.length, ...keys, ...(args ?? [])], opts);
11
11
  }
12
12
  }
13
13
  exports.EvalshaCommand = EvalshaCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/exists
7
7
  */
8
8
  class ExistsCommand extends command_js_1.Command {
9
- constructor(...keys) {
10
- super(["exists", ...keys]);
9
+ constructor(cmd, opts) {
10
+ super(["exists", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.ExistsCommand = ExistsCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/expire
7
7
  */
8
8
  class ExpireCommand extends command_js_1.Command {
9
- constructor(key, seconds) {
10
- super(["expire", key, seconds]);
9
+ constructor(cmd, opts) {
10
+ super(["expire", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.ExpireCommand = ExpireCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/expireat
7
7
  */
8
8
  class ExpireAtCommand extends command_js_1.Command {
9
- constructor(key, unix) {
10
- super(["expireat", key, unix]);
9
+ constructor(cmd, opts) {
10
+ super(["expireat", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.ExpireAtCommand = ExpireAtCommand;
@@ -6,12 +6,12 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/flushall
7
7
  */
8
8
  class FlushAllCommand extends command_js_1.Command {
9
- constructor(opts) {
9
+ constructor(args, opts) {
10
10
  const command = ["flushall"];
11
- if (opts?.async) {
11
+ if (args && args.length > 0 && args[0].async) {
12
12
  command.push("async");
13
13
  }
14
- super(command);
14
+ super(command, opts);
15
15
  }
16
16
  }
17
17
  exports.FlushAllCommand = FlushAllCommand;
@@ -6,12 +6,12 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/flushdb
7
7
  */
8
8
  class FlushDBCommand extends command_js_1.Command {
9
- constructor(opts) {
9
+ constructor([opts], cmdOpts) {
10
10
  const command = ["flushdb"];
11
11
  if (opts?.async) {
12
12
  command.push("async");
13
13
  }
14
- super(command);
14
+ super(command, cmdOpts);
15
15
  }
16
16
  }
17
17
  exports.FlushDBCommand = FlushDBCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/get
7
7
  */
8
8
  class GetCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["get", key]);
9
+ constructor(cmd, opts) {
10
+ super(["get", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.GetCommand = GetCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/getbit
7
7
  */
8
8
  class GetBitCommand extends command_js_1.Command {
9
- constructor(key, offset) {
10
- super(["getbit", key, offset]);
9
+ constructor(cmd, opts) {
10
+ super(["getbit", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.GetBitCommand = GetBitCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/getrange
7
7
  */
8
8
  class GetRangeCommand extends command_js_1.Command {
9
- constructor(key, start, end) {
10
- super(["getrange", key, start, end]);
9
+ constructor(cmd, opts) {
10
+ super(["getrange", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.GetRangeCommand = GetRangeCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/getset
7
7
  */
8
8
  class GetSetCommand extends command_js_1.Command {
9
- constructor(key, value) {
10
- super(["getset", key, value]);
9
+ constructor(cmd, opts) {
10
+ super(["getset", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.GetSetCommand = GetSetCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hdel
7
7
  */
8
8
  class HDelCommand extends command_js_1.Command {
9
- constructor(key, field) {
10
- super(["hdel", key, field]);
9
+ constructor(cmd, opts) {
10
+ super(["hdel", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HDelCommand = HDelCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hexists
7
7
  */
8
8
  class HExistsCommand extends command_js_1.Command {
9
- constructor(key, field) {
10
- super(["hexists", key, field]);
9
+ constructor(cmd, opts) {
10
+ super(["hexists", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HExistsCommand = HExistsCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hget
7
7
  */
8
8
  class HGetCommand extends command_js_1.Command {
9
- constructor(key, field) {
10
- super(["hget", key, field]);
9
+ constructor(cmd, opts) {
10
+ super(["hget", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HGetCommand = HGetCommand;
@@ -27,8 +27,11 @@ function deserialize(result) {
27
27
  * @see https://redis.io/commands/hgetall
28
28
  */
29
29
  class HGetAllCommand extends command_js_1.Command {
30
- constructor(key) {
31
- super(["hgetall", key], { deserialize: (result) => deserialize(result) });
30
+ constructor(cmd, opts) {
31
+ super(["hgetall", ...cmd], {
32
+ deserialize: (result) => deserialize(result),
33
+ ...opts,
34
+ });
32
35
  }
33
36
  }
34
37
  exports.HGetAllCommand = HGetAllCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hincrby
7
7
  */
8
8
  class HIncrByCommand extends command_js_1.Command {
9
- constructor(key, field, increment) {
10
- super(["hincrby", key, field, increment]);
9
+ constructor(cmd, opts) {
10
+ super(["hincrby", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HIncrByCommand = HIncrByCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hincrbyfloat
7
7
  */
8
8
  class HIncrByFloatCommand extends command_js_1.Command {
9
- constructor(key, field, increment) {
10
- super(["hincrbyfloat", key, field, increment]);
9
+ constructor(cmd, opts) {
10
+ super(["hincrbyfloat", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HIncrByFloatCommand = HIncrByFloatCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hkeys
7
7
  */
8
8
  class HKeysCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["hkeys", key]);
9
+ constructor([key], opts) {
10
+ super(["hkeys", key], opts);
11
11
  }
12
12
  }
13
13
  exports.HKeysCommand = HKeysCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hlen
7
7
  */
8
8
  class HLenCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["hlen", key]);
9
+ constructor(cmd, opts) {
10
+ super(["hlen", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HLenCommand = HLenCommand;
@@ -29,8 +29,11 @@ function deserialize(fields, result) {
29
29
  * @see https://redis.io/commands/hmget
30
30
  */
31
31
  class HMGetCommand extends command_js_1.Command {
32
- constructor(key, ...fields) {
33
- super(["hmget", key, ...fields], { deserialize: (result) => deserialize(fields, result) });
32
+ constructor([key, ...fields], opts) {
33
+ super(["hmget", key, ...fields], {
34
+ deserialize: (result) => deserialize(fields, result),
35
+ ...opts,
36
+ });
34
37
  }
35
38
  }
36
39
  exports.HMGetCommand = HMGetCommand;
@@ -6,12 +6,12 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hmset
7
7
  */
8
8
  class HMSetCommand extends command_js_1.Command {
9
- constructor(key, kv) {
9
+ constructor([key, kv], opts) {
10
10
  super([
11
11
  "hmset",
12
12
  key,
13
13
  ...Object.entries(kv).flatMap(([field, value]) => [field, value]),
14
- ]);
14
+ ], opts);
15
15
  }
16
16
  }
17
17
  exports.HMSetCommand = HMSetCommand;
@@ -6,15 +6,15 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hscan
7
7
  */
8
8
  class HScanCommand extends command_js_1.Command {
9
- constructor(key, cursor, opts) {
9
+ constructor([key, cursor, cmdOpts], opts) {
10
10
  const command = ["hscan", key, cursor];
11
- if (opts?.match) {
12
- command.push("match", opts.match);
11
+ if (cmdOpts?.match) {
12
+ command.push("match", cmdOpts.match);
13
13
  }
14
- if (typeof opts?.count === "number") {
15
- command.push("count", opts.count);
14
+ if (typeof cmdOpts?.count === "number") {
15
+ command.push("count", cmdOpts.count);
16
16
  }
17
- super(command);
17
+ super(command, opts);
18
18
  }
19
19
  }
20
20
  exports.HScanCommand = HScanCommand;
@@ -6,12 +6,12 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hset
7
7
  */
8
8
  class HSetCommand extends command_js_1.Command {
9
- constructor(key, kv) {
9
+ constructor([key, kv], opts) {
10
10
  super([
11
11
  "hset",
12
12
  key,
13
13
  ...Object.entries(kv).flatMap(([field, value]) => [field, value]),
14
- ]);
14
+ ], opts);
15
15
  }
16
16
  }
17
17
  exports.HSetCommand = HSetCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hsetnx
7
7
  */
8
8
  class HSetNXCommand extends command_js_1.Command {
9
- constructor(key, field, value) {
10
- super(["hsetnx", key, field, value]);
9
+ constructor(cmd, opts) {
10
+ super(["hsetnx", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HSetNXCommand = HSetNXCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hstrlen
7
7
  */
8
8
  class HStrLenCommand extends command_js_1.Command {
9
- constructor(key, field) {
10
- super(["hstrlen", key, field]);
9
+ constructor(cmd, opts) {
10
+ super(["hstrlen", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HStrLenCommand = HStrLenCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/hvals
7
7
  */
8
8
  class HValsCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["hvals", key]);
9
+ constructor(cmd, opts) {
10
+ super(["hvals", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.HValsCommand = HValsCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/incr
7
7
  */
8
8
  class IncrCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["incr", key]);
9
+ constructor(cmd, opts) {
10
+ super(["incr", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.IncrCommand = IncrCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/incrby
7
7
  */
8
8
  class IncrByCommand extends command_js_1.Command {
9
- constructor(key, value) {
10
- super(["incrby", key, value]);
9
+ constructor(cmd, opts) {
10
+ super(["incrby", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.IncrByCommand = IncrByCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/incrbyfloat
7
7
  */
8
8
  class IncrByFloatCommand extends command_js_1.Command {
9
- constructor(key, value) {
10
- super(["incrbyfloat", key, value]);
9
+ constructor(cmd, opts) {
10
+ super(["incrbyfloat", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.IncrByFloatCommand = IncrByFloatCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/keys
7
7
  */
8
8
  class KeysCommand extends command_js_1.Command {
9
- constructor(pattern) {
10
- super(["keys", pattern]);
9
+ constructor(cmd, opts) {
10
+ super(["keys", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.KeysCommand = KeysCommand;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LIndexCommand = void 0;
4
4
  const command_js_1 = require("./command.js");
5
5
  class LIndexCommand extends command_js_1.Command {
6
- constructor(key, index) {
7
- super(["lindex", key, index]);
6
+ constructor(cmd, opts) {
7
+ super(["lindex", ...cmd], opts);
8
8
  }
9
9
  }
10
10
  exports.LIndexCommand = LIndexCommand;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LInsertCommand = void 0;
4
4
  const command_js_1 = require("./command.js");
5
5
  class LInsertCommand extends command_js_1.Command {
6
- constructor(key, direction, pivot, value) {
7
- super(["linsert", key, direction, pivot, value]);
6
+ constructor(cmd, opts) {
7
+ super(["linsert", ...cmd], opts);
8
8
  }
9
9
  }
10
10
  exports.LInsertCommand = LInsertCommand;
@@ -6,8 +6,8 @@ const command_js_1 = require("./command.js");
6
6
  * @see https://redis.io/commands/llen
7
7
  */
8
8
  class LLenCommand extends command_js_1.Command {
9
- constructor(key) {
10
- super(["llen", key]);
9
+ constructor(cmd, opts) {
10
+ super(["llen", ...cmd], opts);
11
11
  }
12
12
  }
13
13
  exports.LLenCommand = LLenCommand;