js-redis-server 0.0.1 → 0.0.2

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 (470) hide show
  1. package/README.md +235 -30
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +191 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster.d.ts +30 -0
  7. package/dist/cluster.d.ts.map +1 -0
  8. package/dist/cluster.js +131 -0
  9. package/dist/cluster.js.map +1 -0
  10. package/dist/commands/cluster.d.ts +8 -0
  11. package/dist/commands/cluster.d.ts.map +1 -0
  12. package/dist/commands/cluster.js +190 -0
  13. package/dist/commands/cluster.js.map +1 -0
  14. package/dist/commands/command.d.ts +6 -0
  15. package/dist/commands/command.d.ts.map +1 -0
  16. package/dist/commands/command.js +381 -0
  17. package/dist/commands/command.js.map +1 -0
  18. package/dist/commands/connection.d.ts +24 -0
  19. package/dist/commands/connection.d.ts.map +1 -0
  20. package/dist/commands/connection.js +406 -0
  21. package/dist/commands/connection.js.map +1 -0
  22. package/dist/commands/hashes.d.ts +64 -0
  23. package/dist/commands/hashes.d.ts.map +1 -0
  24. package/dist/commands/hashes.js +276 -0
  25. package/dist/commands/hashes.js.map +1 -0
  26. package/dist/commands/helpers.d.ts +16 -0
  27. package/dist/commands/helpers.d.ts.map +1 -0
  28. package/dist/commands/helpers.js +77 -0
  29. package/dist/commands/helpers.js.map +1 -0
  30. package/dist/commands/index.d.ts +23 -0
  31. package/dist/commands/index.d.ts.map +1 -0
  32. package/dist/commands/index.js +177 -0
  33. package/dist/commands/index.js.map +1 -0
  34. package/dist/commands/introspection.d.ts +17 -0
  35. package/dist/commands/introspection.d.ts.map +1 -0
  36. package/dist/commands/introspection.js +54 -0
  37. package/dist/commands/introspection.js.map +1 -0
  38. package/dist/commands/keys.d.ts +47 -0
  39. package/dist/commands/keys.d.ts.map +1 -0
  40. package/dist/commands/keys.js +238 -0
  41. package/dist/commands/keys.js.map +1 -0
  42. package/dist/commands/lists.d.ts +60 -0
  43. package/dist/commands/lists.d.ts.map +1 -0
  44. package/dist/commands/lists.js +333 -0
  45. package/dist/commands/lists.js.map +1 -0
  46. package/dist/commands/scan.d.ts +24 -0
  47. package/dist/commands/scan.d.ts.map +1 -0
  48. package/dist/commands/scan.js +316 -0
  49. package/dist/commands/scan.js.map +1 -0
  50. package/dist/commands/scripts.d.ts +22 -0
  51. package/dist/commands/scripts.d.ts.map +1 -0
  52. package/dist/commands/scripts.js +195 -0
  53. package/dist/commands/scripts.js.map +1 -0
  54. package/dist/commands/sets.d.ts +61 -0
  55. package/dist/commands/sets.d.ts.map +1 -0
  56. package/dist/commands/sets.js +411 -0
  57. package/dist/commands/sets.js.map +1 -0
  58. package/dist/commands/strings.d.ts +91 -0
  59. package/dist/commands/strings.d.ts.map +1 -0
  60. package/dist/commands/strings.js +537 -0
  61. package/dist/commands/strings.js.map +1 -0
  62. package/dist/commands/transactions.d.ts +9 -0
  63. package/dist/commands/transactions.d.ts.map +1 -0
  64. package/dist/commands/transactions.js +89 -0
  65. package/dist/commands/transactions.js.map +1 -0
  66. package/dist/commands/zsets.d.ts +72 -0
  67. package/dist/commands/zsets.d.ts.map +1 -0
  68. package/dist/commands/zsets.js +360 -0
  69. package/dist/commands/zsets.js.map +1 -0
  70. package/dist/core/client-session.d.ts +60 -0
  71. package/dist/core/client-session.d.ts.map +1 -0
  72. package/dist/core/client-session.js +210 -0
  73. package/dist/core/client-session.js.map +1 -0
  74. package/dist/core/command-definition.d.ts +64 -0
  75. package/dist/core/command-definition.d.ts.map +1 -0
  76. package/dist/core/command-definition.js +10 -0
  77. package/dist/core/command-definition.js.map +1 -0
  78. package/dist/core/command-executor.d.ts +24 -0
  79. package/dist/core/command-executor.d.ts.map +1 -0
  80. package/dist/core/command-executor.js +168 -0
  81. package/dist/core/command-executor.js.map +1 -0
  82. package/dist/core/command-registry.d.ts +16 -0
  83. package/dist/core/command-registry.d.ts.map +1 -0
  84. package/dist/core/command-registry.js +35 -0
  85. package/dist/core/command-registry.js.map +1 -0
  86. package/dist/core/command-schema.d.ts +40 -0
  87. package/dist/core/command-schema.d.ts.map +1 -0
  88. package/dist/core/command-schema.js +188 -0
  89. package/dist/core/command-schema.js.map +1 -0
  90. package/dist/core/execution-policies/cluster-policy.d.ts +8 -0
  91. package/dist/core/execution-policies/cluster-policy.d.ts.map +1 -0
  92. package/dist/core/execution-policies/cluster-policy.js +61 -0
  93. package/dist/core/execution-policies/cluster-policy.js.map +1 -0
  94. package/dist/core/execution-policies/index.d.ts +16 -0
  95. package/dist/core/execution-policies/index.d.ts.map +1 -0
  96. package/dist/core/execution-policies/index.js +8 -0
  97. package/dist/core/execution-policies/index.js.map +1 -0
  98. package/dist/core/execution-policies/transaction-policy.d.ts +3 -0
  99. package/dist/core/execution-policies/transaction-policy.d.ts.map +1 -0
  100. package/dist/core/execution-policies/transaction-policy.js +25 -0
  101. package/dist/core/execution-policies/transaction-policy.js.map +1 -0
  102. package/dist/core/lua-runtime.d.ts +15 -0
  103. package/dist/core/lua-runtime.d.ts.map +1 -0
  104. package/dist/core/lua-runtime.js +173 -0
  105. package/dist/core/lua-runtime.js.map +1 -0
  106. package/dist/core/redis-context.d.ts +41 -0
  107. package/dist/core/redis-context.d.ts.map +1 -0
  108. package/dist/core/redis-context.js +46 -0
  109. package/dist/core/redis-context.js.map +1 -0
  110. package/dist/core/redis-error.d.ts +83 -0
  111. package/dist/core/redis-error.d.ts.map +1 -0
  112. package/dist/core/redis-error.js +186 -0
  113. package/dist/core/redis-error.js.map +1 -0
  114. package/dist/core/redis-result.d.ts +15 -0
  115. package/dist/core/redis-result.d.ts.map +1 -0
  116. package/dist/core/redis-result.js +26 -0
  117. package/dist/core/redis-result.js.map +1 -0
  118. package/dist/core/redis-value.d.ts +61 -0
  119. package/dist/core/redis-value.d.ts.map +1 -0
  120. package/dist/core/redis-value.js +41 -0
  121. package/dist/core/redis-value.js.map +1 -0
  122. package/dist/core/resp-encoder.d.ts +9 -0
  123. package/dist/core/resp-encoder.d.ts.map +1 -0
  124. package/dist/core/resp-encoder.js +159 -0
  125. package/dist/core/resp-encoder.js.map +1 -0
  126. package/dist/core/response-stream.d.ts +17 -0
  127. package/dist/core/response-stream.d.ts.map +1 -0
  128. package/dist/core/response-stream.js +10 -0
  129. package/dist/core/response-stream.js.map +1 -0
  130. package/dist/core/transports/connection-transport.d.ts +12 -0
  131. package/dist/core/transports/connection-transport.d.ts.map +1 -0
  132. package/dist/core/transports/connection-transport.js +3 -0
  133. package/dist/core/transports/connection-transport.js.map +1 -0
  134. package/dist/core/transports/in-memory-connection-transport.d.ts +28 -0
  135. package/dist/core/transports/in-memory-connection-transport.d.ts.map +1 -0
  136. package/dist/core/transports/in-memory-connection-transport.js +111 -0
  137. package/dist/core/transports/in-memory-connection-transport.js.map +1 -0
  138. package/dist/core/transports/resp2/decoder.d.ts +15 -0
  139. package/dist/core/transports/resp2/decoder.d.ts.map +1 -0
  140. package/dist/core/transports/resp2/decoder.js +209 -0
  141. package/dist/core/transports/resp2/decoder.js.map +1 -0
  142. package/dist/core/transports/resp2/index.d.ts +2 -12
  143. package/dist/core/transports/resp2/index.d.ts.map +1 -1
  144. package/dist/core/transports/resp2/index.js +9 -0
  145. package/dist/core/transports/resp2/index.js.map +1 -0
  146. package/dist/core/transports/resp2/server.d.ts +26 -0
  147. package/dist/core/transports/resp2/server.d.ts.map +1 -0
  148. package/dist/core/transports/resp2/server.js +83 -0
  149. package/dist/core/transports/resp2/server.js.map +1 -0
  150. package/dist/core/transports/resp2/session-adapter.d.ts +24 -0
  151. package/dist/core/transports/resp2/session-adapter.d.ts.map +1 -0
  152. package/dist/core/transports/resp2/session-adapter.js +86 -0
  153. package/dist/core/transports/resp2/session-adapter.js.map +1 -0
  154. package/dist/core/transports/socket-connection-transport.d.ts +20 -0
  155. package/dist/core/transports/socket-connection-transport.d.ts.map +1 -0
  156. package/dist/core/transports/socket-connection-transport.js +64 -0
  157. package/dist/core/transports/socket-connection-transport.js.map +1 -0
  158. package/dist/core/turn-queue.d.ts +15 -0
  159. package/dist/core/turn-queue.d.ts.map +1 -0
  160. package/dist/core/turn-queue.js +51 -0
  161. package/dist/core/turn-queue.js.map +1 -0
  162. package/dist/index.d.ts +35 -347
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +141 -0
  165. package/dist/index.js.map +1 -0
  166. package/dist/logger.d.ts +6 -0
  167. package/dist/logger.d.ts.map +1 -0
  168. package/dist/logger.js +3 -0
  169. package/dist/logger.js.map +1 -0
  170. package/dist/state/cluster-topology.d.ts +30 -0
  171. package/dist/state/cluster-topology.d.ts.map +1 -0
  172. package/dist/state/cluster-topology.js +88 -0
  173. package/dist/state/cluster-topology.js.map +1 -0
  174. package/dist/state/data-types.d.ts +40 -0
  175. package/dist/state/data-types.d.ts.map +1 -0
  176. package/dist/state/data-types.js +67 -0
  177. package/dist/state/data-types.js.map +1 -0
  178. package/dist/state/database.d.ts +44 -0
  179. package/dist/state/database.d.ts.map +1 -0
  180. package/dist/state/database.js +116 -0
  181. package/dist/state/database.js.map +1 -0
  182. package/dist/state/index.d.ts +14 -0
  183. package/dist/state/index.d.ts.map +1 -0
  184. package/dist/state/index.js +27 -0
  185. package/dist/state/index.js.map +1 -0
  186. package/dist/state/keyspace.d.ts +45 -0
  187. package/dist/state/keyspace.d.ts.map +1 -0
  188. package/dist/state/keyspace.js +180 -0
  189. package/dist/state/keyspace.js.map +1 -0
  190. package/dist/state/mutation-events.d.ts +37 -0
  191. package/dist/state/mutation-events.d.ts.map +1 -0
  192. package/dist/state/mutation-events.js +74 -0
  193. package/dist/state/mutation-events.js.map +1 -0
  194. package/dist/state/pubsub-broker.d.ts +4 -0
  195. package/dist/state/pubsub-broker.d.ts.map +1 -0
  196. package/dist/state/pubsub-broker.js +10 -0
  197. package/dist/state/pubsub-broker.js.map +1 -0
  198. package/dist/state/script-cache.d.ts +10 -0
  199. package/dist/state/script-cache.d.ts.map +1 -0
  200. package/dist/state/script-cache.js +33 -0
  201. package/dist/state/script-cache.js.map +1 -0
  202. package/dist/state/server-state.d.ts +24 -0
  203. package/dist/state/server-state.d.ts.map +1 -0
  204. package/dist/state/server-state.js +42 -0
  205. package/dist/state/server-state.js.map +1 -0
  206. package/package.json +18 -22
  207. package/dist/cli.mjs +0 -5923
  208. package/dist/cli.mjs.map +0 -1
  209. package/dist/commanders/custom/base-commander.d.ts +0 -19
  210. package/dist/commanders/custom/base-commander.d.ts.map +0 -1
  211. package/dist/commanders/custom/cluster-router.d.ts +0 -57
  212. package/dist/commanders/custom/cluster-router.d.ts.map +0 -1
  213. package/dist/commanders/custom/clusterCommander.d.ts +0 -39
  214. package/dist/commanders/custom/clusterCommander.d.ts.map +0 -1
  215. package/dist/commanders/custom/commander.d.ts +0 -12
  216. package/dist/commanders/custom/commander.d.ts.map +0 -1
  217. package/dist/commanders/custom/commands/metadata.d.ts +0 -101
  218. package/dist/commanders/custom/commands/metadata.d.ts.map +0 -1
  219. package/dist/commanders/custom/commands/redis/client/clientSetName.d.ts +0 -8
  220. package/dist/commanders/custom/commands/redis/client/clientSetName.d.ts.map +0 -1
  221. package/dist/commanders/custom/commands/redis/client/index.d.ts +0 -9
  222. package/dist/commanders/custom/commands/redis/client/index.d.ts.map +0 -1
  223. package/dist/commanders/custom/commands/redis/cluster/clusterInfo.d.ts +0 -7
  224. package/dist/commanders/custom/commands/redis/cluster/clusterInfo.d.ts.map +0 -1
  225. package/dist/commanders/custom/commands/redis/cluster/clusterNodes.d.ts +0 -7
  226. package/dist/commanders/custom/commands/redis/cluster/clusterNodes.d.ts.map +0 -1
  227. package/dist/commanders/custom/commands/redis/cluster/clusterShards.d.ts +0 -7
  228. package/dist/commanders/custom/commands/redis/cluster/clusterShards.d.ts.map +0 -1
  229. package/dist/commanders/custom/commands/redis/cluster/clusterSlots.d.ts +0 -7
  230. package/dist/commanders/custom/commands/redis/cluster/clusterSlots.d.ts.map +0 -1
  231. package/dist/commanders/custom/commands/redis/cluster/index.d.ts +0 -8
  232. package/dist/commanders/custom/commands/redis/cluster/index.d.ts.map +0 -1
  233. package/dist/commanders/custom/commands/redis/command/index.d.ts +0 -6
  234. package/dist/commanders/custom/commands/redis/command/index.d.ts.map +0 -1
  235. package/dist/commanders/custom/commands/redis/data/hashes/hdel.d.ts +0 -9
  236. package/dist/commanders/custom/commands/redis/data/hashes/hdel.d.ts.map +0 -1
  237. package/dist/commanders/custom/commands/redis/data/hashes/hexists.d.ts +0 -8
  238. package/dist/commanders/custom/commands/redis/data/hashes/hexists.d.ts.map +0 -1
  239. package/dist/commanders/custom/commands/redis/data/hashes/hget.d.ts +0 -8
  240. package/dist/commanders/custom/commands/redis/data/hashes/hget.d.ts.map +0 -1
  241. package/dist/commanders/custom/commands/redis/data/hashes/hgetall.d.ts +0 -5
  242. package/dist/commanders/custom/commands/redis/data/hashes/hgetall.d.ts.map +0 -1
  243. package/dist/commanders/custom/commands/redis/data/hashes/hincrby.d.ts +0 -9
  244. package/dist/commanders/custom/commands/redis/data/hashes/hincrby.d.ts.map +0 -1
  245. package/dist/commanders/custom/commands/redis/data/hashes/hincrbyfloat.d.ts +0 -9
  246. package/dist/commanders/custom/commands/redis/data/hashes/hincrbyfloat.d.ts.map +0 -1
  247. package/dist/commanders/custom/commands/redis/data/hashes/hkeys.d.ts +0 -5
  248. package/dist/commanders/custom/commands/redis/data/hashes/hkeys.d.ts.map +0 -1
  249. package/dist/commanders/custom/commands/redis/data/hashes/hlen.d.ts +0 -5
  250. package/dist/commanders/custom/commands/redis/data/hashes/hlen.d.ts.map +0 -1
  251. package/dist/commanders/custom/commands/redis/data/hashes/hmget.d.ts +0 -9
  252. package/dist/commanders/custom/commands/redis/data/hashes/hmget.d.ts.map +0 -1
  253. package/dist/commanders/custom/commands/redis/data/hashes/hmset.d.ts +0 -10
  254. package/dist/commanders/custom/commands/redis/data/hashes/hmset.d.ts.map +0 -1
  255. package/dist/commanders/custom/commands/redis/data/hashes/hset.d.ts +0 -10
  256. package/dist/commanders/custom/commands/redis/data/hashes/hset.d.ts.map +0 -1
  257. package/dist/commanders/custom/commands/redis/data/hashes/hvals.d.ts +0 -5
  258. package/dist/commanders/custom/commands/redis/data/hashes/hvals.d.ts.map +0 -1
  259. package/dist/commanders/custom/commands/redis/data/hashes/index.d.ts +0 -13
  260. package/dist/commanders/custom/commands/redis/data/hashes/index.d.ts.map +0 -1
  261. package/dist/commanders/custom/commands/redis/data/index.d.ts +0 -7
  262. package/dist/commanders/custom/commands/redis/data/index.d.ts.map +0 -1
  263. package/dist/commanders/custom/commands/redis/data/keys/dbsize.d.ts +0 -5
  264. package/dist/commanders/custom/commands/redis/data/keys/dbsize.d.ts.map +0 -1
  265. package/dist/commanders/custom/commands/redis/data/keys/del.d.ts +0 -8
  266. package/dist/commanders/custom/commands/redis/data/keys/del.d.ts.map +0 -1
  267. package/dist/commanders/custom/commands/redis/data/keys/exists.d.ts +0 -8
  268. package/dist/commanders/custom/commands/redis/data/keys/exists.d.ts.map +0 -1
  269. package/dist/commanders/custom/commands/redis/data/keys/expire.d.ts +0 -8
  270. package/dist/commanders/custom/commands/redis/data/keys/expire.d.ts.map +0 -1
  271. package/dist/commanders/custom/commands/redis/data/keys/expireat.d.ts +0 -8
  272. package/dist/commanders/custom/commands/redis/data/keys/expireat.d.ts.map +0 -1
  273. package/dist/commanders/custom/commands/redis/data/keys/flushall.d.ts +0 -5
  274. package/dist/commanders/custom/commands/redis/data/keys/flushall.d.ts.map +0 -1
  275. package/dist/commanders/custom/commands/redis/data/keys/flushdb.d.ts +0 -5
  276. package/dist/commanders/custom/commands/redis/data/keys/flushdb.d.ts.map +0 -1
  277. package/dist/commanders/custom/commands/redis/data/keys/index.d.ts +0 -11
  278. package/dist/commanders/custom/commands/redis/data/keys/index.d.ts.map +0 -1
  279. package/dist/commanders/custom/commands/redis/data/keys/pttl.d.ts +0 -5
  280. package/dist/commanders/custom/commands/redis/data/keys/pttl.d.ts.map +0 -1
  281. package/dist/commanders/custom/commands/redis/data/keys/ttl.d.ts +0 -5
  282. package/dist/commanders/custom/commands/redis/data/keys/ttl.d.ts.map +0 -1
  283. package/dist/commanders/custom/commands/redis/data/keys/type.d.ts +0 -5
  284. package/dist/commanders/custom/commands/redis/data/keys/type.d.ts.map +0 -1
  285. package/dist/commanders/custom/commands/redis/data/lists/index.d.ts +0 -11
  286. package/dist/commanders/custom/commands/redis/data/lists/index.d.ts.map +0 -1
  287. package/dist/commanders/custom/commands/redis/data/lists/lindex.d.ts +0 -8
  288. package/dist/commanders/custom/commands/redis/data/lists/lindex.d.ts.map +0 -1
  289. package/dist/commanders/custom/commands/redis/data/lists/llen.d.ts +0 -5
  290. package/dist/commanders/custom/commands/redis/data/lists/llen.d.ts.map +0 -1
  291. package/dist/commanders/custom/commands/redis/data/lists/lpop.d.ts +0 -5
  292. package/dist/commanders/custom/commands/redis/data/lists/lpop.d.ts.map +0 -1
  293. package/dist/commanders/custom/commands/redis/data/lists/lpush.d.ts +0 -9
  294. package/dist/commanders/custom/commands/redis/data/lists/lpush.d.ts.map +0 -1
  295. package/dist/commanders/custom/commands/redis/data/lists/lrange.d.ts +0 -9
  296. package/dist/commanders/custom/commands/redis/data/lists/lrange.d.ts.map +0 -1
  297. package/dist/commanders/custom/commands/redis/data/lists/lrem.d.ts +0 -9
  298. package/dist/commanders/custom/commands/redis/data/lists/lrem.d.ts.map +0 -1
  299. package/dist/commanders/custom/commands/redis/data/lists/lset.d.ts +0 -9
  300. package/dist/commanders/custom/commands/redis/data/lists/lset.d.ts.map +0 -1
  301. package/dist/commanders/custom/commands/redis/data/lists/ltrim.d.ts +0 -9
  302. package/dist/commanders/custom/commands/redis/data/lists/ltrim.d.ts.map +0 -1
  303. package/dist/commanders/custom/commands/redis/data/lists/rpop.d.ts +0 -5
  304. package/dist/commanders/custom/commands/redis/data/lists/rpop.d.ts.map +0 -1
  305. package/dist/commanders/custom/commands/redis/data/lists/rpush.d.ts +0 -9
  306. package/dist/commanders/custom/commands/redis/data/lists/rpush.d.ts.map +0 -1
  307. package/dist/commanders/custom/commands/redis/data/sets/index.d.ts +0 -12
  308. package/dist/commanders/custom/commands/redis/data/sets/index.d.ts.map +0 -1
  309. package/dist/commanders/custom/commands/redis/data/sets/sadd.d.ts +0 -9
  310. package/dist/commanders/custom/commands/redis/data/sets/sadd.d.ts.map +0 -1
  311. package/dist/commanders/custom/commands/redis/data/sets/scard.d.ts +0 -5
  312. package/dist/commanders/custom/commands/redis/data/sets/scard.d.ts.map +0 -1
  313. package/dist/commanders/custom/commands/redis/data/sets/sdiff.d.ts +0 -8
  314. package/dist/commanders/custom/commands/redis/data/sets/sdiff.d.ts.map +0 -1
  315. package/dist/commanders/custom/commands/redis/data/sets/sinter.d.ts +0 -8
  316. package/dist/commanders/custom/commands/redis/data/sets/sinter.d.ts.map +0 -1
  317. package/dist/commanders/custom/commands/redis/data/sets/sismember.d.ts +0 -8
  318. package/dist/commanders/custom/commands/redis/data/sets/sismember.d.ts.map +0 -1
  319. package/dist/commanders/custom/commands/redis/data/sets/smembers.d.ts +0 -5
  320. package/dist/commanders/custom/commands/redis/data/sets/smembers.d.ts.map +0 -1
  321. package/dist/commanders/custom/commands/redis/data/sets/smove.d.ts +0 -9
  322. package/dist/commanders/custom/commands/redis/data/sets/smove.d.ts.map +0 -1
  323. package/dist/commanders/custom/commands/redis/data/sets/spop.d.ts +0 -5
  324. package/dist/commanders/custom/commands/redis/data/sets/spop.d.ts.map +0 -1
  325. package/dist/commanders/custom/commands/redis/data/sets/srandmember.d.ts +0 -8
  326. package/dist/commanders/custom/commands/redis/data/sets/srandmember.d.ts.map +0 -1
  327. package/dist/commanders/custom/commands/redis/data/sets/srem.d.ts +0 -9
  328. package/dist/commanders/custom/commands/redis/data/sets/srem.d.ts.map +0 -1
  329. package/dist/commanders/custom/commands/redis/data/sets/sunion.d.ts +0 -8
  330. package/dist/commanders/custom/commands/redis/data/sets/sunion.d.ts.map +0 -1
  331. package/dist/commanders/custom/commands/redis/data/strings/append.d.ts +0 -8
  332. package/dist/commanders/custom/commands/redis/data/strings/append.d.ts.map +0 -1
  333. package/dist/commanders/custom/commands/redis/data/strings/decr.d.ts +0 -5
  334. package/dist/commanders/custom/commands/redis/data/strings/decr.d.ts.map +0 -1
  335. package/dist/commanders/custom/commands/redis/data/strings/decrby.d.ts +0 -8
  336. package/dist/commanders/custom/commands/redis/data/strings/decrby.d.ts.map +0 -1
  337. package/dist/commanders/custom/commands/redis/data/strings/get.d.ts +0 -5
  338. package/dist/commanders/custom/commands/redis/data/strings/get.d.ts.map +0 -1
  339. package/dist/commanders/custom/commands/redis/data/strings/getset.d.ts +0 -8
  340. package/dist/commanders/custom/commands/redis/data/strings/getset.d.ts.map +0 -1
  341. package/dist/commanders/custom/commands/redis/data/strings/incr.d.ts +0 -5
  342. package/dist/commanders/custom/commands/redis/data/strings/incr.d.ts.map +0 -1
  343. package/dist/commanders/custom/commands/redis/data/strings/incrby.d.ts +0 -8
  344. package/dist/commanders/custom/commands/redis/data/strings/incrby.d.ts.map +0 -1
  345. package/dist/commanders/custom/commands/redis/data/strings/incrbyfloat.d.ts +0 -8
  346. package/dist/commanders/custom/commands/redis/data/strings/incrbyfloat.d.ts.map +0 -1
  347. package/dist/commanders/custom/commands/redis/data/strings/index.d.ts +0 -14
  348. package/dist/commanders/custom/commands/redis/data/strings/index.d.ts.map +0 -1
  349. package/dist/commanders/custom/commands/redis/data/strings/mget.d.ts +0 -8
  350. package/dist/commanders/custom/commands/redis/data/strings/mget.d.ts.map +0 -1
  351. package/dist/commanders/custom/commands/redis/data/strings/mset.d.ts +0 -9
  352. package/dist/commanders/custom/commands/redis/data/strings/mset.d.ts.map +0 -1
  353. package/dist/commanders/custom/commands/redis/data/strings/msetnx.d.ts +0 -9
  354. package/dist/commanders/custom/commands/redis/data/strings/msetnx.d.ts.map +0 -1
  355. package/dist/commanders/custom/commands/redis/data/strings/set.d.ts +0 -29
  356. package/dist/commanders/custom/commands/redis/data/strings/set.d.ts.map +0 -1
  357. package/dist/commanders/custom/commands/redis/data/strings/strlen.d.ts +0 -5
  358. package/dist/commanders/custom/commands/redis/data/strings/strlen.d.ts.map +0 -1
  359. package/dist/commanders/custom/commands/redis/data/zsets/index.d.ts +0 -12
  360. package/dist/commanders/custom/commands/redis/data/zsets/index.d.ts.map +0 -1
  361. package/dist/commanders/custom/commands/redis/data/zsets/zadd.d.ts +0 -10
  362. package/dist/commanders/custom/commands/redis/data/zsets/zadd.d.ts.map +0 -1
  363. package/dist/commanders/custom/commands/redis/data/zsets/zcard.d.ts +0 -5
  364. package/dist/commanders/custom/commands/redis/data/zsets/zcard.d.ts.map +0 -1
  365. package/dist/commanders/custom/commands/redis/data/zsets/zincrby.d.ts +0 -9
  366. package/dist/commanders/custom/commands/redis/data/zsets/zincrby.d.ts.map +0 -1
  367. package/dist/commanders/custom/commands/redis/data/zsets/zrange.d.ts +0 -10
  368. package/dist/commanders/custom/commands/redis/data/zsets/zrange.d.ts.map +0 -1
  369. package/dist/commanders/custom/commands/redis/data/zsets/zrangebyscore.d.ts +0 -9
  370. package/dist/commanders/custom/commands/redis/data/zsets/zrangebyscore.d.ts.map +0 -1
  371. package/dist/commanders/custom/commands/redis/data/zsets/zrank.d.ts +0 -8
  372. package/dist/commanders/custom/commands/redis/data/zsets/zrank.d.ts.map +0 -1
  373. package/dist/commanders/custom/commands/redis/data/zsets/zrem.d.ts +0 -9
  374. package/dist/commanders/custom/commands/redis/data/zsets/zrem.d.ts.map +0 -1
  375. package/dist/commanders/custom/commands/redis/data/zsets/zremrangebyscore.d.ts +0 -9
  376. package/dist/commanders/custom/commands/redis/data/zsets/zremrangebyscore.d.ts.map +0 -1
  377. package/dist/commanders/custom/commands/redis/data/zsets/zrevrange.d.ts +0 -10
  378. package/dist/commanders/custom/commands/redis/data/zsets/zrevrange.d.ts.map +0 -1
  379. package/dist/commanders/custom/commands/redis/data/zsets/zrevrank.d.ts +0 -8
  380. package/dist/commanders/custom/commands/redis/data/zsets/zrevrank.d.ts.map +0 -1
  381. package/dist/commanders/custom/commands/redis/data/zsets/zscore.d.ts +0 -8
  382. package/dist/commanders/custom/commands/redis/data/zsets/zscore.d.ts.map +0 -1
  383. package/dist/commanders/custom/commands/redis/index.d.ts +0 -39
  384. package/dist/commanders/custom/commands/redis/index.d.ts.map +0 -1
  385. package/dist/commanders/custom/commands/redis/info.d.ts +0 -7
  386. package/dist/commanders/custom/commands/redis/info.d.ts.map +0 -1
  387. package/dist/commanders/custom/commands/redis/monitor.d.ts +0 -5
  388. package/dist/commanders/custom/commands/redis/monitor.d.ts.map +0 -1
  389. package/dist/commanders/custom/commands/redis/ping.d.ts +0 -7
  390. package/dist/commanders/custom/commands/redis/ping.d.ts.map +0 -1
  391. package/dist/commanders/custom/commands/redis/quit.d.ts +0 -5
  392. package/dist/commanders/custom/commands/redis/quit.d.ts.map +0 -1
  393. package/dist/commanders/custom/commands/redis/script/debug.d.ts +0 -7
  394. package/dist/commanders/custom/commands/redis/script/debug.d.ts.map +0 -1
  395. package/dist/commanders/custom/commands/redis/script/eval.d.ts +0 -7
  396. package/dist/commanders/custom/commands/redis/script/eval.d.ts.map +0 -1
  397. package/dist/commanders/custom/commands/redis/script/evalsha.d.ts +0 -7
  398. package/dist/commanders/custom/commands/redis/script/evalsha.d.ts.map +0 -1
  399. package/dist/commanders/custom/commands/redis/script/exists.d.ts +0 -8
  400. package/dist/commanders/custom/commands/redis/script/exists.d.ts.map +0 -1
  401. package/dist/commanders/custom/commands/redis/script/flush.d.ts +0 -7
  402. package/dist/commanders/custom/commands/redis/script/flush.d.ts.map +0 -1
  403. package/dist/commanders/custom/commands/redis/script/help.d.ts +0 -5
  404. package/dist/commanders/custom/commands/redis/script/help.d.ts.map +0 -1
  405. package/dist/commanders/custom/commands/redis/script/index.d.ts +0 -8
  406. package/dist/commanders/custom/commands/redis/script/index.d.ts.map +0 -1
  407. package/dist/commanders/custom/commands/redis/script/kill.d.ts +0 -5
  408. package/dist/commanders/custom/commands/redis/script/kill.d.ts.map +0 -1
  409. package/dist/commanders/custom/commands/redis/script/load.d.ts +0 -5
  410. package/dist/commanders/custom/commands/redis/script/load.d.ts.map +0 -1
  411. package/dist/commanders/custom/commands/redis/script/lua-reply.d.ts +0 -8
  412. package/dist/commanders/custom/commands/redis/script/lua-reply.d.ts.map +0 -1
  413. package/dist/commanders/custom/commands/registry.d.ts +0 -84
  414. package/dist/commanders/custom/commands/registry.d.ts.map +0 -1
  415. package/dist/commanders/custom/data-structures/hash.d.ts +0 -16
  416. package/dist/commanders/custom/data-structures/hash.d.ts.map +0 -1
  417. package/dist/commanders/custom/data-structures/list.d.ts +0 -15
  418. package/dist/commanders/custom/data-structures/list.d.ts.map +0 -1
  419. package/dist/commanders/custom/data-structures/set.d.ts +0 -16
  420. package/dist/commanders/custom/data-structures/set.d.ts.map +0 -1
  421. package/dist/commanders/custom/data-structures/stream.d.ts +0 -3
  422. package/dist/commanders/custom/data-structures/stream.d.ts.map +0 -1
  423. package/dist/commanders/custom/data-structures/string.d.ts +0 -5
  424. package/dist/commanders/custom/data-structures/string.d.ts.map +0 -1
  425. package/dist/commanders/custom/data-structures/zset.d.ts +0 -17
  426. package/dist/commanders/custom/data-structures/zset.d.ts.map +0 -1
  427. package/dist/commanders/custom/db.d.ts +0 -67
  428. package/dist/commanders/custom/db.d.ts.map +0 -1
  429. package/dist/commanders/custom/execution-context.d.ts +0 -12
  430. package/dist/commanders/custom/execution-context.d.ts.map +0 -1
  431. package/dist/commanders/custom/lua-runtime.d.ts +0 -16
  432. package/dist/commanders/custom/lua-runtime.d.ts.map +0 -1
  433. package/dist/commanders/custom/redis-kernel.d.ts +0 -46
  434. package/dist/commanders/custom/redis-kernel.d.ts.map +0 -1
  435. package/dist/commanders/custom/schema/builder.d.ts +0 -24
  436. package/dist/commanders/custom/schema/builder.d.ts.map +0 -1
  437. package/dist/commanders/custom/schema/command-adapter.d.ts +0 -25
  438. package/dist/commanders/custom/schema/command-adapter.d.ts.map +0 -1
  439. package/dist/commanders/custom/schema/index.d.ts +0 -7
  440. package/dist/commanders/custom/schema/index.d.ts.map +0 -1
  441. package/dist/commanders/custom/schema/input-mapper.d.ts +0 -28
  442. package/dist/commanders/custom/schema/input-mapper.d.ts.map +0 -1
  443. package/dist/commanders/custom/schema/registry.d.ts +0 -13
  444. package/dist/commanders/custom/schema/registry.d.ts.map +0 -1
  445. package/dist/commanders/custom/schema/resp-input-mapper.d.ts +0 -20
  446. package/dist/commanders/custom/schema/resp-input-mapper.d.ts.map +0 -1
  447. package/dist/commanders/custom/schema/types.d.ts +0 -43
  448. package/dist/commanders/custom/schema/types.d.ts.map +0 -1
  449. package/dist/core/cluster/network.d.ts +0 -24
  450. package/dist/core/cluster/network.d.ts.map +0 -1
  451. package/dist/core/errors.d.ts +0 -87
  452. package/dist/core/errors.d.ts.map +0 -1
  453. package/dist/core/transports/buffered-transport.d.ts +0 -14
  454. package/dist/core/transports/buffered-transport.d.ts.map +0 -1
  455. package/dist/core/transports/capturing-transport.d.ts +0 -19
  456. package/dist/core/transports/capturing-transport.d.ts.map +0 -1
  457. package/dist/core/transports/command-validator.d.ts +0 -12
  458. package/dist/core/transports/command-validator.d.ts.map +0 -1
  459. package/dist/core/transports/resp2/adapter.d.ts +0 -32
  460. package/dist/core/transports/resp2/adapter.d.ts.map +0 -1
  461. package/dist/core/transports/session-state.d.ts +0 -76
  462. package/dist/core/transports/session-state.d.ts.map +0 -1
  463. package/dist/core/transports/session.d.ts +0 -36
  464. package/dist/core/transports/session.d.ts.map +0 -1
  465. package/dist/index.cjs +0 -5759
  466. package/dist/index.cjs.map +0 -1
  467. package/dist/index.mjs +0 -5749
  468. package/dist/index.mjs.map +0 -1
  469. package/dist/types.d.ts +0 -54
  470. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resp2SessionAdapter = void 0;
4
+ const redis_error_1 = require("../../redis-error");
5
+ const redis_result_1 = require("../../redis-result");
6
+ const resp_encoder_1 = require("../../resp-encoder");
7
+ const response_stream_1 = require("../../response-stream");
8
+ const decoder_1 = require("./decoder");
9
+ class Resp2SessionAdapter {
10
+ decoder = new decoder_1.Resp2CommandDecoder();
11
+ transport;
12
+ session;
13
+ logger;
14
+ encoder;
15
+ constructor(options) {
16
+ this.transport = options.transport;
17
+ this.session = options.session;
18
+ this.logger = options.logger;
19
+ this.encoder = options.encoder;
20
+ }
21
+ async run() {
22
+ try {
23
+ for await (const chunk of this.transport.read()) {
24
+ const frames = this.decoder.push(chunk);
25
+ for (const frame of frames) {
26
+ await this.handleFrame(frame);
27
+ if (this.transport.signal.aborted) {
28
+ return;
29
+ }
30
+ }
31
+ }
32
+ }
33
+ catch (err) {
34
+ if (!this.transport.signal.aborted) {
35
+ await this.writeError(err);
36
+ this.transport.close('resp2 adapter error');
37
+ }
38
+ }
39
+ finally {
40
+ this.session.close();
41
+ }
42
+ }
43
+ async handleFrame(frame) {
44
+ const result = await this.session.execute(frame.command, frame.args);
45
+ await this.writeExecutorResult(result);
46
+ }
47
+ async writeExecutorResult(result) {
48
+ if ((0, response_stream_1.isResponseStream)(result)) {
49
+ for await (const frame of result.frames(this.transport.signal)) {
50
+ await this.writeRedisResult(frame);
51
+ if (this.transport.signal.aborted) {
52
+ result.close('transport closed');
53
+ return;
54
+ }
55
+ }
56
+ return;
57
+ }
58
+ await this.writeRedisResult(result);
59
+ }
60
+ async writeRedisResult(result) {
61
+ await this.transport.write((0, resp_encoder_1.encodeRedisResult)(result, {
62
+ ...this.encoder,
63
+ version: this.session.protocolVersion,
64
+ }));
65
+ if (result.options?.close || result.options?.disconnect) {
66
+ this.transport.close('command requested close');
67
+ }
68
+ }
69
+ async writeError(err) {
70
+ if (this.transport.signal.aborted) {
71
+ return;
72
+ }
73
+ if (err instanceof redis_error_1.RedisCommandError) {
74
+ await this.writeRedisResult(redis_result_1.RedisResult.error(err.message, err.code));
75
+ return;
76
+ }
77
+ if (err instanceof decoder_1.Resp2ParseError) {
78
+ await this.writeRedisResult(redis_result_1.RedisResult.error(err.message, 'ERR'));
79
+ return;
80
+ }
81
+ this.logger?.error(err);
82
+ await this.writeRedisResult(redis_result_1.RedisResult.error('internal server error', 'ERR'));
83
+ }
84
+ }
85
+ exports.Resp2SessionAdapter = Resp2SessionAdapter;
86
+ //# sourceMappingURL=session-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-adapter.js","sourceRoot":"","sources":["../../../../src/core/transports/resp2/session-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Socket } from 'net';
2
+ import { type ConnectionTransport, type ConnectionTransportEvent, type ConnectionTransportListener, type ConnectionTransportUnsubscribe } from './connection-transport';
3
+ export type SocketConnectionTransportOptions = {
4
+ id?: string;
5
+ };
6
+ export declare class SocketConnectionTransport implements ConnectionTransport {
7
+ private readonly socket;
8
+ private static nextId;
9
+ readonly id: string;
10
+ readonly signal: AbortSignal;
11
+ private readonly controller;
12
+ private closed;
13
+ constructor(socket: Socket, options?: SocketConnectionTransportOptions);
14
+ read(): AsyncIterable<Buffer>;
15
+ write(chunk: Buffer): Promise<void>;
16
+ close(_reason?: string): void;
17
+ on(event: ConnectionTransportEvent, listener: ConnectionTransportListener): ConnectionTransportUnsubscribe;
18
+ private abort;
19
+ }
20
+ //# sourceMappingURL=socket-connection-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-connection-transport.d.ts","sourceRoot":"","sources":["../../../src/core/transports/socket-connection-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACpC,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,gCAAgC,GAAG;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IAUjE,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAI;IAEzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,MAAM,CAAQ;gBAGH,MAAM,EAAE,MAAM,EAC/B,OAAO,CAAC,EAAE,gCAAgC;IAWrC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;IAUpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAU7B,EAAE,CACA,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,2BAA2B,GACpC,8BAA8B;IAQjC,OAAO,CAAC,KAAK;CAKd"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketConnectionTransport = void 0;
4
+ class SocketConnectionTransport {
5
+ socket;
6
+ static nextId = 0;
7
+ id;
8
+ signal;
9
+ controller = new AbortController();
10
+ closed = false;
11
+ constructor(socket, options) {
12
+ this.socket = socket;
13
+ this.id = options?.id ?? `socket-${++SocketConnectionTransport.nextId}`;
14
+ this.signal = this.controller.signal;
15
+ socket
16
+ .on('close', () => this.abort())
17
+ .on('error', () => this.abort())
18
+ .on('timeout', () => this.abort());
19
+ }
20
+ async *read() {
21
+ for await (const chunk of this.socket) {
22
+ if (this.signal.aborted) {
23
+ return;
24
+ }
25
+ yield Buffer.isBuffer(chunk) ? Buffer.from(chunk) : Buffer.from(chunk);
26
+ }
27
+ }
28
+ write(chunk) {
29
+ if (this.closed || this.socket.destroyed) {
30
+ return Promise.resolve();
31
+ }
32
+ return new Promise((resolve, reject) => {
33
+ this.socket.write(chunk, err => {
34
+ if (err) {
35
+ reject(err);
36
+ return;
37
+ }
38
+ resolve();
39
+ });
40
+ });
41
+ }
42
+ close(_reason) {
43
+ if (this.closed) {
44
+ return;
45
+ }
46
+ this.closed = true;
47
+ this.abort();
48
+ this.socket.destroySoon();
49
+ }
50
+ on(event, listener) {
51
+ const wrapped = (error) => listener(error);
52
+ this.socket.on(event, wrapped);
53
+ return () => {
54
+ this.socket.off(event, wrapped);
55
+ };
56
+ }
57
+ abort() {
58
+ if (!this.controller.signal.aborted) {
59
+ this.controller.abort();
60
+ }
61
+ }
62
+ }
63
+ exports.SocketConnectionTransport = SocketConnectionTransport;
64
+ //# sourceMappingURL=socket-connection-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-connection-transport.js","sourceRoot":"","sources":["../../../src/core/transports/socket-connection-transport.ts"],"names":[],"mappings":";;;AAYA,MAAa,yBAAyB;IAUjB;IATX,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAEhB,EAAE,CAAQ;IACV,MAAM,CAAa;IAEX,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IAC3C,MAAM,GAAG,KAAK,CAAA;IAEtB,YACmB,MAAc,EAC/B,OAA0C;QADzB,WAAM,GAAN,MAAM,CAAQ;QAG/B,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,yBAAyB,CAAC,MAAM,EAAE,CAAA;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;QAEpC,MAAM;aACH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aAC/B,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aAC/B,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,CAAC,IAAI;QACT,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAM;YACR,CAAC;YAED,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC7B,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAA;oBACX,OAAM;gBACR,CAAC;gBAED,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAgB;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED,EAAE,CACA,KAA+B,EAC/B,QAAqC;QAErC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;;AA1EH,8DA2EC"}
@@ -0,0 +1,15 @@
1
+ export interface RedisTurnHandle {
2
+ release(): void;
3
+ suspend(waitFor: Promise<unknown>): Promise<RedisTurnHandle>;
4
+ }
5
+ export interface RedisTurnQueue {
6
+ waitTurn(): Promise<RedisTurnHandle>;
7
+ }
8
+ export declare class SerialTurnQueue implements RedisTurnQueue {
9
+ private readonly queue;
10
+ private locked;
11
+ waitTurn(): Promise<RedisTurnHandle>;
12
+ private waitTurnInternal;
13
+ private scheduleNext;
14
+ }
15
+ //# sourceMappingURL=turn-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-queue.d.ts","sourceRoot":"","sources":["../../src/core/turn-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,IAAI,CAAA;IACf,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACrC;AAID,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAQ;IAEtB,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAIpC,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,YAAY;CAMrB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerialTurnQueue = void 0;
4
+ class SerialTurnQueue {
5
+ queue = [];
6
+ locked = false;
7
+ waitTurn() {
8
+ return this.waitTurnInternal(false);
9
+ }
10
+ waitTurnInternal(priority) {
11
+ return new Promise(resolve => {
12
+ const grantTurn = () => {
13
+ this.locked = true;
14
+ let active = true;
15
+ const release = () => {
16
+ if (!active)
17
+ return;
18
+ active = false;
19
+ this.locked = false;
20
+ this.scheduleNext();
21
+ };
22
+ const suspend = async (waitFor) => {
23
+ if (!active) {
24
+ throw new Error('Turn already released');
25
+ }
26
+ active = false;
27
+ this.locked = false;
28
+ this.scheduleNext();
29
+ await waitFor;
30
+ return this.waitTurnInternal(true);
31
+ };
32
+ resolve({ release, suspend });
33
+ };
34
+ if (priority) {
35
+ this.queue.unshift(grantTurn);
36
+ }
37
+ else {
38
+ this.queue.push(grantTurn);
39
+ }
40
+ this.scheduleNext();
41
+ });
42
+ }
43
+ scheduleNext() {
44
+ if (this.locked)
45
+ return;
46
+ const next = this.queue.shift();
47
+ next?.();
48
+ }
49
+ }
50
+ exports.SerialTurnQueue = SerialTurnQueue;
51
+ //# sourceMappingURL=turn-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-queue.js","sourceRoot":"","sources":["../../src/core/turn-queue.ts"],"names":[],"mappings":";;;AAWA,MAAa,eAAe;IACT,KAAK,GAAmB,EAAE,CAAA;IACnC,MAAM,GAAG,KAAK,CAAA;IAEtB,QAAQ;QACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAEO,gBAAgB,CAAC,QAAiB;QACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;gBAClB,IAAI,MAAM,GAAG,IAAI,CAAA;gBAEjB,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,MAAM;wBAAE,OAAM;oBACnB,MAAM,GAAG,KAAK,CAAA;oBACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;oBACnB,IAAI,CAAC,YAAY,EAAE,CAAA;gBACrB,CAAC,CAAA;gBAED,MAAM,OAAO,GAAG,KAAK,EACnB,OAAyB,EACC,EAAE;oBAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;oBAC1C,CAAC;oBAED,MAAM,GAAG,KAAK,CAAA;oBACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;oBACnB,IAAI,CAAC,YAAY,EAAE,CAAA;oBACnB,MAAM,OAAO,CAAA;oBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACpC,CAAC,CAAA;gBAED,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YAC/B,CAAC,CAAA;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAC/B,IAAI,EAAE,EAAE,CAAA;IACV,CAAC;CACF;AAtDD,0CAsDC"}
package/dist/index.d.ts CHANGED
@@ -1,347 +1,35 @@
1
- import { Server } from 'net';
2
- import { LuaWasmModule, ReplyValue } from 'lua-redis-wasm';
3
- import { EventEmitter } from 'node:events';
4
-
5
- /**
6
- * Redis command metadata following Redis COMMAND specification
7
- * @see https://redis.io/commands/command
8
- */
9
- interface CommandMetadata {
10
- /** Command name (lowercase) */
11
- name: string;
12
- /**
13
- * Number of arguments
14
- * Positive: exact count (including command name)
15
- * Negative: minimum count (abs value), variable args
16
- * Example: GET = 2 (GET key), MGET = -2 (MGET key [key ...])
17
- */
18
- arity: number;
19
- /** Command flags */
20
- flags: CommandFlags;
21
- /**
22
- * First key position (0-indexed in args, not including command name)
23
- * -1 means no keys
24
- */
25
- firstKey: number;
26
- /**
27
- * Last key position
28
- * -1 means last argument is key
29
- * -2 means second-to-last, etc.
30
- */
31
- lastKey: number;
32
- /**
33
- * Step between keys (usually 1)
34
- * Example: MGET has step 1, MSET has step 2 (key val key val)
35
- */
36
- keyStep: number;
37
- /**
38
- * Divisor for remaining args when lastKey=-1
39
- * @see https://redis.io/docs/latest/develop/reference/key-specs/
40
- * 0 or 1: no limit (all remaining args are keys)
41
- * 2: half the remaining args are keys (e.g., MSET key val key val)
42
- * 3: one-third are keys, etc.
43
- */
44
- limit: number;
45
- /** Redis command categories */
46
- categories: CommandCategory[];
47
- }
48
- /**
49
- * Command flags following Redis specification
50
- */
51
- interface CommandFlags {
52
- /** Command doesn't modify data (safe for replicas) */
53
- readonly?: boolean;
54
- /** Command modifies data */
55
- write?: boolean;
56
- /** Deny command when used memory > maxmemory */
57
- denyoom?: boolean;
58
- /** Administrative command */
59
- admin?: boolean;
60
- /** Not allowed in Lua scripts */
61
- noscript?: boolean;
62
- /** Returns random/non-deterministic results */
63
- random?: boolean;
64
- /** Blocking operation (BLPOP, BRPOP, etc.) */
65
- blocking?: boolean;
66
- /** O(1) time complexity */
67
- fast?: boolean;
68
- /** Keys are not in fixed positions (requires key extraction) */
69
- movablekeys?: boolean;
70
- /** Transaction-related command */
71
- transaction?: boolean;
72
- }
73
- /**
74
- * Redis command categories
75
- * @see https://redis.io/commands#command-categories
76
- */
77
- declare enum CommandCategory {
78
- STRING = "@string",
79
- HASH = "@hash",
80
- LIST = "@list",
81
- SET = "@set",
82
- ZSET = "@zset",
83
- KEYS = "@keys",
84
- GENERIC = "@generic",
85
- SCRIPT = "@scripting",
86
- SERVER = "@server",
87
- CONNECTION = "@connection",
88
- CLUSTER = "@cluster",
89
- TRANSACTION = "@transactions",
90
- PUBSUB = "@pubsub",
91
- STREAM = "@stream"
92
- }
93
-
94
- declare class UserFacedError extends Error {
95
- toLuaError(): {
96
- err: Buffer;
97
- };
98
- }
99
- declare class UnknownCommand extends UserFacedError {
100
- constructor(cmdName: string | Buffer, args: Buffer[] | string[]);
101
- }
102
-
103
- interface DBCommandExecutor {
104
- shutdown(): Promise<void>;
105
- }
106
- interface ExecutionContext {
107
- execute(transport: Transport, rawCmd: Buffer, args: Buffer[], signal: AbortSignal): ExecutionContext;
108
- shutdown(): Promise<void>;
109
- }
110
- type CommandResult = string | number | bigint | null | Buffer | UserFacedError | CommandResult[];
111
- interface Logger {
112
- info(msg: unknown, metadata?: Record<string, unknown>): void;
113
- error(msg: unknown, metadata?: Record<string, unknown>): void;
114
- }
115
- interface Command {
116
- /** Command metadata (arity, flags, key positions) */
117
- readonly metadata: CommandMetadata;
118
- /**
119
- * Extract keys from command arguments
120
- * Used for cluster slot routing and WATCH tracking
121
- */
122
- getKeys(rawCmd: Buffer, args: Buffer[]): Buffer[];
123
- /**
124
- * Execute command
125
- */
126
- run(rawCmd: Buffer, args: Buffer[], signal: AbortSignal, transport: Transport): CommandResult | void;
127
- }
128
- type SlotRange = [number, number];
129
- type DiscoveryNode = {
130
- host: string;
131
- port: number;
132
- slots: SlotRange[];
133
- id: string;
134
- };
135
- interface ClusterCommanderFactory {
136
- createCommander(mySelfId: string): DBCommandExecutor;
137
- createReadOnlyCommander(mySelfId: string): DBCommandExecutor;
138
- shutdown(): Promise<void>;
139
- }
140
- interface DiscoveryService {
141
- getAll(): DiscoveryNode[];
142
- isMaster(id: string): boolean;
143
- getMaster(id: string): DiscoveryNode;
144
- getById(id: string): DiscoveryNode;
145
- getBySlot(slot: number): DiscoveryNode;
146
- }
147
- interface Transport {
148
- write(responseData: CommandResult): void;
149
- flush(options?: {
150
- close?: boolean;
151
- }): void;
152
- closeAfterFlush(): void;
153
- }
154
-
155
- declare class Resp2Transport {
156
- private readonly logger;
157
- private readonly commandExecutor;
158
- readonly server: Server;
159
- constructor(logger: Logger, commandExecutor: DBCommandExecutor);
160
- private handleConnection;
161
- listen(port?: number): Promise<void>;
162
- close(): Promise<void>;
163
- getAddress(): string;
164
- }
165
-
166
- interface LuaCommandContext {
167
- luaCommands?: Record<string, Command>;
168
- signal: AbortSignal;
169
- }
170
- declare class LuaRuntime {
171
- private readonly hostState;
172
- private engine;
173
- constructor(module: LuaWasmModule);
174
- eval(script: Buffer, ctx: LuaCommandContext, sha: string): ReplyValue;
175
- evalWithArgs(script: Buffer, keys: Buffer[], args: Buffer[], ctx: LuaCommandContext, sha: string): ReplyValue;
176
- private runLuaCommand;
177
- }
178
-
179
- declare function createCustomCommander(logger: Logger): Promise<CustomCommanderFactory>;
180
- declare class CustomCommanderFactory {
181
- private readonly logger;
182
- private readonly luaRuntime;
183
- private readonly db;
184
- constructor(logger: Logger, luaRuntime: LuaRuntime);
185
- shutdown(): Promise<void>;
186
- createCommander(): DBCommandExecutor;
187
- }
188
-
189
- declare class HashDataType {
190
- private readonly data;
191
- constructor();
192
- hset(field: Buffer, value: Buffer): number;
193
- hget(field: Buffer): Buffer | null;
194
- hdel(field: Buffer): number;
195
- hexists(field: Buffer): boolean;
196
- hgetall(): Buffer[];
197
- hkeys(): Buffer[];
198
- hvals(): Buffer[];
199
- hlen(): number;
200
- hmget(fields: Buffer[]): (Buffer | null)[];
201
- hincrby(field: Buffer, increment: number): number;
202
- hincrbyfloat(field: Buffer, increment: number): number;
203
- }
204
-
205
- declare class ListDataType {
206
- private readonly data;
207
- constructor();
208
- lpush(value: Buffer): number;
209
- rpush(value: Buffer): number;
210
- lpop(): Buffer | null;
211
- rpop(): Buffer | null;
212
- llen(): number;
213
- lindex(index: number): Buffer | null;
214
- lrange(start: number, stop: number): Buffer[];
215
- lset(index: number, value: Buffer): boolean;
216
- lrem(count: number, value: Buffer): number;
217
- ltrim(start: number, stop: number): void;
218
- }
219
-
220
- declare class SetDataType {
221
- private readonly data;
222
- constructor();
223
- sadd(value: Buffer): number;
224
- srem(value: Buffer): number;
225
- sismember(value: Buffer): boolean;
226
- smembers(): Buffer[];
227
- scard(): number;
228
- spop(): Buffer | null;
229
- srandmember(count?: number): Buffer | Buffer[] | null;
230
- sdiff(otherSets: SetDataType[]): Buffer[];
231
- sinter(otherSets: SetDataType[]): Buffer[];
232
- sunion(otherSets: SetDataType[]): Buffer[];
233
- smove(destination: SetDataType, member: Buffer): boolean;
234
- }
235
-
236
- declare class StreamDataType {
237
- }
238
-
239
- declare class StringDataType {
240
- readonly data: Buffer;
241
- constructor(data: Buffer);
242
- }
243
-
244
- declare class SortedSetDataType {
245
- private readonly memberToScore;
246
- private readonly scoreToMembers;
247
- zadd(score: number, member: Buffer): number;
248
- zrem(member: Buffer): number;
249
- zscore(member: Buffer): number | null;
250
- zcard(): number;
251
- zrange(start: number, stop: number, withScores?: boolean): Buffer[];
252
- zrevrange(start: number, stop: number, withScores?: boolean): Buffer[];
253
- zincrby(member: Buffer, increment: number): number;
254
- zrank(member: Buffer): number | null;
255
- zrevrank(member: Buffer): number | null;
256
- zrangebyscore(min: number, max: number): Buffer[];
257
- zremrangebyscore(min: number, max: number): number;
258
- private getSortedMembers;
259
- }
260
-
261
- type DataTypes = HashDataType | ListDataType | SetDataType | StreamDataType | StringDataType | SortedSetDataType;
262
- /**
263
- * Store event types emitted by the reactive data store
264
- */
265
- type StoreEvent = {
266
- type: 'set';
267
- key: Buffer;
268
- value: DataTypes;
269
- } | {
270
- type: 'del';
271
- key: Buffer;
272
- } | {
273
- type: 'expire';
274
- key: Buffer;
275
- expiration: number;
276
- } | {
277
- type: 'evict';
278
- key: Buffer;
279
- } | {
280
- type: 'flush';
281
- };
282
- /**
283
- * Event names emitted by the store:
284
- * - 'change': Emitted on every mutation with StoreEvent payload
285
- * - 'key:<keyString>': Emitted for key-specific changes (for WATCH)
286
- */
287
- interface StoreEvents {
288
- change: [event: StoreEvent];
289
- [key: `key:${string}`]: [event: StoreEvent];
290
- }
291
- declare class DB extends EventEmitter<StoreEvents> {
292
- private readonly mapping;
293
- private readonly timings;
294
- private readonly data;
295
- private readonly scriptsStore;
296
- constructor();
297
- tryEvict(key: Buffer): boolean;
298
- get(rawKey: Buffer): DataTypes | null;
299
- set(rawKey: Buffer, val: DataTypes, expiration?: number): void;
300
- del(rawKey: Buffer): boolean;
301
- addScript(script: Buffer): string;
302
- getScript(sha: string): Buffer | undefined;
303
- flushScripts(): void;
304
- getTtl(rawKey: Buffer): number;
305
- setExpiration(rawKey: Buffer, expiration: number): boolean;
306
- /**
307
- * Remove all keys from the current database
308
- */
309
- flushdb(): void;
310
- /**
311
- * Remove all keys from all databases (same as flushdb in single-database implementation)
312
- */
313
- flushall(): void;
314
- /**
315
- * Get the number of keys in the current database
316
- * This excludes expired keys
317
- */
318
- size(): number;
319
- }
320
-
321
- declare function createCustomClusterCommander(logger: Logger, discoveryService: DiscoveryService): Promise<ClusterCommanderFactory>;
322
-
323
- declare function computeSlotRange(index: number, masters: number): SlotRange;
324
- declare class ClusterNetwork implements DiscoveryService {
325
- private readonly logger;
326
- private readonly slotMapping;
327
- private readonly transports;
328
- private commanderFactory?;
329
- constructor(logger: Logger);
330
- private resolveAddress;
331
- private createMasterId;
332
- private createReplicaId;
333
- getMaster(id: string): DiscoveryNode;
334
- isMaster(id: string): boolean;
335
- getById(id: string): DiscoveryNode;
336
- getAll(): DiscoveryNode[];
337
- getBySlot(slot: number): DiscoveryNode;
338
- init(params: {
339
- masters: number;
340
- slaves: number;
341
- basePort?: number;
342
- }): Promise<void>;
343
- shutdown(): Promise<void>;
344
- }
345
-
346
- export { ClusterNetwork, CustomCommanderFactory, DB, Resp2Transport, UnknownCommand, UserFacedError, computeSlotRange, createCustomClusterCommander, createCustomCommander };
347
- export type { ClusterCommanderFactory, Command, CommandResult, DBCommandExecutor, DiscoveryNode, DiscoveryService, ExecutionContext, Logger, SlotRange, Transport };
1
+ export type { CommandCapabilities, CommandExecutionResult, CommandFlag, CommandDefinition, CommandPlan, } from './core/command-definition';
2
+ export type { CommandSchema, InferSchema, ParseContext, ParseNodeResult, } from './core/command-schema';
3
+ export type { RedisClientSession, ClientSessionMode, ParkHandler, ParkRequest, RedisExecutionContext, } from './core/redis-context';
4
+ export type { ExpirationState, KeyspaceEntry, RedisClusterNode, RedisClusterNodeRole, RedisDataTypeName, RedisDataValue, RedisHashData, RedisHashField, RedisListData, RedisMutationEvent, RedisMutationListener, RedisServerStateOptions, RedisSetData, RedisSortedSetData, RedisSortedSetMember, RedisStreamData, RedisStringData, SetOptions, Unsubscribe, } from './state';
5
+ export type { RedisResultOptions } from './core/redis-result';
6
+ export type { RespEncodeOptions, RespVersion } from './core/resp-encoder';
7
+ export type { ResponseStream } from './core/response-stream';
8
+ export type { RedisTurnHandle, RedisTurnQueue } from './core/turn-queue';
9
+ export type { Logger } from './logger';
10
+ export type { ClientSessionOptions } from './core/client-session';
11
+ export type { ConnectionTransport, ConnectionTransportEvent, ConnectionTransportListener, ConnectionTransportUnsubscribe, } from './core/transports/connection-transport';
12
+ export type { SocketConnectionTransportOptions } from './core/transports/socket-connection-transport';
13
+ export type { Resp2CommandFrame, Resp2SessionAdapterOptions, } from './core/transports/resp2';
14
+ export { ClientSession } from './core/client-session';
15
+ export { CommandExecutor, type ExecutorResult } from './core/command-executor';
16
+ export { CommandRegistry } from './core/command-registry';
17
+ export { defineCommand } from './core/command-definition';
18
+ export { t, parseCommandArgs } from './core/command-schema';
19
+ export { ExpectedFloatError, ExpectedIntegerError, DiscardWithoutMultiError, ExecWithoutMultiError, InvalidExpireTimeError, NoScriptError, RedisClusterDownError, RedisCrossSlotError, RedisCommandError, RedisMovedError, ScriptDebugModeError, ScriptCallNoCommandError, ScriptFlushOptionError, ScriptUnknownCommandError, RedisSyntaxError, TransactionDiscardedError, UnknownClusterSubcommandError, UnknownRedisCommandError, UnknownScriptSubcommandError, WatchInsideMultiError, WrongNumberOfKeysError, WrongNumberOfArgumentsError, WrongTypeRedisError, IndexOutOfRangeError, NoSuchKeyError, HashValueNotIntegerError, HashValueNotFloatError, } from './core/redis-error';
20
+ export { createClusterPolicy, createTransactionPolicy, } from './core/execution-policies';
21
+ export { createDefaultParkHandler, createNoopParkHandler, } from './core/redis-context';
22
+ export { RedisLuaRuntime, createRedisLuaRuntime, getDefaultRedisLuaRuntime, luaReplyToRedisValue, type LuaReplyValue, } from './core/lua-runtime';
23
+ export { RedisValue } from './core/redis-value';
24
+ export { RedisResult } from './core/redis-result';
25
+ export { encodeRedisResult, encodeRedisValue } from './core/resp-encoder';
26
+ export { isResponseStream } from './core/response-stream';
27
+ export { SerialTurnQueue } from './core/turn-queue';
28
+ export { REDIS_CLUSTER_SLOT_COUNT, RedisClusterTopology, RedisDatabase, RedisKeyspace, RedisMutationBus, RedisPubSubBroker, RedisScriptCache, RedisServerState, WrongRedisTypeError, cloneRedisDataValue, createHashData, createListData, createSetData, createSortedSetData, createStringData, } from './state';
29
+ export { connectionCommands, createRedisCommandExecutor, createRedisCommandRegistry, commandCommand, createClusterCommand, dbsizeCommand, delCommand, discardCommand, existsCommand, evalCommand, evalshaCommand, execCommand, expireCommand, flushallCommand, flushdbCommand, getCommand, hscanCommand, keysCommand, keysCommands, mgetCommand, multiCommand, persistCommand, pexpireCommand, pingCommand, pttlCommand, quitCommand, redisCommandDefinitions, scanCommand, scanCommands, selectCommand, setCommand, scriptCommand, scriptsCommands, sscanCommand, stringsCommands, transactionCommands, ttlCommand, typeCommand, unwatchCommand, watchCommand, zscanCommand, } from './commands';
30
+ export { Resp2CommandDecoder, Resp2ParseError, Resp2SessionAdapter, } from './core/transports/resp2';
31
+ export { Resp2Server, type Resp2ServerOptions, } from './core/transports/resp2/server';
32
+ export { InMemoryConnectionTransport } from './core/transports/in-memory-connection-transport';
33
+ export { SocketConnectionTransport } from './core/transports/socket-connection-transport';
34
+ export { RedisCluster, buildRedisCluster, computeSlotRange, type RedisClusterNodeHandle, type RedisClusterOptions, } from './cluster';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,SAAS,GACV,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAGnF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzE,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}