@upstash/ratelimit 0.2.0 → 0.3.0-rc.1

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 (426) hide show
  1. package/README.md +14 -0
  2. package/esm/analytics.js +84 -0
  3. package/esm/deps/deno.land/x/base64@v0.2.1/base.js +100 -0
  4. package/esm/deps/deno.land/x/base64@v0.2.1/base64url.js +9 -0
  5. package/esm/deps/deno.land/x/sha1@v1.0.3/deps.js +1 -0
  6. package/esm/deps/deno.land/x/sha1@v1.0.3/mod.js +191 -0
  7. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/mod.js +66 -0
  8. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/append.js +9 -0
  9. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitcount.js +16 -0
  10. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitop.js +9 -0
  11. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitpos.js +9 -0
  12. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/command.js +57 -0
  13. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/dbsize.js +9 -0
  14. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decr.js +9 -0
  15. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decrby.js +9 -0
  16. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/del.js +9 -0
  17. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/echo.js +9 -0
  18. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/eval.js +9 -0
  19. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/evalsha.js +9 -0
  20. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/exists.js +9 -0
  21. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expire.js +9 -0
  22. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expireat.js +9 -0
  23. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushall.js +13 -0
  24. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushdb.js +13 -0
  25. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/get.js +9 -0
  26. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getbit.js +9 -0
  27. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getdel.js +9 -0
  28. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getrange.js +9 -0
  29. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getset.js +9 -0
  30. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hdel.js +9 -0
  31. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hexists.js +9 -0
  32. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hget.js +9 -0
  33. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hgetall.js +29 -0
  34. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrby.js +9 -0
  35. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrbyfloat.js +9 -0
  36. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hkeys.js +9 -0
  37. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hlen.js +9 -0
  38. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmget.js +35 -0
  39. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmset.js +13 -0
  40. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hrandfield.js +39 -0
  41. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hscan.js +16 -0
  42. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hset.js +13 -0
  43. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hsetnx.js +9 -0
  44. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hstrlen.js +9 -0
  45. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hvals.js +9 -0
  46. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incr.js +9 -0
  47. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrby.js +9 -0
  48. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrbyfloat.js +9 -0
  49. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/keys.js +9 -0
  50. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lindex.js +6 -0
  51. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/linsert.js +6 -0
  52. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/llen.js +9 -0
  53. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lmove.js +9 -0
  54. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpop.js +9 -0
  55. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpos.js +19 -0
  56. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpush.js +9 -0
  57. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpushx.js +9 -0
  58. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrange.js +6 -0
  59. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrem.js +6 -0
  60. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lset.js +6 -0
  61. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ltrim.js +6 -0
  62. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mget.js +9 -0
  63. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mod.js +119 -0
  64. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mset.js +12 -0
  65. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/msetnx.js +9 -0
  66. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/persist.js +9 -0
  67. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpire.js +9 -0
  68. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpireat.js +9 -0
  69. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ping.js +13 -0
  70. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/psetex.js +9 -0
  71. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pttl.js +9 -0
  72. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/publish.js +9 -0
  73. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/randomkey.js +9 -0
  74. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rename.js +9 -0
  75. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/renamenx.js +9 -0
  76. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpop.js +9 -0
  77. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpush.js +9 -0
  78. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpushx.js +9 -0
  79. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sadd.js +9 -0
  80. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scan.js +19 -0
  81. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scard.js +9 -0
  82. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_exists.js +12 -0
  83. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_flush.js +16 -0
  84. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_load.js +9 -0
  85. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiff.js +9 -0
  86. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiffstore.js +9 -0
  87. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/set.js +36 -0
  88. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setbit.js +9 -0
  89. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setex.js +9 -0
  90. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setnx.js +9 -0
  91. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setrange.js +9 -0
  92. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinter.js +9 -0
  93. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinterstore.js +9 -0
  94. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sismember.js +9 -0
  95. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smembers.js +9 -0
  96. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smismember.js +9 -0
  97. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smove.js +9 -0
  98. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/spop.js +13 -0
  99. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srandmember.js +13 -0
  100. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srem.js +9 -0
  101. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sscan.js +16 -0
  102. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/strlen.js +9 -0
  103. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunion.js +9 -0
  104. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunionstore.js +9 -0
  105. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/time.js +9 -0
  106. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/touch.js +9 -0
  107. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ttl.js +9 -0
  108. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/type.js +9 -0
  109. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/unlink.js +9 -0
  110. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zadd.js +26 -0
  111. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcard.js +9 -0
  112. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcount.js +9 -0
  113. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zdiffstore.js +9 -0
  114. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zincrby.js +9 -0
  115. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zinterstore.js +27 -0
  116. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zlexcount.js +9 -0
  117. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zmscore.js +10 -0
  118. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmax.js +13 -0
  119. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmin.js +13 -0
  120. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrange.js +26 -0
  121. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrank.js +9 -0
  122. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrem.js +9 -0
  123. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebylex.js +9 -0
  124. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyrank.js +9 -0
  125. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyscore.js +9 -0
  126. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrevrank.js +9 -0
  127. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscan.js +16 -0
  128. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscore.js +9 -0
  129. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zunionstore.js +27 -0
  130. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/error.js +9 -0
  131. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/http.js +165 -0
  132. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/pipeline.js +1199 -0
  133. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/redis.js +1200 -0
  134. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/script.js +77 -0
  135. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/types.js +1 -0
  136. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/pkg/util.js +31 -0
  137. package/esm/deps/deno.land/x/upstash_redis@v1.19.3/version.js +1 -0
  138. package/esm/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +50 -0
  139. package/esm/mod.js +1 -0
  140. package/esm/multi.js +1 -0
  141. package/esm/ratelimit.js +28 -2
  142. package/esm/single.js +1 -0
  143. package/package.json +1 -1
  144. package/script/analytics.js +88 -0
  145. package/script/deps/deno.land/x/base64@v0.2.1/base.js +104 -0
  146. package/script/deps/deno.land/x/base64@v0.2.1/base64url.js +13 -0
  147. package/script/deps/deno.land/x/sha1@v1.0.3/deps.js +6 -0
  148. package/script/deps/deno.land/x/sha1@v1.0.3/mod.js +196 -0
  149. package/script/deps/deno.land/x/upstash_redis@v1.19.3/mod.js +93 -0
  150. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/append.js +13 -0
  151. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitcount.js +20 -0
  152. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitop.js +13 -0
  153. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitpos.js +13 -0
  154. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/command.js +61 -0
  155. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/dbsize.js +13 -0
  156. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decr.js +13 -0
  157. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decrby.js +13 -0
  158. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/del.js +13 -0
  159. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/echo.js +13 -0
  160. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/eval.js +13 -0
  161. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/evalsha.js +13 -0
  162. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/exists.js +13 -0
  163. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expire.js +13 -0
  164. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expireat.js +13 -0
  165. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushall.js +17 -0
  166. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushdb.js +17 -0
  167. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/get.js +13 -0
  168. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getbit.js +13 -0
  169. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getdel.js +13 -0
  170. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getrange.js +13 -0
  171. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getset.js +13 -0
  172. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hdel.js +13 -0
  173. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hexists.js +13 -0
  174. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hget.js +13 -0
  175. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hgetall.js +33 -0
  176. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrby.js +13 -0
  177. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrbyfloat.js +13 -0
  178. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hkeys.js +13 -0
  179. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hlen.js +13 -0
  180. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmget.js +39 -0
  181. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmset.js +17 -0
  182. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hrandfield.js +43 -0
  183. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hscan.js +20 -0
  184. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hset.js +17 -0
  185. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hsetnx.js +13 -0
  186. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hstrlen.js +13 -0
  187. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hvals.js +13 -0
  188. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incr.js +13 -0
  189. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrby.js +13 -0
  190. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrbyfloat.js +13 -0
  191. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/keys.js +13 -0
  192. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lindex.js +10 -0
  193. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/linsert.js +10 -0
  194. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/llen.js +13 -0
  195. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lmove.js +13 -0
  196. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpop.js +13 -0
  197. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpos.js +23 -0
  198. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpush.js +13 -0
  199. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpushx.js +13 -0
  200. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrange.js +10 -0
  201. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrem.js +10 -0
  202. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lset.js +10 -0
  203. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ltrim.js +10 -0
  204. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mget.js +13 -0
  205. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mod.js +135 -0
  206. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mset.js +16 -0
  207. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/msetnx.js +13 -0
  208. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/persist.js +13 -0
  209. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpire.js +13 -0
  210. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpireat.js +13 -0
  211. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ping.js +17 -0
  212. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/psetex.js +13 -0
  213. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pttl.js +13 -0
  214. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/publish.js +13 -0
  215. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/randomkey.js +13 -0
  216. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rename.js +13 -0
  217. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/renamenx.js +13 -0
  218. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpop.js +13 -0
  219. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpush.js +13 -0
  220. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpushx.js +13 -0
  221. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sadd.js +13 -0
  222. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scan.js +23 -0
  223. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scard.js +13 -0
  224. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_exists.js +16 -0
  225. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_flush.js +20 -0
  226. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_load.js +13 -0
  227. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiff.js +13 -0
  228. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiffstore.js +13 -0
  229. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/set.js +40 -0
  230. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setbit.js +13 -0
  231. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setex.js +13 -0
  232. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setnx.js +13 -0
  233. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setrange.js +13 -0
  234. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinter.js +13 -0
  235. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinterstore.js +13 -0
  236. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sismember.js +13 -0
  237. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smembers.js +13 -0
  238. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smismember.js +13 -0
  239. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smove.js +13 -0
  240. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/spop.js +17 -0
  241. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srandmember.js +17 -0
  242. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srem.js +13 -0
  243. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sscan.js +20 -0
  244. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/strlen.js +13 -0
  245. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunion.js +13 -0
  246. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunionstore.js +13 -0
  247. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/time.js +13 -0
  248. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/touch.js +13 -0
  249. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ttl.js +13 -0
  250. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/type.js +13 -0
  251. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/unlink.js +13 -0
  252. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zadd.js +30 -0
  253. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcard.js +13 -0
  254. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcount.js +13 -0
  255. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zdiffstore.js +13 -0
  256. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zincrby.js +13 -0
  257. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zinterstore.js +31 -0
  258. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zlexcount.js +13 -0
  259. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zmscore.js +14 -0
  260. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmax.js +17 -0
  261. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmin.js +17 -0
  262. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrange.js +30 -0
  263. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrank.js +13 -0
  264. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrem.js +13 -0
  265. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebylex.js +13 -0
  266. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyrank.js +13 -0
  267. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyscore.js +13 -0
  268. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrevrank.js +13 -0
  269. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscan.js +20 -0
  270. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscore.js +13 -0
  271. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zunionstore.js +31 -0
  272. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/error.js +13 -0
  273. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/http.js +169 -0
  274. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/pipeline.js +1203 -0
  275. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/redis.js +1204 -0
  276. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/script.js +81 -0
  277. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/types.js +2 -0
  278. package/script/deps/deno.land/x/upstash_redis@v1.19.3/pkg/util.js +35 -0
  279. package/script/deps/deno.land/x/upstash_redis@v1.19.3/version.js +4 -0
  280. package/script/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +55 -0
  281. package/script/mod.js +15 -0
  282. package/script/multi.js +1 -0
  283. package/script/ratelimit.js +28 -2
  284. package/script/single.js +1 -0
  285. package/types/analytics.d.ts +36 -0
  286. package/types/deps/deno.land/x/base64@v0.2.1/base.d.ts +5 -0
  287. package/types/deps/deno.land/x/base64@v0.2.1/base64url.d.ts +1 -0
  288. package/types/deps/deno.land/x/sha1@v1.0.3/deps.d.ts +1 -0
  289. package/types/deps/deno.land/x/sha1@v1.0.3/mod.d.ts +26 -0
  290. package/types/deps/deno.land/x/upstash_redis@v1.19.3/mod.d.ts +41 -0
  291. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/append.d.ts +7 -0
  292. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitcount.d.ts +8 -0
  293. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitop.d.ts +12 -0
  294. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/bitpos.d.ts +7 -0
  295. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/command.d.ts +37 -0
  296. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/dbsize.d.ts +7 -0
  297. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decr.d.ts +7 -0
  298. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/decrby.d.ts +7 -0
  299. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/del.d.ts +7 -0
  300. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/echo.d.ts +7 -0
  301. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/eval.d.ts +7 -0
  302. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/evalsha.d.ts +7 -0
  303. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/exists.d.ts +7 -0
  304. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expire.d.ts +7 -0
  305. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/expireat.d.ts +7 -0
  306. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushall.d.ts +9 -0
  307. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/flushdb.d.ts +9 -0
  308. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/get.d.ts +7 -0
  309. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getbit.d.ts +7 -0
  310. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getdel.d.ts +7 -0
  311. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getrange.d.ts +7 -0
  312. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/getset.d.ts +7 -0
  313. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hdel.d.ts +7 -0
  314. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hexists.d.ts +7 -0
  315. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hget.d.ts +7 -0
  316. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hgetall.d.ts +7 -0
  317. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrby.d.ts +7 -0
  318. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hincrbyfloat.d.ts +7 -0
  319. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hkeys.d.ts +7 -0
  320. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hlen.d.ts +7 -0
  321. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmget.d.ts +15 -0
  322. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hmset.d.ts +9 -0
  323. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hrandfield.d.ts +9 -0
  324. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hscan.d.ts +24 -0
  325. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hset.d.ts +9 -0
  326. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hsetnx.d.ts +7 -0
  327. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hstrlen.d.ts +7 -0
  328. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/hvals.d.ts +7 -0
  329. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incr.d.ts +7 -0
  330. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrby.d.ts +7 -0
  331. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/incrbyfloat.d.ts +7 -0
  332. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/keys.d.ts +7 -0
  333. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lindex.d.ts +4 -0
  334. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/linsert.d.ts +9 -0
  335. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/llen.d.ts +7 -0
  336. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lmove.d.ts +12 -0
  337. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpop.d.ts +7 -0
  338. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpos.d.ts +15 -0
  339. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpush.d.ts +7 -0
  340. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lpushx.d.ts +7 -0
  341. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrange.d.ts +4 -0
  342. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lrem.d.ts +4 -0
  343. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/lset.d.ts +4 -0
  344. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ltrim.d.ts +4 -0
  345. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mget.d.ts +7 -0
  346. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mod.d.ts +119 -0
  347. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/mset.d.ts +9 -0
  348. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/msetnx.d.ts +9 -0
  349. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/persist.d.ts +7 -0
  350. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpire.d.ts +7 -0
  351. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pexpireat.d.ts +7 -0
  352. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ping.d.ts +7 -0
  353. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/psetex.d.ts +7 -0
  354. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/pttl.d.ts +7 -0
  355. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/publish.d.ts +7 -0
  356. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/randomkey.d.ts +7 -0
  357. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rename.d.ts +7 -0
  358. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/renamenx.d.ts +7 -0
  359. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpop.d.ts +7 -0
  360. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpush.d.ts +7 -0
  361. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/rpushx.d.ts +7 -0
  362. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sadd.d.ts +7 -0
  363. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scan.d.ts +18 -0
  364. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/scard.d.ts +7 -0
  365. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_exists.d.ts +7 -0
  366. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_flush.d.ts +14 -0
  367. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/script_load.d.ts +7 -0
  368. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiff.d.ts +7 -0
  369. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sdiffstore.d.ts +7 -0
  370. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/set.d.ts +55 -0
  371. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setbit.d.ts +7 -0
  372. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setex.d.ts +7 -0
  373. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setnx.d.ts +7 -0
  374. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/setrange.d.ts +7 -0
  375. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinter.d.ts +7 -0
  376. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sinterstore.d.ts +7 -0
  377. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sismember.d.ts +7 -0
  378. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smembers.d.ts +7 -0
  379. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smismember.d.ts +7 -0
  380. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/smove.d.ts +7 -0
  381. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/spop.d.ts +7 -0
  382. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srandmember.d.ts +7 -0
  383. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/srem.d.ts +7 -0
  384. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sscan.d.ts +24 -0
  385. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/strlen.d.ts +7 -0
  386. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunion.d.ts +7 -0
  387. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/sunionstore.d.ts +7 -0
  388. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/time.d.ts +7 -0
  389. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/touch.d.ts +7 -0
  390. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/ttl.d.ts +7 -0
  391. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/type.d.ts +8 -0
  392. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/unlink.d.ts +7 -0
  393. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zadd.d.ts +35 -0
  394. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcard.d.ts +7 -0
  395. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zcount.d.ts +7 -0
  396. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zdiffstore.d.ts +7 -0
  397. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zincrby.d.ts +7 -0
  398. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zinterstore.d.ts +30 -0
  399. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zlexcount.d.ts +7 -0
  400. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zmscore.d.ts +7 -0
  401. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmax.d.ts +7 -0
  402. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zpopmin.d.ts +7 -0
  403. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrange.d.ts +42 -0
  404. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrank.d.ts +7 -0
  405. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrem.d.ts +7 -0
  406. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebylex.d.ts +7 -0
  407. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyrank.d.ts +7 -0
  408. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zremrangebyscore.d.ts +7 -0
  409. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zrevrank.d.ts +7 -0
  410. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscan.d.ts +24 -0
  411. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zscore.d.ts +7 -0
  412. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/commands/zunionstore.d.ts +30 -0
  413. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/error.d.ts +6 -0
  414. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/http.d.ts +87 -0
  415. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/pipeline.d.ts +577 -0
  416. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/redis.d.ts +575 -0
  417. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/script.d.ts +42 -0
  418. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/types.d.ts +18 -0
  419. package/types/deps/deno.land/x/upstash_redis@v1.19.3/pkg/util.d.ts +1 -0
  420. package/types/deps/deno.land/x/upstash_redis@v1.19.3/version.d.ts +1 -0
  421. package/types/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.d.ts +3 -0
  422. package/types/mod.d.ts +1 -0
  423. package/types/multi.d.ts +8 -1
  424. package/types/ratelimit.d.ts +12 -1
  425. package/types/single.d.ts +8 -1
  426. package/types/types.d.ts +1 -4
package/README.md CHANGED
@@ -150,6 +150,20 @@ export type RatelimitResponse = {
150
150
  };
151
151
  ````
152
152
 
153
+ ### Timeout
154
+
155
+ You can define an optional timeout in milliseconds, after which the request will
156
+ be allowed to pass regardless of what the current limit is. This can be useful
157
+ if you don't want network issues to cause your application to reject requests.
158
+
159
+ ```ts
160
+ const ratelimit = new Ratelimit({
161
+ redis: Redis.fromEnv(),
162
+ limiter: Ratelimit.slidingWindow(10, "10 s"),
163
+ timeout: 1000, // 1 second
164
+ });
165
+ ```
166
+
153
167
  ### Block until ready
154
168
 
155
169
  In case you don't want to reject a request immediately but wait until it can be
@@ -0,0 +1,84 @@
1
+ export class Analytics {
2
+ constructor(config) {
3
+ Object.defineProperty(this, "redis", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: void 0
8
+ });
9
+ Object.defineProperty(this, "prefix", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ this.redis = config.redis;
16
+ this.prefix = config.prefix ?? "@upstash/ratelimit";
17
+ }
18
+ extractGeo(req) {
19
+ if (typeof req.geo !== "undefined") {
20
+ return req.geo;
21
+ }
22
+ return {};
23
+ }
24
+ async record(event) {
25
+ // Bucket is a unix timestamp in milliseconds marking the beginning of a day
26
+ const bucket = (new Date().setUTCHours(0, 0, 0, 0)).toFixed(0);
27
+ const key = [this.prefix, "events", bucket].join(":");
28
+ await this.redis.hincrby(key, JSON.stringify({
29
+ ...event,
30
+ time: undefined,
31
+ }), 1);
32
+ }
33
+ /**
34
+ * Aggregates the events by the given field and returns the number of successes and failures per value
35
+ *
36
+ * @param aggregateBy - The field to aggregate by
37
+ * @param cutoff - Timestamp in milliseconds to limit the aggregation to `cutoff` until now
38
+ * @returns
39
+ */
40
+ async aggregate(aggregateBy, cutoff = 0) {
41
+ const keys = [];
42
+ let cursor = 0;
43
+ do {
44
+ const [nextCursor, found] = await this.redis.scan(cursor, { match: [this.prefix, "events", "*"].join(":"), count: 1000 });
45
+ cursor = nextCursor;
46
+ for (const key of found) {
47
+ const timestamp = parseInt(key.split(":").pop());
48
+ // Take all the keys that at least overlap with the given timestamp
49
+ if (timestamp >= cutoff) {
50
+ keys.push(key);
51
+ }
52
+ }
53
+ } while (cursor !== 0);
54
+ const days = await Promise.all(keys.sort().map(async (key) => {
55
+ const fields = await this.redis.hgetall(key);
56
+ if (!fields) {
57
+ return {};
58
+ }
59
+ const day = {};
60
+ for (const [field, count] of Object.entries(fields)) {
61
+ const r = JSON.parse(field);
62
+ for (const [k, v] of Object.entries(r)) {
63
+ if (k !== aggregateBy) {
64
+ continue;
65
+ }
66
+ if (!day[v]) {
67
+ day[v] = {
68
+ success: 0,
69
+ blocked: 0,
70
+ };
71
+ }
72
+ if (r.success) {
73
+ day[v].success += count;
74
+ }
75
+ else {
76
+ day[v].blocked += count;
77
+ }
78
+ }
79
+ }
80
+ return day;
81
+ }));
82
+ return days;
83
+ }
84
+ }
@@ -0,0 +1,100 @@
1
+ function getLengths(b64) {
2
+ const len = b64.length;
3
+ // if (len % 4 > 0) {
4
+ // throw new TypeError("Invalid string. Length must be a multiple of 4");
5
+ // }
6
+ // Trim off extra bytes after placeholder bytes are found
7
+ // See: https://github.com/beatgammit/base64-js/issues/42
8
+ let validLen = b64.indexOf("=");
9
+ if (validLen === -1) {
10
+ validLen = len;
11
+ }
12
+ const placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4);
13
+ return [validLen, placeHoldersLen];
14
+ }
15
+ export function init(lookup, revLookup, urlsafe = false) {
16
+ function _byteLength(validLen, placeHoldersLen) {
17
+ return Math.floor(((validLen + placeHoldersLen) * 3) / 4 - placeHoldersLen);
18
+ }
19
+ function tripletToBase64(num) {
20
+ return (lookup[(num >> 18) & 0x3f] +
21
+ lookup[(num >> 12) & 0x3f] +
22
+ lookup[(num >> 6) & 0x3f] +
23
+ lookup[num & 0x3f]);
24
+ }
25
+ function encodeChunk(buf, start, end) {
26
+ const out = new Array((end - start) / 3);
27
+ for (let i = start, curTriplet = 0; i < end; i += 3) {
28
+ out[curTriplet++] = tripletToBase64((buf[i] << 16) + (buf[i + 1] << 8) + buf[i + 2]);
29
+ }
30
+ return out.join("");
31
+ }
32
+ return {
33
+ // base64 is 4/3 + up to two characters of the original data
34
+ byteLength(b64) {
35
+ return _byteLength.apply(null, getLengths(b64));
36
+ },
37
+ toUint8Array(b64) {
38
+ const [validLen, placeHoldersLen] = getLengths(b64);
39
+ const buf = new Uint8Array(_byteLength(validLen, placeHoldersLen));
40
+ // If there are placeholders, only get up to the last complete 4 chars
41
+ const len = placeHoldersLen ? validLen - 4 : validLen;
42
+ let tmp;
43
+ let curByte = 0;
44
+ let i;
45
+ for (i = 0; i < len; i += 4) {
46
+ tmp = (revLookup[b64.charCodeAt(i)] << 18) |
47
+ (revLookup[b64.charCodeAt(i + 1)] << 12) |
48
+ (revLookup[b64.charCodeAt(i + 2)] << 6) |
49
+ revLookup[b64.charCodeAt(i + 3)];
50
+ buf[curByte++] = (tmp >> 16) & 0xff;
51
+ buf[curByte++] = (tmp >> 8) & 0xff;
52
+ buf[curByte++] = tmp & 0xff;
53
+ }
54
+ if (placeHoldersLen === 2) {
55
+ tmp = (revLookup[b64.charCodeAt(i)] << 2) |
56
+ (revLookup[b64.charCodeAt(i + 1)] >> 4);
57
+ buf[curByte++] = tmp & 0xff;
58
+ }
59
+ else if (placeHoldersLen === 1) {
60
+ tmp = (revLookup[b64.charCodeAt(i)] << 10) |
61
+ (revLookup[b64.charCodeAt(i + 1)] << 4) |
62
+ (revLookup[b64.charCodeAt(i + 2)] >> 2);
63
+ buf[curByte++] = (tmp >> 8) & 0xff;
64
+ buf[curByte++] = tmp & 0xff;
65
+ }
66
+ return buf;
67
+ },
68
+ fromUint8Array(buf) {
69
+ const maxChunkLength = 16383; // Must be multiple of 3
70
+ const len = buf.length;
71
+ const extraBytes = len % 3; // If we have 1 byte left, pad 2 bytes
72
+ const len2 = len - extraBytes;
73
+ const parts = new Array(Math.ceil(len2 / maxChunkLength) + (extraBytes ? 1 : 0));
74
+ let curChunk = 0;
75
+ let chunkEnd;
76
+ // Go through the array every three bytes, we'll deal with trailing stuff later
77
+ for (let i = 0; i < len2; i += maxChunkLength) {
78
+ chunkEnd = i + maxChunkLength;
79
+ parts[curChunk++] = encodeChunk(buf, i, chunkEnd > len2 ? len2 : chunkEnd);
80
+ }
81
+ let tmp;
82
+ // Pad the end with zeros, but make sure to not forget the extra bytes
83
+ if (extraBytes === 1) {
84
+ tmp = buf[len2];
85
+ parts[curChunk] = lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3f];
86
+ if (!urlsafe)
87
+ parts[curChunk] += "==";
88
+ }
89
+ else if (extraBytes === 2) {
90
+ tmp = (buf[len2] << 8) | (buf[len2 + 1] & 0xff);
91
+ parts[curChunk] = lookup[tmp >> 10] +
92
+ lookup[(tmp >> 4) & 0x3f] +
93
+ lookup[(tmp << 2) & 0x3f];
94
+ if (!urlsafe)
95
+ parts[curChunk] += "=";
96
+ }
97
+ return parts.join("");
98
+ },
99
+ };
100
+ }
@@ -0,0 +1,9 @@
1
+ import { init } from "./base.js";
2
+ const lookup = [];
3
+ const revLookup = [];
4
+ const code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
5
+ for (let i = 0, l = code.length; i < l; ++i) {
6
+ lookup[i] = code[i];
7
+ revLookup[code.charCodeAt(i)] = i;
8
+ }
9
+ export const { byteLength, toUint8Array, fromUint8Array } = init(lookup, revLookup, true);
@@ -0,0 +1 @@
1
+ export { encode, decode } from "../../../denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js";
@@ -0,0 +1,191 @@
1
+ import { encode, decode } from "./deps.js";
2
+ function rotl(x, n) {
3
+ return (x << n) | (x >>> (32 - n));
4
+ }
5
+ /** Byte length of a SHA1 digest. */
6
+ export const BYTES = 20;
7
+ /** A class representation of the SHA1 algorithm. */
8
+ export class SHA1 {
9
+ /** Creates a SHA1 instance. */
10
+ constructor() {
11
+ Object.defineProperty(this, "hashSize", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: BYTES
16
+ });
17
+ Object.defineProperty(this, "_buf", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: new Uint8Array(64)
22
+ });
23
+ Object.defineProperty(this, "_bufIdx", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "_count", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "_K", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: new Uint32Array([0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6])
40
+ });
41
+ Object.defineProperty(this, "_H", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: void 0
46
+ });
47
+ Object.defineProperty(this, "_finalized", {
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true,
51
+ value: void 0
52
+ });
53
+ this.init();
54
+ }
55
+ /** Reduces the four input numbers to a single one. */
56
+ static F(t, b, c, d) {
57
+ if (t <= 19) {
58
+ return (b & c) | (~b & d);
59
+ }
60
+ else if (t <= 39) {
61
+ return b ^ c ^ d;
62
+ }
63
+ else if (t <= 59) {
64
+ return (b & c) | (b & d) | (c & d);
65
+ }
66
+ else {
67
+ return b ^ c ^ d;
68
+ }
69
+ }
70
+ /** Initializes a hash instance. */
71
+ init() {
72
+ // prettier-ignore
73
+ this._H = new Uint32Array([
74
+ 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0
75
+ ]);
76
+ this._bufIdx = 0;
77
+ this._count = new Uint32Array(2);
78
+ this._buf.fill(0);
79
+ this._finalized = false;
80
+ return this;
81
+ }
82
+ /** Updates a hash with additional message data. */
83
+ update(msg, inputEncoding) {
84
+ if (msg === null) {
85
+ throw new TypeError("msg must be a string or Uint8Array.");
86
+ }
87
+ else if (typeof msg === "string") {
88
+ msg = encode(msg, inputEncoding);
89
+ }
90
+ // process the msg as many times as possible, the rest is stored in the buffer
91
+ // message is processed in 512 bit (64 byte chunks)
92
+ for (let i = 0; i < msg.length; i++) {
93
+ this._buf[this._bufIdx++] = msg[i];
94
+ if (this._bufIdx === 64) {
95
+ this.transform();
96
+ this._bufIdx = 0;
97
+ }
98
+ }
99
+ // counter update (number of message bits)
100
+ const c = this._count;
101
+ if ((c[0] += msg.length << 3) < msg.length << 3) {
102
+ c[1]++;
103
+ }
104
+ c[1] += msg.length >>> 29;
105
+ return this;
106
+ }
107
+ /** Finalizes a hash with additional message data. */
108
+ digest(outputEncoding) {
109
+ if (this._finalized) {
110
+ throw new Error("digest has already been called.");
111
+ }
112
+ this._finalized = true;
113
+ // append '1'
114
+ const b = this._buf;
115
+ let idx = this._bufIdx;
116
+ b[idx++] = 0x80;
117
+ // zeropad up to byte pos 56
118
+ while (idx !== 56) {
119
+ if (idx === 64) {
120
+ this.transform();
121
+ idx = 0;
122
+ }
123
+ b[idx++] = 0;
124
+ }
125
+ // append length in bits
126
+ const c = this._count;
127
+ b[56] = (c[1] >>> 24) & 0xff;
128
+ b[57] = (c[1] >>> 16) & 0xff;
129
+ b[58] = (c[1] >>> 8) & 0xff;
130
+ b[59] = (c[1] >>> 0) & 0xff;
131
+ b[60] = (c[0] >>> 24) & 0xff;
132
+ b[61] = (c[0] >>> 16) & 0xff;
133
+ b[62] = (c[0] >>> 8) & 0xff;
134
+ b[63] = (c[0] >>> 0) & 0xff;
135
+ this.transform();
136
+ // return the hash as byte array (20 bytes)
137
+ const hash = new Uint8Array(BYTES);
138
+ for (let i = 0; i < 5; i++) {
139
+ hash[(i << 2) + 0] = (this._H[i] >>> 24) & 0xff;
140
+ hash[(i << 2) + 1] = (this._H[i] >>> 16) & 0xff;
141
+ hash[(i << 2) + 2] = (this._H[i] >>> 8) & 0xff;
142
+ hash[(i << 2) + 3] = (this._H[i] >>> 0) & 0xff;
143
+ }
144
+ // clear internal states and prepare for new hash
145
+ this.init();
146
+ return outputEncoding ? decode(hash, outputEncoding) : hash;
147
+ }
148
+ /** Performs one transformation cycle. */
149
+ transform() {
150
+ const h = this._H;
151
+ let a = h[0];
152
+ let b = h[1];
153
+ let c = h[2];
154
+ let d = h[3];
155
+ let e = h[4];
156
+ // convert byte buffer to words
157
+ const w = new Uint32Array(80);
158
+ for (let i = 0; i < 16; i++) {
159
+ w[i] =
160
+ this._buf[(i << 2) + 3] |
161
+ (this._buf[(i << 2) + 2] << 8) |
162
+ (this._buf[(i << 2) + 1] << 16) |
163
+ (this._buf[i << 2] << 24);
164
+ }
165
+ for (let t = 0; t < 80; t++) {
166
+ if (t >= 16) {
167
+ w[t] = rotl(w[t - 3] ^ w[t - 8] ^ w[t - 14] ^ w[t - 16], 1);
168
+ }
169
+ const tmp = (rotl(a, 5) +
170
+ SHA1.F(t, b, c, d) +
171
+ e +
172
+ w[t] +
173
+ this._K[Math.floor(t / 20)]) |
174
+ 0;
175
+ e = d;
176
+ d = c;
177
+ c = rotl(b, 30);
178
+ b = a;
179
+ a = tmp;
180
+ }
181
+ h[0] = (h[0] + a) | 0;
182
+ h[1] = (h[1] + b) | 0;
183
+ h[2] = (h[2] + c) | 0;
184
+ h[3] = (h[3] + d) | 0;
185
+ h[4] = (h[4] + e) | 0;
186
+ }
187
+ }
188
+ /** Generates a SHA1 hash of the input data. */
189
+ export function sha1(msg, inputEncoding, outputEncoding) {
190
+ return new SHA1().update(msg, inputEncoding).digest(outputEncoding);
191
+ }
@@ -0,0 +1,66 @@
1
+ import { HttpClient, } from "./pkg/http.js";
2
+ import * as core from "./pkg/redis.js";
3
+ import { VERSION } from "./version.js";
4
+ /**
5
+ * Serverless redis client for upstash.
6
+ */
7
+ export class Redis extends core.Redis {
8
+ /**
9
+ * Create a new redis client
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const redis = new Redis({
14
+ * url: "<UPSTASH_REDIS_REST_URL>",
15
+ * token: "<UPSTASH_REDIS_REST_TOKEN>",
16
+ * });
17
+ * ```
18
+ */
19
+ constructor(config) {
20
+ if (config.url.startsWith(" ") ||
21
+ config.url.endsWith(" ") ||
22
+ /\r|\n/.test(config.url)) {
23
+ console.warn("The redis url contains whitespace or newline, which can cause errors!");
24
+ }
25
+ if (config.token.startsWith(" ") ||
26
+ config.token.endsWith(" ") ||
27
+ /\r|\n/.test(config.token)) {
28
+ console.warn("The redis token contains whitespace or newline, which can cause errors!");
29
+ }
30
+ const telemetry = {};
31
+ if (!Deno.env.get("UPSTASH_DISABLE_TELEMETRY")) {
32
+ // Deno Deploy does not include the version data, so we need to treat it as optional
33
+ telemetry.runtime = `deno@${Deno.version?.deno}`;
34
+ telemetry.sdk = `@upstash/redis@${VERSION}`;
35
+ }
36
+ const client = new HttpClient({
37
+ retry: config.retry,
38
+ baseUrl: config.url,
39
+ headers: { authorization: `Bearer ${config.token}` },
40
+ responseEncoding: config.responseEncoding,
41
+ telemetry,
42
+ });
43
+ super(client, {
44
+ automaticDeserialization: config.automaticDeserialization,
45
+ });
46
+ }
47
+ /*
48
+ * Create a new Upstash Redis instance from environment variables on Deno.
49
+
50
+ *
51
+ */
52
+ static fromEnv(opts) {
53
+ /**
54
+ * These should be injected by Deno.
55
+ */
56
+ const url = Deno.env.get("UPSTASH_REDIS_REST_URL");
57
+ if (!url) {
58
+ throw new Error("Unable to find environment variable: `UPSTASH_REDIS_REST_URL`.");
59
+ }
60
+ const token = Deno.env.get("UPSTASH_REDIS_REST_TOKEN");
61
+ if (!token) {
62
+ throw new Error("Unable to find environment variable: `UPSTASH_REDIS_REST_TOKEN`.");
63
+ }
64
+ return new Redis({ ...opts, url, token });
65
+ }
66
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/append
4
+ */
5
+ export class AppendCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["append", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/bitcount
4
+ */
5
+ export class BitCountCommand extends Command {
6
+ constructor([key, start, end], opts) {
7
+ const command = ["bitcount", key];
8
+ if (typeof start === "number") {
9
+ command.push(start);
10
+ }
11
+ if (typeof end === "number") {
12
+ command.push(end);
13
+ }
14
+ super(command, opts);
15
+ }
16
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/bitop
4
+ */
5
+ export class BitOpCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["bitop", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/bitpos
4
+ */
5
+ export class BitPosCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["bitpos", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,57 @@
1
+ import { UpstashError } from "../error.js";
2
+ import { parseResponse } from "../util.js";
3
+ const defaultSerializer = (c) => typeof c === "string" ? c : JSON.stringify(c);
4
+ /**
5
+ * Command offers default (de)serialization and the exec method to all commands.
6
+ *
7
+ * TData represents what the user will enter or receive,
8
+ * TResult is the raw data returned from upstash, which may need to be transformed or parsed.
9
+ */
10
+ export class Command {
11
+ /**
12
+ * Create a new command instance.
13
+ *
14
+ * You can define a custom `deserialize` function. By default we try to deserialize as json.
15
+ */
16
+ constructor(command, opts) {
17
+ Object.defineProperty(this, "command", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "serialize", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "deserialize", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ this.serialize = defaultSerializer;
36
+ this.deserialize = typeof opts?.automaticDeserialization === "undefined" ||
37
+ opts.automaticDeserialization
38
+ ? opts?.deserialize ?? parseResponse
39
+ : (x) => x;
40
+ this.command = command.map(this.serialize);
41
+ }
42
+ /**
43
+ * Execute the command using a client.
44
+ */
45
+ async exec(client) {
46
+ const { result, error } = await client.request({
47
+ body: this.command,
48
+ });
49
+ if (error) {
50
+ throw new UpstashError(error);
51
+ }
52
+ if (typeof result === "undefined") {
53
+ throw new Error(`Request did not return a result`);
54
+ }
55
+ return this.deserialize(result);
56
+ }
57
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/dbsize
4
+ */
5
+ export class DBSizeCommand extends Command {
6
+ constructor(opts) {
7
+ super(["dbsize"], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/decr
4
+ */
5
+ export class DecrCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["decr", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/decrby
4
+ */
5
+ export class DecrByCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["decrby", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/del
4
+ */
5
+ export class DelCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["del", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/echo
4
+ */
5
+ export class EchoCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["echo", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/eval
4
+ */
5
+ export class EvalCommand extends Command {
6
+ constructor([script, keys, args], opts) {
7
+ super(["eval", script, keys.length, ...keys, ...(args ?? [])], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/evalsha
4
+ */
5
+ export class EvalshaCommand extends Command {
6
+ constructor([sha, keys, args], opts) {
7
+ super(["evalsha", sha, keys.length, ...keys, ...(args ?? [])], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/exists
4
+ */
5
+ export class ExistsCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["exists", ...cmd], opts);
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from "./command.js";
2
+ /**
3
+ * @see https://redis.io/commands/expire
4
+ */
5
+ export class ExpireCommand extends Command {
6
+ constructor(cmd, opts) {
7
+ super(["expire", ...cmd], opts);
8
+ }
9
+ }